
Product
Introducing Socket Scanning for OpenVSX Extensions
Socket now scans OpenVSX extensions, giving teams early detection of risky behaviors, hidden capabilities, and supply chain threats in developer tools.
cybertipline-tools
Advanced tools
Unofficial Types and Utilities for working with the CyberTipline API
A unofficial collection of tools for interacting with the National Center for Missing & Exploited Children's CyberTipline Reporting API.
# Using pnpm
pnpm add cybertipline-tools
# Using npm
npm install cybertipline-tools
# Using yarn
yarn add cybertipline-tools
import { Client, Environment, IncidentType } from 'cybertipline-tools';
// Create a new client
const client = new Client({
environment: Environment.Testing, // Use Testing for development
credentials: {
username: 'your-username',
password: 'your-password',
},
});
// Test your connection
const status = await client.getStatus();
console.log('Connected:', status.data.responseDescription);
// Submit a report
const report = await client.submitReport({
incidentSummary: {
incidentType: IncidentType.ChildSexTourism,
// ... other required fields
},
reporter: {
reportingPerson: {
email: 'reporter@example.com',
// ... other required fields
},
},
});
console.log('Report ID:', report.data.reportId);
// Upload a file
const fileUpload = await client.uploadFile({
id: report.data.reportId,
file: new File(['...'], 'evidence.jpg'),
});
console.log('File ID:', fileUpload.data.fileId);
// Add file details
await client.submitFileDetails({
reportId: Number(report.data.reportId),
fileId: fileUpload.data.fileId,
fileName: 'evidence.jpg',
// ... other optional fields
});
// Mark report as complete
await client.finishReport({
id: report.data.reportId,
});
✨ Type Safety
🐛 Error Handling
🛠️ API Support
GET /status - Test API connectivity
POST /submit - Submit new reports
POST /upload - Upload evidence files
POST /fileinfo - Add file metadata
POST /finish - Complete reports
POST /retract - Cancel reports
You provide JSON, we convert it to XML and back, so no need to worry about XML!
The client includes built-in error handling:
try {
await client.getStatus();
} catch (error) {
// All API errors include the Request-ID for troubleshooting
console.error('API Error:', error.message);
// Example: "Authentication failed (Request-ID: abc-123)"
}
🚧 Todo
🔮 Possible Future Plans
MIT License - see the LICENSE file for details.
FAQs
Unofficial Types and Utilities for working with the CyberTipline API
The npm package cybertipline-tools receives a total of 1 weekly downloads. As such, cybertipline-tools popularity was classified as not popular.
We found that cybertipline-tools demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Product
Socket now scans OpenVSX extensions, giving teams early detection of risky behaviors, hidden capabilities, and supply chain threats in developer tools.

Product
Bringing supply chain security to the next generation of JavaScript package managers

Product
A safer, faster way to eliminate vulnerabilities without updating dependencies