Skip to main content

Compliance Reporting

Anima provides built-in reporting tools for compliance workflows including SOC 2 audit preparation, DSAR (Data Subject Access Request) fulfillment, and executive compliance dashboards.

Report Templates

Generate pre-built reports for common compliance needs:
import { Anima } from "@anima-labs/sdk";

const anima = new Anima({ apiKey: "ak_..." });

// Generate a SOC 2 audit readiness report
const report = await useanima.shpliance.reports.generate({
  template: "soc2-readiness",
  period: {
    startDate: "2026-01-01",
    endDate: "2026-03-31",
  },
  format: "pdf",  // "pdf" | "html" | "json"
  includeEvidence: true,
});

console.log(`Report: ${report.id}`);
console.log(`Download: ${report.downloadUrl}`);

Available Templates

TemplateDescription
soc2-readinessSOC 2 Type II audit readiness with control status and evidence
agent-activitySummary of agent actions, emails sent, transactions processed
security-postureAnomaly detection results, quarantine events, key rotations
access-reviewAPI key usage, permission changes, pod access
spending-summaryWallet spending by agent, pod, and time period
data-inventoryInventory of data stored across vault, email, and attachments

DSAR (Data Subject Access Requests)

Handle GDPR and CCPA data subject access requests:
// Initiate a DSAR
const dsar = await useanima.shpliance.dsar.create({
  subjectEmail: "user@example.com",
  requestType: "access",  // "access" | "deletion" | "portability"
  notes: "GDPR Article 15 request received via support ticket #4521",
});

console.log(`DSAR ID: ${dsar.id}`);
console.log(`Status: ${dsar.status}`);  // "processing" | "ready" | "completed"
console.log(`Estimated completion: ${dsar.estimatedCompletionAt}`);

// Check DSAR status and download results
const result = await useanima.shpliance.dsar.get(dsar.id);
if (result.status === "ready") {
  console.log(`Download: ${result.downloadUrl}`);
  console.log(`Records found: ${result.recordCount}`);
  console.log(`Data categories: ${result.categories.join(", ")}`);
}

DSAR Data Categories

When a DSAR is processed, data is collected across these categories:
CategoryData Included
email_messagesEmails sent to or from the subject
a2a_interactionsA2A tasks involving the subject’s agents
audit_eventsAudit log entries referencing the subject
agent_metadataAgent profiles associated with the subject

Compliance Dashboard

Get a real-time view of your compliance posture:
const dashboard = await useanima.shpliance.dashboard.get();

console.log("--- Compliance Dashboard ---");
console.log(`SOC 2 Controls: ${dashboard.soc2.passing}/${dashboard.soc2.total} passing`);
console.log(`Readiness Score: ${dashboard.soc2.readinessScore}%`);
console.log(`Open DSARs: ${dashboard.dsar.openCount}`);
console.log(`Avg DSAR Resolution: ${dashboard.dsar.avgResolutionDays} days`);
console.log(`Anomalies (30d): ${dashboard.anomalies.last30Days}`);
console.log(`Quarantined Agents: ${dashboard.anomalies.quarantinedCount}`);
console.log(`Last Audit Report: ${dashboard.lastReport.generatedAt}`);

Scheduled Reports

Automate report generation on a schedule:
await useanima.shpliance.reports.schedule({
  template: "security-posture",
  frequency: "weekly",          // "daily" | "weekly" | "monthly" | "quarterly"
  format: "pdf",
  recipients: ["compliance@acme.com", "ciso@acme.com"],
  dayOfWeek: "monday",          // for weekly reports
});

API Reference

EndpointMethodDescription
https://api.useanima.sh/api/compliance/reportsPOSTGenerate a report
https://api.useanima.sh/api/compliance/reportsGETList generated reports
https://api.useanima.sh/api/compliance/reports/:idGETGet report status and download URL
https://api.useanima.sh/api/compliance/reports/schedulePOSTSchedule recurring reports
https://api.useanima.sh/api/compliance/reports/scheduleGETList scheduled reports
https://api.useanima.sh/api/compliance/dsarPOSTCreate a DSAR request
https://api.useanima.sh/api/compliance/dsarGETList DSARs
https://api.useanima.sh/api/compliance/dsar/:idGETGet DSAR status and results
https://api.useanima.sh/api/compliance/dashboardGETGet compliance dashboard

Configuration

VariableDefaultDescription
ANIMA_COMPLIANCE_DSAR_SLA_DAYS30DSAR completion SLA in days
ANIMA_COMPLIANCE_REPORT_RETENTION730Report retention in days (2 years)
ANIMA_COMPLIANCE_REPORT_STORAGEs3Storage backend for generated reports

Next Steps