Skip to main content

SOC 2 Controls

Anima provides built-in SOC 2 Type II controls and automated evidence collection for AI agent operations. The platform maps its security features to Trust Service Criteria, making audit preparation straightforward.

Trust Service Criteria Mapping

Anima covers controls across all five Trust Service Categories:

Security (Common Criteria)

Control IDControlAnima Feature
CC6.1Logical access securityPod isolation, API key scoping
CC6.2Authentication mechanismsDID-based auth, API key rotation
CC6.3Authorization and access controlsRole-based permissions, budget guards
CC6.6System boundary protectionsPod network isolation, MCC controls
CC7.1Monitoring for anomaliesAnomaly detection, behavioral baselines
CC7.2Activity monitoring and alertingAudit log, SIEM integration
CC7.3Evaluating security eventsQuarantine, incident response workflows
CC8.1Change managementAPI versioning, configuration audit trail

Availability

Control IDControlAnima Feature
A1.1Capacity managementPod resource limits, rate limiting
A1.2Recovery proceduresAutomated backups, disaster recovery

Confidentiality

Control IDControlAnima Feature
C1.1Identification of confidential dataVault encryption, secret classification
C1.2Disposal of confidential dataVault secret expiration, secure deletion

Viewing Controls Status

import { Anima } from "@anima-labs/sdk";

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

// Get SOC 2 controls status
const controls = await useanima.shpliance.soc2.listControls();

for (const control of controls.data) {
  console.log(`${control.id}: ${control.name}`);
  console.log(`  Status: ${control.status}`);        // "passing" | "failing" | "not_evaluated"
  console.log(`  Evidence: ${control.evidenceCount} items`);
  console.log(`  Last evaluated: ${control.lastEvaluatedAt}`);
}

Evidence Collection

Anima automatically collects evidence for each control from audit logs, configurations, and system state:
// Get evidence for a specific control
const evidence = await useanima.shpliance.soc2.getEvidence("CC6.1", {
  startDate: "2026-01-01",
  endDate: "2026-03-31",
});

for (const item of evidence.data) {
  console.log(`[${item.timestamp}] ${item.type}: ${item.description}`);
  console.log(`  Source: ${item.source}`);
  console.log(`  Artifact: ${item.artifactUrl}`);
}

Evidence Types

TypeDescription
configurationSystem configuration snapshots proving control state
audit_eventAudit log entries demonstrating control enforcement
policy_documentAutomatically generated policy documentation
test_resultResults of automated control tests
access_reviewPeriodic access review records

Continuous Monitoring

Controls are continuously evaluated, not just at audit time:
// Configure continuous monitoring
await useanima.shpliance.soc2.configureMonitoring({
  evaluationInterval: "1h",  // How often to re-evaluate controls
  alertOnFailure: true,
  alertChannels: [
    { type: "email", address: "compliance@acme.com" },
    { type: "slack", webhookUrl: "https://hooks.slack.com/..." },
  ],
});

// Get monitoring dashboard data
const dashboard = await useanima.shpliance.soc2.getDashboard();
console.log(`Controls passing: ${dashboard.passing}/${dashboard.total}`);
console.log(`Last full evaluation: ${dashboard.lastFullEvaluation}`);
console.log(`Audit readiness score: ${dashboard.readinessScore}%`);

API Reference

EndpointMethodDescription
https://api.useanima.sh/api/compliance/soc2/controlsGETList all SOC 2 controls and status
https://api.useanima.sh/api/compliance/soc2/controls/:idGETGet a specific control
https://api.useanima.sh/api/compliance/soc2/evidenceGETQuery evidence by control and date
https://api.useanima.sh/api/compliance/soc2/evidence/exportPOSTExport evidence package
https://api.useanima.sh/api/compliance/soc2/monitoringPUTConfigure continuous monitoring
https://api.useanima.sh/api/compliance/soc2/dashboardGETGet compliance dashboard data

Configuration

VariableDefaultDescription
ANIMA_SOC2_EVALUATION_INTERVAL1hControl evaluation frequency
ANIMA_SOC2_EVIDENCE_RETENTION_DAYS730Evidence retention period (2 years)
ANIMA_SOC2_ALERT_ON_FAILUREtrueAlert when a control starts failing

Next Steps