cybertipline-tools 0.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +37 -0
- package/dist/index.d.ts +29 -0
- package/dist/index.js +30 -0
- package/dist/index.js.map +1 -0
- package/dist/types/Constants.d.ts +135 -0
- package/dist/types/Constants.js +142 -0
- package/dist/types/Constants.js.map +1 -0
- package/dist/types/TypeUtils.d.ts +3 -0
- package/dist/types/TypeUtils.js +2 -0
- package/dist/types/TypeUtils.js.map +1 -0
- package/dist/types/common/Address.d.ts +26 -0
- package/dist/types/common/Address.js +9 -0
- package/dist/types/common/Address.js.map +1 -0
- package/dist/types/common/DeviceId.d.ts +26 -0
- package/dist/types/common/DeviceId.js +16 -0
- package/dist/types/common/DeviceId.js.map +1 -0
- package/dist/types/common/Email.d.ts +18 -0
- package/dist/types/common/Email.js +7 -0
- package/dist/types/common/Email.js.map +1 -0
- package/dist/types/common/EstimatedLocation.d.ts +15 -0
- package/dist/types/common/EstimatedLocation.js +2 -0
- package/dist/types/common/EstimatedLocation.js.map +1 -0
- package/dist/types/common/IpCapture.d.ts +24 -0
- package/dist/types/common/IpCapture.js +10 -0
- package/dist/types/common/IpCapture.js.map +1 -0
- package/dist/types/common/Person.d.ts +24 -0
- package/dist/types/common/Person.js +2 -0
- package/dist/types/common/Person.js.map +1 -0
- package/dist/types/common/Phone.d.ts +25 -0
- package/dist/types/common/Phone.js +10 -0
- package/dist/types/common/Phone.js.map +1 -0
- package/dist/types/fileDetails/FileDetails.d.ts +21 -0
- package/dist/types/fileDetails/FileDetails.js +9 -0
- package/dist/types/fileDetails/FileDetails.js.map +1 -0
- package/dist/types/fileDetails/OriginalFileHash.d.ts +19 -0
- package/dist/types/fileDetails/OriginalFileHash.js +9 -0
- package/dist/types/fileDetails/OriginalFileHash.js.map +1 -0
- package/dist/types/incidents/CellPhoneIncident.d.ts +18 -0
- package/dist/types/incidents/CellPhoneIncident.js +2 -0
- package/dist/types/incidents/CellPhoneIncident.js.map +1 -0
- package/dist/types/incidents/ChatImIncident.d.ts +15 -0
- package/dist/types/incidents/ChatImIncident.js +2 -0
- package/dist/types/incidents/ChatImIncident.js.map +1 -0
- package/dist/types/incidents/EmailIncident.d.ts +14 -0
- package/dist/types/incidents/EmailIncident.js +2 -0
- package/dist/types/incidents/EmailIncident.js.map +1 -0
- package/dist/types/incidents/NewsgroupIncident.d.ts +16 -0
- package/dist/types/incidents/NewsgroupIncident.js +2 -0
- package/dist/types/incidents/NewsgroupIncident.js.map +1 -0
- package/dist/types/incidents/NonInternetIncident.d.ts +15 -0
- package/dist/types/incidents/NonInternetIncident.js +2 -0
- package/dist/types/incidents/NonInternetIncident.js.map +1 -0
- package/dist/types/incidents/OnlineGamingIncident.d.ts +15 -0
- package/dist/types/incidents/OnlineGamingIncident.js +2 -0
- package/dist/types/incidents/OnlineGamingIncident.js.map +1 -0
- package/dist/types/incidents/Peer2peerIncident.d.ts +17 -0
- package/dist/types/incidents/Peer2peerIncident.js +2 -0
- package/dist/types/incidents/Peer2peerIncident.js.map +1 -0
- package/dist/types/incidents/WebPageIncident.d.ts +15 -0
- package/dist/types/incidents/WebPageIncident.js +2 -0
- package/dist/types/incidents/WebPageIncident.js.map +1 -0
- package/dist/types/reportDetails/IncidentSummary.d.ts +18 -0
- package/dist/types/reportDetails/IncidentSummary.js +2 -0
- package/dist/types/reportDetails/IncidentSummary.js.map +1 -0
- package/dist/types/reportDetails/IntendedRecipient.d.ts +46 -0
- package/dist/types/reportDetails/IntendedRecipient.js +2 -0
- package/dist/types/reportDetails/IntendedRecipient.js.map +1 -0
- package/dist/types/reportDetails/LawEnforcement.d.ts +23 -0
- package/dist/types/reportDetails/LawEnforcement.js +2 -0
- package/dist/types/reportDetails/LawEnforcement.js.map +1 -0
- package/dist/types/reportDetails/PersonOrUserReported.d.ts +39 -0
- package/dist/types/reportDetails/PersonOrUserReported.js +2 -0
- package/dist/types/reportDetails/PersonOrUserReported.js.map +1 -0
- package/dist/types/reportDetails/Reporter.d.ts +20 -0
- package/dist/types/reportDetails/Reporter.js +2 -0
- package/dist/types/reportDetails/Reporter.js.map +1 -0
- package/dist/types/reportDetails/Victim.d.ts +35 -0
- package/dist/types/reportDetails/Victim.js +2 -0
- package/dist/types/reportDetails/Victim.js.map +1 -0
- package/dist/types/transactions/CancelReport.d.ts +22 -0
- package/dist/types/transactions/CancelReport.js +2 -0
- package/dist/types/transactions/CancelReport.js.map +1 -0
- package/dist/types/transactions/FinishReport.d.ts +22 -0
- package/dist/types/transactions/FinishReport.js +2 -0
- package/dist/types/transactions/FinishReport.js.map +1 -0
- package/dist/types/transactions/Report.d.ts +49 -0
- package/dist/types/transactions/Report.js +2 -0
- package/dist/types/transactions/Report.js.map +1 -0
- package/dist/types/transactions/SubmitFileDetails.d.ts +56 -0
- package/dist/types/transactions/SubmitFileDetails.js +2 -0
- package/dist/types/transactions/SubmitFileDetails.js.map +1 -0
- package/dist/types/transactions/UploadFile.d.ts +28 -0
- package/dist/types/transactions/UploadFile.js +2 -0
- package/dist/types/transactions/UploadFile.js.map +1 -0
- package/package.json +48 -0
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2024 Johannes Andersen
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.md
ADDED
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
# CyberTipline Tools
|
|
2
|
+
|
|
3
|
+
A **unofficial** collection of tools for interacting with the National Center for Missing & Exploited Children's [CyberTipline Reporting API](https://report.cybertip.org/ispws/documentation).
|
|
4
|
+
|
|
5
|
+
## Installation
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
pnpm install cybertipline-tools
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
## Requirements
|
|
12
|
+
|
|
13
|
+
We officially support Node.js 22.x and later, but the library may work on older versions.
|
|
14
|
+
|
|
15
|
+
The package exports ESM modules, so you may need to do some extra configuration to use it in a CommonJS environment.
|
|
16
|
+
|
|
17
|
+
## Features
|
|
18
|
+
|
|
19
|
+
- TypeScript support
|
|
20
|
+
- We export TypeScript declaration files with the package for all documented APIs.
|
|
21
|
+
- Inline documentation
|
|
22
|
+
- We document all our APIs and types with JSDoc comments to give you inline documentation in your editor.
|
|
23
|
+
|
|
24
|
+
Coming soon™️:
|
|
25
|
+
- [ ] API client, ability to call the CyberTipline APIs
|
|
26
|
+
- [ ] JSON to XML converter. Convert JSON objects to XML strings for use in the CyberTipline API.
|
|
27
|
+
- [ ] Support batch reporting
|
|
28
|
+
|
|
29
|
+
## License
|
|
30
|
+
|
|
31
|
+
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
## Links
|
|
35
|
+
|
|
36
|
+
- Official API documentation: [CyberTipline Reporting API](https://report.cybertip.org/ispws/documentation)
|
|
37
|
+
- Apply for access to [NCMEC CyberTipline](https://esp.ncmec.org/registration)
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
export * from './types/transactions/CancelReport.js';
|
|
2
|
+
export * from './types/transactions/FinishReport.js';
|
|
3
|
+
export * from './types/transactions/Report.js';
|
|
4
|
+
export * from './types/transactions/SubmitFileDetails.js';
|
|
5
|
+
export * from './types/transactions/UploadFile.js';
|
|
6
|
+
export * from './types/reportDetails/IncidentSummary.js';
|
|
7
|
+
export * from './types/reportDetails/IntendedRecipient.js';
|
|
8
|
+
export * from './types/reportDetails/LawEnforcement.js';
|
|
9
|
+
export * from './types/reportDetails/PersonOrUserReported.js';
|
|
10
|
+
export * from './types/reportDetails/Reporter.js';
|
|
11
|
+
export * from './types/reportDetails/Victim.js';
|
|
12
|
+
export * from './types/fileDetails/FileDetails.js';
|
|
13
|
+
export * from './types/fileDetails/OriginalFileHash.js';
|
|
14
|
+
export * from './types/incidents/CellPhoneIncident.js';
|
|
15
|
+
export * from './types/incidents/ChatImIncident.js';
|
|
16
|
+
export * from './types/incidents/EmailIncident.js';
|
|
17
|
+
export * from './types/incidents/NewsgroupIncident.js';
|
|
18
|
+
export * from './types/incidents/NonInternetIncident.js';
|
|
19
|
+
export * from './types/incidents/OnlineGamingIncident.js';
|
|
20
|
+
export * from './types/incidents/Peer2peerIncident.js';
|
|
21
|
+
export * from './types/incidents/WebPageIncident.js';
|
|
22
|
+
export * from './types/common/Address.js';
|
|
23
|
+
export * from './types/common/DeviceId.js';
|
|
24
|
+
export * from './types/common/Email.js';
|
|
25
|
+
export * from './types/common/EstimatedLocation.js';
|
|
26
|
+
export * from './types/common/IpCapture.js';
|
|
27
|
+
export * from './types/common/Person.js';
|
|
28
|
+
export * from './types/common/Phone.js';
|
|
29
|
+
export * from './types/Constants.js';
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
export * from './types/transactions/CancelReport.js';
|
|
2
|
+
export * from './types/transactions/FinishReport.js';
|
|
3
|
+
export * from './types/transactions/Report.js';
|
|
4
|
+
export * from './types/transactions/SubmitFileDetails.js';
|
|
5
|
+
export * from './types/transactions/UploadFile.js';
|
|
6
|
+
export * from './types/reportDetails/IncidentSummary.js';
|
|
7
|
+
export * from './types/reportDetails/IntendedRecipient.js';
|
|
8
|
+
export * from './types/reportDetails/LawEnforcement.js';
|
|
9
|
+
export * from './types/reportDetails/PersonOrUserReported.js';
|
|
10
|
+
export * from './types/reportDetails/Reporter.js';
|
|
11
|
+
export * from './types/reportDetails/Victim.js';
|
|
12
|
+
export * from './types/fileDetails/FileDetails.js';
|
|
13
|
+
export * from './types/fileDetails/OriginalFileHash.js';
|
|
14
|
+
export * from './types/incidents/CellPhoneIncident.js';
|
|
15
|
+
export * from './types/incidents/ChatImIncident.js';
|
|
16
|
+
export * from './types/incidents/EmailIncident.js';
|
|
17
|
+
export * from './types/incidents/NewsgroupIncident.js';
|
|
18
|
+
export * from './types/incidents/NonInternetIncident.js';
|
|
19
|
+
export * from './types/incidents/OnlineGamingIncident.js';
|
|
20
|
+
export * from './types/incidents/Peer2peerIncident.js';
|
|
21
|
+
export * from './types/incidents/WebPageIncident.js';
|
|
22
|
+
export * from './types/common/Address.js';
|
|
23
|
+
export * from './types/common/DeviceId.js';
|
|
24
|
+
export * from './types/common/Email.js';
|
|
25
|
+
export * from './types/common/EstimatedLocation.js';
|
|
26
|
+
export * from './types/common/IpCapture.js';
|
|
27
|
+
export * from './types/common/Person.js';
|
|
28
|
+
export * from './types/common/Phone.js';
|
|
29
|
+
export * from './types/Constants.js';
|
|
30
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,sCAAsC,CAAC;AACrD,cAAc,sCAAsC,CAAC;AACrD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,2CAA2C,CAAC;AAC1D,cAAc,oCAAoC,CAAC;AAEnD,cAAc,0CAA0C,CAAC;AACzD,cAAc,4CAA4C,CAAC;AAC3D,cAAc,yCAAyC,CAAC;AACxD,cAAc,+CAA+C,CAAC;AAC9D,cAAc,mCAAmC,CAAC;AAClD,cAAc,iCAAiC,CAAC;AAEhD,cAAc,oCAAoC,CAAC;AACnD,cAAc,yCAAyC,CAAC;AAExD,cAAc,wCAAwC,CAAC;AACvD,cAAc,qCAAqC,CAAC;AACpD,cAAc,oCAAoC,CAAC;AACnD,cAAc,wCAAwC,CAAC;AACvD,cAAc,0CAA0C,CAAC;AACzD,cAAc,2CAA2C,CAAC;AAC1D,cAAc,wCAAwC,CAAC;AACvD,cAAc,sCAAsC,CAAC;AAErD,cAAc,2BAA2B,CAAC;AAC1C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,yBAAyB,CAAC;AACxC,cAAc,qCAAqC,CAAC;AACpD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,0BAA0B,CAAC;AACzC,cAAc,yBAAyB,CAAC;AAExC,cAAc,sBAAsB,CAAC"}
|
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The response code returned from the submittal. 0 is success, any non-zero number is an error code.
|
|
3
|
+
*
|
|
4
|
+
* The following is a non-exhaustive list of possible error codes.
|
|
5
|
+
* @see https://report.cybertip.org/ispws/documentation/index.html#report-response
|
|
6
|
+
*/
|
|
7
|
+
export declare enum ResponseCode {
|
|
8
|
+
/** Success */
|
|
9
|
+
Success = 0,
|
|
10
|
+
/** Server error */
|
|
11
|
+
ServerError = 1000,
|
|
12
|
+
/** Save failed */
|
|
13
|
+
SaveFailed = 1100,
|
|
14
|
+
/** Upload failed */
|
|
15
|
+
UploadFailed = 1110,
|
|
16
|
+
/** File upload failed */
|
|
17
|
+
FileUploadFailed = 1111,
|
|
18
|
+
/** Resource not found */
|
|
19
|
+
ResourceNotFound = 1210,
|
|
20
|
+
/** Update failed */
|
|
21
|
+
UpdateFailed = 1300,
|
|
22
|
+
/** Authentication required */
|
|
23
|
+
AuthenticationRequired = 2000,
|
|
24
|
+
/** User is not authorized to perform this action */
|
|
25
|
+
NotAuthorized = 3000,
|
|
26
|
+
/** User does not have authorization to make submissions */
|
|
27
|
+
NotAuthorizedForSubmissions = 3100,
|
|
28
|
+
/** User does not have authorization to make updates */
|
|
29
|
+
NotAuthorizedForUpdates = 3300,
|
|
30
|
+
/** Invalid request */
|
|
31
|
+
InvalidRequest = 4000,
|
|
32
|
+
/** Validation failed */
|
|
33
|
+
ValidationFailed = 4100,
|
|
34
|
+
/** Malformed XML submittal */
|
|
35
|
+
MalformedXmlSubmittal = 4110,
|
|
36
|
+
/** Malformed file submittal */
|
|
37
|
+
MalformedFileSubmittal = 4200,
|
|
38
|
+
/** Report does not exist */
|
|
39
|
+
ReportDoesNotExist = 5001,
|
|
40
|
+
/** File does not exist */
|
|
41
|
+
FileDoesNotExist = 5002,
|
|
42
|
+
/** Report already retracted */
|
|
43
|
+
ReportAlreadyRetracted = 5101,
|
|
44
|
+
/** Report already finished */
|
|
45
|
+
ReportAlreadyFinished = 5102
|
|
46
|
+
}
|
|
47
|
+
export declare enum IncidentType {
|
|
48
|
+
ChildPornography = "Child Pornography (possession, manufacture, and distribution)",
|
|
49
|
+
ChildSexTrafficking = "Child Sex Trafficking",
|
|
50
|
+
ChildSexTourism = "Child Sex Tourism",
|
|
51
|
+
ChildSexualMolestation = "Child Sexual Molestation",
|
|
52
|
+
MisleadingDomainName = "Misleading Domain Name",
|
|
53
|
+
MisleadingWordsOrImages = "Misleading Words or Digital Images on the Internet",
|
|
54
|
+
OnlineEnticement = "Online Enticement of Children for Sexual Act",
|
|
55
|
+
UnsolicitedObsceneMaterial = "Unsolicited Obscene Material Sent to a Child"
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* Tags to describe the report.
|
|
59
|
+
* @see https://report.cybertip.org/ispws/documentation/index.html#report-annotations
|
|
60
|
+
*/
|
|
61
|
+
export declare enum ReportAnnotation {
|
|
62
|
+
/** The report is associated with sextortion. */
|
|
63
|
+
Sextortion = "sextortion",
|
|
64
|
+
/** The report is associated with solicitation of child sexual assault material (CSAM). */
|
|
65
|
+
CsamSolicitation = "csamSolicitation",
|
|
66
|
+
/** The report is associated with an interaction between minors. */
|
|
67
|
+
MinorToMinorInteraction = "minorToMinorInteraction",
|
|
68
|
+
/** The report is associated with spam. */
|
|
69
|
+
Spam = "spam"
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Tags used to describe a file.
|
|
73
|
+
*
|
|
74
|
+
* @see https://report.cybertip.org/ispws/documentation/index.html#file-annotations
|
|
75
|
+
*/
|
|
76
|
+
export declare enum FileAnnotations {
|
|
77
|
+
/** The file is depicting anime, drawing, cartoon, virtual or hentai. */
|
|
78
|
+
AnimeDrawingVirtualHentai = "animeDrawingVirtualHentai",
|
|
79
|
+
/** The file is being shared/posted out of mimicry or other seemingly non-malicious intent. */
|
|
80
|
+
PotentialMeme = "potentialMeme",
|
|
81
|
+
/** The file is circulating rapidly from one user to another. */
|
|
82
|
+
Viral = "viral",
|
|
83
|
+
/** The file contains content that is believed to be self-produced */
|
|
84
|
+
PossibleSelfProduction = "possibleSelfProduction",
|
|
85
|
+
/** The file depicts an intentional act of causing physical injury or trauma to a person. */
|
|
86
|
+
PhysicalHarm = "physicalHarm",
|
|
87
|
+
/** The file depicts graphic violence, including but not limited to acts of brutality or detailed or vivid gruesomeness. */
|
|
88
|
+
ViolenceGore = "violenceGore",
|
|
89
|
+
/** The file involves an animal. */
|
|
90
|
+
Bestiality = "bestiality",
|
|
91
|
+
/** The file depicts content that was streamed live at the time it was uploaded. */
|
|
92
|
+
LiveStreaming = "liveStreaming",
|
|
93
|
+
/** The file depicts an infant. */
|
|
94
|
+
Infant = "infant",
|
|
95
|
+
/** The file contains content that is believed to be Generative Artificial Intelligence. */
|
|
96
|
+
GenerativeAI = "generativeAi"
|
|
97
|
+
}
|
|
98
|
+
export declare enum FileRelevance {
|
|
99
|
+
/** Content that is the motivation for making the CyberTipline report, according to the chosen incident type.
|
|
100
|
+
*
|
|
101
|
+
* Only "Reported" files may be identified as potential meme or be given an industry classification.
|
|
102
|
+
*/
|
|
103
|
+
Reported = "Reported",
|
|
104
|
+
/** Supplementary content that provides contextual value to the report.
|
|
105
|
+
*
|
|
106
|
+
* A part of the communication containing apparent child pornography, including any data or information regarding the transmission of the communication
|
|
107
|
+
* or any images, data, or other digital files contained in, or attached to, the communication (18 U.S. Code § 2258A (b)(5)).
|
|
108
|
+
*/
|
|
109
|
+
SupplementalReported = "Supplemental Reported"
|
|
110
|
+
}
|
|
111
|
+
/**
|
|
112
|
+
* A = Prepubescent Minor
|
|
113
|
+
* B = Pubescent Minor
|
|
114
|
+
*
|
|
115
|
+
* 1 (Sex Act): Any imagery depicting sexual intercourse (
|
|
116
|
+
* including genital-genital, oral-genital, anal-genital,
|
|
117
|
+
* or oral-anal whether between person of the same or opposite sex),
|
|
118
|
+
* bestiality, masturbation, sadistic or masochistic abuse, degradation,
|
|
119
|
+
* or any such depiction of the above that lacks serious literary, artistic, political, or scientific value.
|
|
120
|
+
*
|
|
121
|
+
* 2 (Lascivious Exhibition): Any imagery depicting the lascivious exhibition of the anus, genitals, or pubic area of any person,
|
|
122
|
+
* where a minor is engaging in the lascivious exhibition or being used in connection with sexually explicit conduct,
|
|
123
|
+
* which may include but is not limited to imagery where the focal point is on the child's anus, genitals,
|
|
124
|
+
* or pubic area and where the depiction is intended or designed to elicit a sexual response in the viewer.
|
|
125
|
+
*/
|
|
126
|
+
export declare enum IndustryClassification {
|
|
127
|
+
/** Prepubescent Minor - Sex Act*/
|
|
128
|
+
A1 = "A1",
|
|
129
|
+
/** Prepubescent Minor - Lascivious Exhibition */
|
|
130
|
+
A2 = "A2",
|
|
131
|
+
/** Pubescent Minor - Sex Act */
|
|
132
|
+
B1 = "B1",
|
|
133
|
+
/** Pubescent Minor - Lascivious Exhibition */
|
|
134
|
+
B2 = "B2"
|
|
135
|
+
}
|
|
@@ -0,0 +1,142 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The response code returned from the submittal. 0 is success, any non-zero number is an error code.
|
|
3
|
+
*
|
|
4
|
+
* The following is a non-exhaustive list of possible error codes.
|
|
5
|
+
* @see https://report.cybertip.org/ispws/documentation/index.html#report-response
|
|
6
|
+
*/
|
|
7
|
+
export var ResponseCode;
|
|
8
|
+
(function (ResponseCode) {
|
|
9
|
+
/** Success */
|
|
10
|
+
ResponseCode[ResponseCode["Success"] = 0] = "Success";
|
|
11
|
+
/** Server error */
|
|
12
|
+
ResponseCode[ResponseCode["ServerError"] = 1000] = "ServerError";
|
|
13
|
+
/** Save failed */
|
|
14
|
+
ResponseCode[ResponseCode["SaveFailed"] = 1100] = "SaveFailed";
|
|
15
|
+
/** Upload failed */
|
|
16
|
+
ResponseCode[ResponseCode["UploadFailed"] = 1110] = "UploadFailed";
|
|
17
|
+
/** File upload failed */
|
|
18
|
+
ResponseCode[ResponseCode["FileUploadFailed"] = 1111] = "FileUploadFailed";
|
|
19
|
+
/** Resource not found */
|
|
20
|
+
ResponseCode[ResponseCode["ResourceNotFound"] = 1210] = "ResourceNotFound";
|
|
21
|
+
/** Update failed */
|
|
22
|
+
ResponseCode[ResponseCode["UpdateFailed"] = 1300] = "UpdateFailed";
|
|
23
|
+
/** Authentication required */
|
|
24
|
+
ResponseCode[ResponseCode["AuthenticationRequired"] = 2000] = "AuthenticationRequired";
|
|
25
|
+
/** User is not authorized to perform this action */
|
|
26
|
+
ResponseCode[ResponseCode["NotAuthorized"] = 3000] = "NotAuthorized";
|
|
27
|
+
/** User does not have authorization to make submissions */
|
|
28
|
+
ResponseCode[ResponseCode["NotAuthorizedForSubmissions"] = 3100] = "NotAuthorizedForSubmissions";
|
|
29
|
+
/** User does not have authorization to make updates */
|
|
30
|
+
ResponseCode[ResponseCode["NotAuthorizedForUpdates"] = 3300] = "NotAuthorizedForUpdates";
|
|
31
|
+
/** Invalid request */
|
|
32
|
+
ResponseCode[ResponseCode["InvalidRequest"] = 4000] = "InvalidRequest";
|
|
33
|
+
/** Validation failed */
|
|
34
|
+
ResponseCode[ResponseCode["ValidationFailed"] = 4100] = "ValidationFailed";
|
|
35
|
+
/** Malformed XML submittal */
|
|
36
|
+
ResponseCode[ResponseCode["MalformedXmlSubmittal"] = 4110] = "MalformedXmlSubmittal";
|
|
37
|
+
/** Malformed file submittal */
|
|
38
|
+
ResponseCode[ResponseCode["MalformedFileSubmittal"] = 4200] = "MalformedFileSubmittal";
|
|
39
|
+
/** Report does not exist */
|
|
40
|
+
ResponseCode[ResponseCode["ReportDoesNotExist"] = 5001] = "ReportDoesNotExist";
|
|
41
|
+
/** File does not exist */
|
|
42
|
+
ResponseCode[ResponseCode["FileDoesNotExist"] = 5002] = "FileDoesNotExist";
|
|
43
|
+
/** Report already retracted */
|
|
44
|
+
ResponseCode[ResponseCode["ReportAlreadyRetracted"] = 5101] = "ReportAlreadyRetracted";
|
|
45
|
+
/** Report already finished */
|
|
46
|
+
ResponseCode[ResponseCode["ReportAlreadyFinished"] = 5102] = "ReportAlreadyFinished";
|
|
47
|
+
})(ResponseCode || (ResponseCode = {}));
|
|
48
|
+
export var IncidentType;
|
|
49
|
+
(function (IncidentType) {
|
|
50
|
+
IncidentType["ChildPornography"] = "Child Pornography (possession, manufacture, and distribution)";
|
|
51
|
+
IncidentType["ChildSexTrafficking"] = "Child Sex Trafficking";
|
|
52
|
+
IncidentType["ChildSexTourism"] = "Child Sex Tourism";
|
|
53
|
+
IncidentType["ChildSexualMolestation"] = "Child Sexual Molestation";
|
|
54
|
+
IncidentType["MisleadingDomainName"] = "Misleading Domain Name";
|
|
55
|
+
IncidentType["MisleadingWordsOrImages"] = "Misleading Words or Digital Images on the Internet";
|
|
56
|
+
IncidentType["OnlineEnticement"] = "Online Enticement of Children for Sexual Act";
|
|
57
|
+
IncidentType["UnsolicitedObsceneMaterial"] = "Unsolicited Obscene Material Sent to a Child";
|
|
58
|
+
})(IncidentType || (IncidentType = {}));
|
|
59
|
+
/**
|
|
60
|
+
* Tags to describe the report.
|
|
61
|
+
* @see https://report.cybertip.org/ispws/documentation/index.html#report-annotations
|
|
62
|
+
*/
|
|
63
|
+
export var ReportAnnotation;
|
|
64
|
+
(function (ReportAnnotation) {
|
|
65
|
+
/** The report is associated with sextortion. */
|
|
66
|
+
ReportAnnotation["Sextortion"] = "sextortion";
|
|
67
|
+
/** The report is associated with solicitation of child sexual assault material (CSAM). */
|
|
68
|
+
ReportAnnotation["CsamSolicitation"] = "csamSolicitation";
|
|
69
|
+
/** The report is associated with an interaction between minors. */
|
|
70
|
+
ReportAnnotation["MinorToMinorInteraction"] = "minorToMinorInteraction";
|
|
71
|
+
/** The report is associated with spam. */
|
|
72
|
+
ReportAnnotation["Spam"] = "spam";
|
|
73
|
+
})(ReportAnnotation || (ReportAnnotation = {}));
|
|
74
|
+
/**
|
|
75
|
+
* Tags used to describe a file.
|
|
76
|
+
*
|
|
77
|
+
* @see https://report.cybertip.org/ispws/documentation/index.html#file-annotations
|
|
78
|
+
*/
|
|
79
|
+
export var FileAnnotations;
|
|
80
|
+
(function (FileAnnotations) {
|
|
81
|
+
/** The file is depicting anime, drawing, cartoon, virtual or hentai. */
|
|
82
|
+
FileAnnotations["AnimeDrawingVirtualHentai"] = "animeDrawingVirtualHentai";
|
|
83
|
+
/** The file is being shared/posted out of mimicry or other seemingly non-malicious intent. */
|
|
84
|
+
FileAnnotations["PotentialMeme"] = "potentialMeme";
|
|
85
|
+
/** The file is circulating rapidly from one user to another. */
|
|
86
|
+
FileAnnotations["Viral"] = "viral";
|
|
87
|
+
/** The file contains content that is believed to be self-produced */
|
|
88
|
+
FileAnnotations["PossibleSelfProduction"] = "possibleSelfProduction";
|
|
89
|
+
/** The file depicts an intentional act of causing physical injury or trauma to a person. */
|
|
90
|
+
FileAnnotations["PhysicalHarm"] = "physicalHarm";
|
|
91
|
+
/** The file depicts graphic violence, including but not limited to acts of brutality or detailed or vivid gruesomeness. */
|
|
92
|
+
FileAnnotations["ViolenceGore"] = "violenceGore";
|
|
93
|
+
/** The file involves an animal. */
|
|
94
|
+
FileAnnotations["Bestiality"] = "bestiality";
|
|
95
|
+
/** The file depicts content that was streamed live at the time it was uploaded. */
|
|
96
|
+
FileAnnotations["LiveStreaming"] = "liveStreaming";
|
|
97
|
+
/** The file depicts an infant. */
|
|
98
|
+
FileAnnotations["Infant"] = "infant";
|
|
99
|
+
/** The file contains content that is believed to be Generative Artificial Intelligence. */
|
|
100
|
+
FileAnnotations["GenerativeAI"] = "generativeAi";
|
|
101
|
+
})(FileAnnotations || (FileAnnotations = {}));
|
|
102
|
+
export var FileRelevance;
|
|
103
|
+
(function (FileRelevance) {
|
|
104
|
+
/** Content that is the motivation for making the CyberTipline report, according to the chosen incident type.
|
|
105
|
+
*
|
|
106
|
+
* Only "Reported" files may be identified as potential meme or be given an industry classification.
|
|
107
|
+
*/
|
|
108
|
+
FileRelevance["Reported"] = "Reported";
|
|
109
|
+
/** Supplementary content that provides contextual value to the report.
|
|
110
|
+
*
|
|
111
|
+
* A part of the communication containing apparent child pornography, including any data or information regarding the transmission of the communication
|
|
112
|
+
* or any images, data, or other digital files contained in, or attached to, the communication (18 U.S. Code § 2258A (b)(5)).
|
|
113
|
+
*/
|
|
114
|
+
FileRelevance["SupplementalReported"] = "Supplemental Reported";
|
|
115
|
+
})(FileRelevance || (FileRelevance = {}));
|
|
116
|
+
/**
|
|
117
|
+
* A = Prepubescent Minor
|
|
118
|
+
* B = Pubescent Minor
|
|
119
|
+
*
|
|
120
|
+
* 1 (Sex Act): Any imagery depicting sexual intercourse (
|
|
121
|
+
* including genital-genital, oral-genital, anal-genital,
|
|
122
|
+
* or oral-anal whether between person of the same or opposite sex),
|
|
123
|
+
* bestiality, masturbation, sadistic or masochistic abuse, degradation,
|
|
124
|
+
* or any such depiction of the above that lacks serious literary, artistic, political, or scientific value.
|
|
125
|
+
*
|
|
126
|
+
* 2 (Lascivious Exhibition): Any imagery depicting the lascivious exhibition of the anus, genitals, or pubic area of any person,
|
|
127
|
+
* where a minor is engaging in the lascivious exhibition or being used in connection with sexually explicit conduct,
|
|
128
|
+
* which may include but is not limited to imagery where the focal point is on the child's anus, genitals,
|
|
129
|
+
* or pubic area and where the depiction is intended or designed to elicit a sexual response in the viewer.
|
|
130
|
+
*/
|
|
131
|
+
export var IndustryClassification;
|
|
132
|
+
(function (IndustryClassification) {
|
|
133
|
+
/** Prepubescent Minor - Sex Act*/
|
|
134
|
+
IndustryClassification["A1"] = "A1";
|
|
135
|
+
/** Prepubescent Minor - Lascivious Exhibition */
|
|
136
|
+
IndustryClassification["A2"] = "A2";
|
|
137
|
+
/** Pubescent Minor - Sex Act */
|
|
138
|
+
IndustryClassification["B1"] = "B1";
|
|
139
|
+
/** Pubescent Minor - Lascivious Exhibition */
|
|
140
|
+
IndustryClassification["B2"] = "B2";
|
|
141
|
+
})(IndustryClassification || (IndustryClassification = {}));
|
|
142
|
+
//# sourceMappingURL=Constants.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Constants.js","sourceRoot":"","sources":["../../src/types/Constants.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,MAAM,CAAN,IAAY,YAuCX;AAvCD,WAAY,YAAY;IACtB,cAAc;IACd,qDAAW,CAAA;IACX,mBAAmB;IACnB,gEAAkB,CAAA;IAClB,kBAAkB;IAClB,8DAAiB,CAAA;IACjB,oBAAoB;IACpB,kEAAmB,CAAA;IACnB,yBAAyB;IACzB,0EAAuB,CAAA;IACvB,yBAAyB;IACzB,0EAAuB,CAAA;IACvB,oBAAoB;IACpB,kEAAmB,CAAA;IACnB,8BAA8B;IAC9B,sFAA6B,CAAA;IAC7B,oDAAoD;IACpD,oEAAoB,CAAA;IACpB,2DAA2D;IAC3D,gGAAkC,CAAA;IAClC,uDAAuD;IACvD,wFAA8B,CAAA;IAC9B,sBAAsB;IACtB,sEAAqB,CAAA;IACrB,wBAAwB;IACxB,0EAAuB,CAAA;IACvB,8BAA8B;IAC9B,oFAA4B,CAAA;IAC5B,+BAA+B;IAC/B,sFAA6B,CAAA;IAC7B,4BAA4B;IAC5B,8EAAyB,CAAA;IACzB,0BAA0B;IAC1B,0EAAuB,CAAA;IACvB,+BAA+B;IAC/B,sFAA6B,CAAA;IAC7B,8BAA8B;IAC9B,oFAA4B,CAAA;AAC9B,CAAC,EAvCW,YAAY,KAAZ,YAAY,QAuCvB;AAED,MAAM,CAAN,IAAY,YASX;AATD,WAAY,YAAY;IACtB,kGAAkF,CAAA;IAClF,6DAA6C,CAAA;IAC7C,qDAAqC,CAAA;IACrC,mEAAmD,CAAA;IACnD,+DAA+C,CAAA;IAC/C,8FAA8E,CAAA;IAC9E,iFAAiE,CAAA;IACjE,2FAA2E,CAAA;AAC7E,CAAC,EATW,YAAY,KAAZ,YAAY,QASvB;AAED;;;GAGG;AACH,MAAM,CAAN,IAAY,gBASX;AATD,WAAY,gBAAgB;IAC1B,gDAAgD;IAChD,6CAAyB,CAAA;IACzB,0FAA0F;IAC1F,yDAAqC,CAAA;IACrC,mEAAmE;IACnE,uEAAmD,CAAA;IACnD,0CAA0C;IAC1C,iCAAa,CAAA;AACf,CAAC,EATW,gBAAgB,KAAhB,gBAAgB,QAS3B;AAED;;;;GAIG;AACH,MAAM,CAAN,IAAY,eAqBX;AArBD,WAAY,eAAe;IACzB,wEAAwE;IACxE,0EAAuD,CAAA;IACvD,8FAA8F;IAC9F,kDAA+B,CAAA;IAC/B,gEAAgE;IAChE,kCAAe,CAAA;IACf,qEAAqE;IACrE,oEAAiD,CAAA;IACjD,4FAA4F;IAC5F,gDAA6B,CAAA;IAC7B,2HAA2H;IAC3H,gDAA6B,CAAA;IAC7B,mCAAmC;IACnC,4CAAyB,CAAA;IACzB,mFAAmF;IACnF,kDAA+B,CAAA;IAC/B,kCAAkC;IAClC,oCAAiB,CAAA;IACjB,2FAA2F;IAC3F,gDAA6B,CAAA;AAC/B,CAAC,EArBW,eAAe,KAAf,eAAe,QAqB1B;AAED,MAAM,CAAN,IAAY,aAYX;AAZD,WAAY,aAAa;IACvB;;;OAGG;IACH,sCAAqB,CAAA;IACrB;;;;OAIG;IACH,+DAA8C,CAAA;AAChD,CAAC,EAZW,aAAa,KAAb,aAAa,QAYxB;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAN,IAAY,sBASX;AATD,WAAY,sBAAsB;IAChC,kCAAkC;IAClC,mCAAS,CAAA;IACT,iDAAiD;IACjD,mCAAS,CAAA;IACT,gCAAgC;IAChC,mCAAS,CAAA;IACT,8CAA8C;IAC9C,mCAAS,CAAA;AACX,CAAC,EATW,sBAAsB,KAAtB,sBAAsB,QASjC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TypeUtils.js","sourceRoot":"","sources":["../../src/types/TypeUtils.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
export declare enum AddressType {
|
|
2
|
+
Home = "Home",
|
|
3
|
+
Business = "Business",
|
|
4
|
+
Billing = "Billing",
|
|
5
|
+
Shipping = "Shipping",
|
|
6
|
+
Technical = "Technical"
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* A physical street address.
|
|
10
|
+
*/
|
|
11
|
+
export interface Address {
|
|
12
|
+
/** Street address. */
|
|
13
|
+
address?: string;
|
|
14
|
+
/** City. */
|
|
15
|
+
city?: string;
|
|
16
|
+
/** Zip or postal code. */
|
|
17
|
+
zipCode?: string;
|
|
18
|
+
/** US state or territory postal abbreviation. */
|
|
19
|
+
state?: string;
|
|
20
|
+
/** State, province, or region if not in the United States. */
|
|
21
|
+
nonUsaState?: string;
|
|
22
|
+
/** ISO 3166-1 alpha-2 two-character country code. */
|
|
23
|
+
country?: string;
|
|
24
|
+
/** Type of address. */
|
|
25
|
+
type?: AddressType;
|
|
26
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export var AddressType;
|
|
2
|
+
(function (AddressType) {
|
|
3
|
+
AddressType["Home"] = "Home";
|
|
4
|
+
AddressType["Business"] = "Business";
|
|
5
|
+
AddressType["Billing"] = "Billing";
|
|
6
|
+
AddressType["Shipping"] = "Shipping";
|
|
7
|
+
AddressType["Technical"] = "Technical";
|
|
8
|
+
})(AddressType || (AddressType = {}));
|
|
9
|
+
//# sourceMappingURL=Address.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Address.js","sourceRoot":"","sources":["../../../src/types/common/Address.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,WAMX;AAND,WAAY,WAAW;IACrB,4BAAa,CAAA;IACb,oCAAqB,CAAA;IACrB,kCAAmB,CAAA;IACnB,oCAAqB,CAAA;IACrB,sCAAuB,CAAA;AACzB,CAAC,EANW,WAAW,KAAX,WAAW,QAMtB"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
export declare enum DeviceEventName {
|
|
2
|
+
Login = "Login",
|
|
3
|
+
Registration = "Registration",
|
|
4
|
+
Purchase = "Purchase",
|
|
5
|
+
Upload = "Upload",
|
|
6
|
+
Other = "Other",
|
|
7
|
+
Unknown = "Unknown"
|
|
8
|
+
}
|
|
9
|
+
export declare enum DeviceIdType {
|
|
10
|
+
IMEI = "IMEI",
|
|
11
|
+
ICCID = "ICCID",
|
|
12
|
+
SSID = "SSID"
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* A capture of a device ID. Similar to <ipCaptureEvent>.
|
|
16
|
+
* Used to report information such as ICCID or IMEI numbers associated with an event.
|
|
17
|
+
*/
|
|
18
|
+
export interface DeviceId {
|
|
19
|
+
/** The type of device ID captured (e.g., IMEI, ICCID, SSID). */
|
|
20
|
+
idType: DeviceIdType | string;
|
|
21
|
+
idValue: string;
|
|
22
|
+
/** The type of event from which the device ID was captured. */
|
|
23
|
+
eventName?: DeviceEventName;
|
|
24
|
+
/** The date and time the device ID was captured. */
|
|
25
|
+
dateTime?: Date;
|
|
26
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
export var DeviceEventName;
|
|
2
|
+
(function (DeviceEventName) {
|
|
3
|
+
DeviceEventName["Login"] = "Login";
|
|
4
|
+
DeviceEventName["Registration"] = "Registration";
|
|
5
|
+
DeviceEventName["Purchase"] = "Purchase";
|
|
6
|
+
DeviceEventName["Upload"] = "Upload";
|
|
7
|
+
DeviceEventName["Other"] = "Other";
|
|
8
|
+
DeviceEventName["Unknown"] = "Unknown";
|
|
9
|
+
})(DeviceEventName || (DeviceEventName = {}));
|
|
10
|
+
export var DeviceIdType;
|
|
11
|
+
(function (DeviceIdType) {
|
|
12
|
+
DeviceIdType["IMEI"] = "IMEI";
|
|
13
|
+
DeviceIdType["ICCID"] = "ICCID";
|
|
14
|
+
DeviceIdType["SSID"] = "SSID";
|
|
15
|
+
})(DeviceIdType || (DeviceIdType = {}));
|
|
16
|
+
//# sourceMappingURL=DeviceId.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DeviceId.js","sourceRoot":"","sources":["../../../src/types/common/DeviceId.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,eAOX;AAPD,WAAY,eAAe;IACzB,kCAAe,CAAA;IACf,gDAA6B,CAAA;IAC7B,wCAAqB,CAAA;IACrB,oCAAiB,CAAA;IACjB,kCAAe,CAAA;IACf,sCAAmB,CAAA;AACrB,CAAC,EAPW,eAAe,KAAf,eAAe,QAO1B;AAED,MAAM,CAAN,IAAY,YAIX;AAJD,WAAY,YAAY;IACtB,6BAAa,CAAA;IACb,+BAAe,CAAA;IACf,6BAAa,CAAA;AACf,CAAC,EAJW,YAAY,KAAZ,YAAY,QAIvB"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
export declare enum EmailType {
|
|
2
|
+
Home = "Home",
|
|
3
|
+
Work = "Work",
|
|
4
|
+
Business = "Business"
|
|
5
|
+
}
|
|
6
|
+
/**
|
|
7
|
+
* An email address.
|
|
8
|
+
*/
|
|
9
|
+
export interface Email {
|
|
10
|
+
/** The email address. */
|
|
11
|
+
email: string;
|
|
12
|
+
/** Type of email address. */
|
|
13
|
+
type?: EmailType;
|
|
14
|
+
/** Whether the reporter has verified the email address. */
|
|
15
|
+
verified?: boolean;
|
|
16
|
+
/** The date and time that the reporter last verified the email address. */
|
|
17
|
+
verificationDate?: string;
|
|
18
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Email.js","sourceRoot":"","sources":["../../../src/types/common/Email.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,SAIX;AAJD,WAAY,SAAS;IACnB,0BAAa,CAAA;IACb,0BAAa,CAAA;IACb,kCAAqB,CAAA;AACvB,CAAC,EAJW,SAAS,KAAT,SAAS,QAIpB"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* An estimated location.
|
|
3
|
+
*/
|
|
4
|
+
export interface EstimatedLocation {
|
|
5
|
+
/** The city of the estimated location. */
|
|
6
|
+
city?: string;
|
|
7
|
+
/** The region of the estimated location. */
|
|
8
|
+
region?: string;
|
|
9
|
+
/** ISO 3166-1 alpha-2 two-character country code of the estimated location. */
|
|
10
|
+
countryCode?: string;
|
|
11
|
+
/** Whether the reporter has verified the estimated location. */
|
|
12
|
+
verified?: boolean;
|
|
13
|
+
/** The date and time the reporter made the location estimation. */
|
|
14
|
+
timestamp?: Date;
|
|
15
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EstimatedLocation.js","sourceRoot":"","sources":["../../../src/types/common/EstimatedLocation.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
export declare enum IPEventName {
|
|
2
|
+
Login = "Login",
|
|
3
|
+
Registration = "Registration",
|
|
4
|
+
Purchase = "Purchase",
|
|
5
|
+
Upload = "Upload",
|
|
6
|
+
Other = "Other",
|
|
7
|
+
Unknown = "Unknown"
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* A capture of an IP address. For example, the IP address of the computer a user used
|
|
11
|
+
* to upload a csam picture and the time the upload happened.
|
|
12
|
+
*/
|
|
13
|
+
export interface IpCapture {
|
|
14
|
+
/** The IP address from which the event occurred. */
|
|
15
|
+
ipAddress: string;
|
|
16
|
+
/** The type of event from which the IP address was captured. */
|
|
17
|
+
eventName?: IPEventName;
|
|
18
|
+
/** The date and time the IP address was captured. */
|
|
19
|
+
dateTime?: Date;
|
|
20
|
+
/** Whether the reporter has reason to believe this IP address is a proxy. */
|
|
21
|
+
possibleProxy?: boolean;
|
|
22
|
+
/** The port number of the IP address. */
|
|
23
|
+
port?: number;
|
|
24
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export var IPEventName;
|
|
2
|
+
(function (IPEventName) {
|
|
3
|
+
IPEventName["Login"] = "Login";
|
|
4
|
+
IPEventName["Registration"] = "Registration";
|
|
5
|
+
IPEventName["Purchase"] = "Purchase";
|
|
6
|
+
IPEventName["Upload"] = "Upload";
|
|
7
|
+
IPEventName["Other"] = "Other";
|
|
8
|
+
IPEventName["Unknown"] = "Unknown";
|
|
9
|
+
})(IPEventName || (IPEventName = {}));
|
|
10
|
+
//# sourceMappingURL=IpCapture.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IpCapture.js","sourceRoot":"","sources":["../../../src/types/common/IpCapture.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,WAOX;AAPD,WAAY,WAAW;IACrB,8BAAe,CAAA;IACf,4CAA6B,CAAA;IAC7B,oCAAqB,CAAA;IACrB,gCAAiB,CAAA;IACjB,8BAAe,CAAA;IACf,kCAAmB,CAAA;AACrB,CAAC,EAPW,WAAW,KAAX,WAAW,QAOtB"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import type { Address } from './Address.js';
|
|
2
|
+
import type { Email } from './Email.js';
|
|
3
|
+
import type { Phone } from './Phone.js';
|
|
4
|
+
/** A real world person. */
|
|
5
|
+
export interface Person {
|
|
6
|
+
/** The person’s first name. */
|
|
7
|
+
firstName?: string;
|
|
8
|
+
/** The person’s last name. */
|
|
9
|
+
lastName?: string;
|
|
10
|
+
/** A phone number. */
|
|
11
|
+
phone?: Array<Phone>;
|
|
12
|
+
/** An email address. */
|
|
13
|
+
email?: Array<Email>;
|
|
14
|
+
/** A physical address. */
|
|
15
|
+
address?: Array<Address>;
|
|
16
|
+
/** The person’s approximate age. */
|
|
17
|
+
age?: number;
|
|
18
|
+
/** The person’s date of birth. */
|
|
19
|
+
dateOfBirth?: Date;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* A real world person with information pertinent for professional contact.
|
|
23
|
+
*/
|
|
24
|
+
export type ContactPerson = Omit<Person, 'age' | 'dateOfBirth'>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Person.js","sourceRoot":"","sources":["../../../src/types/common/Person.ts"],"names":[],"mappings":""}
|