What is de.iterate?
de.iterate is a modern Governance, Risk, and Compliance (GRC) platform designed to help organizations manage their security and compliance programs effectively.
The Platform
de.iterate provides a comprehensive suite of tools for:
- Risk Management - Identify, assess, and mitigate organizational risks
- Control Management - Define, implement, and test security controls
- Asset Management - Track and manage your technology assets
- Policy Management - Create, publish, and maintain policy documents
- Compliance Tracking - Map controls to frameworks and track compliance status
- Audit Management - Conduct audits and track findings
- Task Management - Assign and track remediation activities
The SDK
The de.iterate SDK provides a TypeScript-first interface to the de.iterate API, enabling you to:
Automate GRC Workflows
typescript
// Automatically create tasks for overdue control assessments
const controls = await client.controls.list({
filter: { lastAssessedAt: { lt: thirtyDaysAgo } }
});
for (const control of controls.data) {
await client.tasks.create({
title: `Review control: ${control.name}`,
assignee: control.owner,
dueDate: nextWeek,
linkedControls: [control.id],
});
}Build Custom Integrations
typescript
// Sync risks from your ticketing system
for (const ticket of securityTickets) {
await client.risks.create({
name: ticket.title,
description: ticket.description,
severity: mapSeverity(ticket.priority),
source: 'ticketing-system',
});
}Generate Reports
typescript
// Export compliance data for executive reporting
const frameworks = await client.frameworks.list();
const report = [];
for (const framework of frameworks.data) {
const compliance = await client.compliance.getStatus(framework.id);
report.push({
framework: framework.name,
compliant: compliance.compliantCount,
total: compliance.totalCount,
percentage: (compliance.compliantCount / compliance.totalCount * 100).toFixed(1),
});
}
console.table(report);Monitor in Real-time
typescript
// Set up webhooks for real-time notifications
await client.webhooks.create({
url: 'https://your-app.com/webhooks/deiterate',
events: ['risk.created', 'risk.updated', 'control.failed'],
secret: 'your-webhook-secret',
});Key Features
🔒 Type Safety
Every API response is fully typed, giving you autocomplete and compile-time error checking:
typescript
const risk = await client.risks.get('risk-123');
// TypeScript knows all available properties
console.log(risk.name); // ✅ Valid
console.log(risk.severity); // ✅ Valid
console.log(risk.foobar); // ❌ Compile error📄 Auto-Pagination
Never worry about pagination limits with built-in async iterators:
typescript
// Automatically fetches all pages
for await (const risk of client.risks.listAll()) {
console.log(risk.name);
}⚡ Lightweight
The SDK has zero runtime dependencies and works in any JavaScript environment:
- Node.js 18+
- Bun 1.0+
- Deno 1.40+
- Modern browsers (with bundler)
🛡️ Error Handling
Comprehensive error types for graceful error handling:
typescript
import {
AuthenticationError,
NotFoundError,
RateLimitError
} from '@deiterate/sdk';
try {
await client.risks.get('invalid-id');
} catch (error) {
if (error instanceof NotFoundError) {
console.log('Risk not found');
} else if (error instanceof RateLimitError) {
console.log('Rate limited, retry after:', error.retryAfter);
}
}Use Cases
| Use Case | Description |
|---|---|
| CI/CD Integration | Run compliance checks as part of your deployment pipeline |
| Custom Dashboards | Build tailored GRC dashboards for different stakeholders |
| Data Sync | Keep de.iterate in sync with other business systems |
| Automated Reporting | Generate compliance reports on a schedule |
| Audit Automation | Automate evidence collection and audit workflows |
| Risk Monitoring | Build real-time risk monitoring and alerting |
Next Steps
Ready to get started? Head to the Getting Started guide to install the SDK and make your first API call.