oreppo
v0.0.3
Published
Oreppo's OpenTelemetry SDK for privacy scanning.
Readme
IMPORTANT NOTE: Oreppo does NOT collect actual HTTP bodies and headers, only parameter names.
Oreppo Node SDK
Oreppo is an OpenTelemetry-based SDK for privacy scanning and monitoring in Node.js applications. It automatically instruments your application to collect HTTP and database traces while respecting privacy concerns.
Installation
npm install oreppoor
yarn add oreppoQuickstart
import { Oreppo } from 'oreppo';
// Initialize the SDK
const oreppo = new Oreppo({
apiKey: 'your-api-key',
applicationId: 'your-app-id',
});
// Start the SDK
await oreppo.start();
// Your application code here...
// Shutdown when your app terminates
await oreppo.shutdown();Configuration
The SDK accepts the following configuration options:
| Option | Type | Required | Default | Description |
|--------|------|----------|---------|-------------|
| apiKey | string | Yes | - | Your Oreppo API key |
| applicationId | string | Yes | - | Unique identifier for your application from Oreppo |
| flushMs | number | No | 60000 | Interval (in ms) to flush traces to backend |
| debug | boolean | No | false | Enable debug logging |
Features
- Automatic instrumentation of HTTP requests
- Database query monitoring (PostgreSQL, Redis, MySQL, MongoDB)
- Privacy-aware data collection
- Automatic trace aggregation
- Configurable flush intervals
Privacy Considerations
The SDK is designed with privacy in mind:
- HTTP bodies and headers are not stored, only parameter names
- Database queries are collected without actual values
- Personal data is never transmitted to our servers
Automatic Instrumentation
The SDK automatically instruments:
HTTP Requests
- Request methods
- URLs
- Query parameter names (NOT the values)
- Status codes
- Response times
- Request body parameter names (NOT the values)
- Request header parameter names (NOT the values)
Database Operations
- Database system (e.g. PostgreSQL, MySQL, MongoDB)
- Database query
- NOTE: Oreppo does NOT collect actual database values, only parameter names.
Manual Shutdown
It's important to properly shutdown the SDK when your application terminates:
process.on('SIGTERM', async () => {
await oreppo.shutdown();
process.exit(0);
});Development
To build the package locally, run:
npm run buildSupport
For support, please contact [email protected] or open an issue on our GitHub repository.
