damaas-node
v1.0.1
Published
Node.js SDK for DaMaaS (Data Minimization as a Service) - Automate GDPR & ISO 27001 data retention compliance
Maintainers
Readme
DaMaaS Node.js SDK
damaas-node is the official Node.js client library for DaMaaS (Data Minimization as a Service) - "Don't be a DaMaaS. Automate your compliance."
Offload your database retention policy, legal 30-day warning emails, and audit-ready Certificates of Deletion to DaMaaS with a single API ping.
Installation
Install the package via npm, pnpm, or yarn:
npm install damaas-node
# or
pnpm add damaas-node
# or
yarn add damaas-nodeQuick Start
1. Initialize the Client
Initialize the client with your live project API key:
import { createClient } from 'damaas-node';
const damaas = createClient({
apiKey: 'dm_live_...', // Replace with your DaMaaS API key from dashboard
// Optional: baseUrl: 'https://damaas.dev/api'
});2. Track User Activity
Drop damaas.track in your auth, login, or billing middleware routes to signal that a user is active. This resets their retention clock to zero:
// Inside your login or request route:
try {
const result = await damaas.track(user.id, {
email: user.email,
ip_address: req.ip,
interface: 'web-dashboard'
});
if (result.success) {
console.log('Clock reset for user:', result.data.userId);
} else {
console.warn('DaMaaS warning:', result.error);
}
} catch (error) {
console.error('Failed to track user on DaMaaS:', error);
}Features
- Lightweight & Fast: Minimal external dependencies, built on modern fetch APIs.
- Full Type Safety: Written in TypeScript with complete declarations out-of-the-box.
- Timeout Protection: Request timeouts prevent blocking your critical application routes.
- Fail-Safe Operation: Gracefully handles communication failures so that a DaMaaS network issue never crashes your primary database.
API Reference
createClient(config: DaMaaSConfig)
Creates an instance of the DaMaaSClient.
config.apiKey(Required): Your project API Key (dm_live_...).config.baseUrl(Optional): Alternative target endpoint (defaults tohttps://damaas.dev/api).config.timeout(Optional): Request timeout in milliseconds (defaults to5000ms).
damaas.track(userId: string, metadata?: object)
Resets the retention clock for the specified user_id.
userId(Required): The unique identifier of the user in your database.metadata(Optional): Contextual structured data to aid with reporting and dashboard analysis.
License
MIT © DaMaaS
