Skip to content

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 CaseDescription
CI/CD IntegrationRun compliance checks as part of your deployment pipeline
Custom DashboardsBuild tailored GRC dashboards for different stakeholders
Data SyncKeep de.iterate in sync with other business systems
Automated ReportingGenerate compliance reports on a schedule
Audit AutomationAutomate evidence collection and audit workflows
Risk MonitoringBuild 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.

Released under the MIT License.