How to use Vericto's audit trail as direct evidence in SOC2 audits

Vericto's immutable audit trail directly satisfies SOC2 Type II CC6 and CC7 criteria. We show what it records, how to export it, and how to present it to auditors.

11 min read
COMPLIANCE SOC2

The evidence problem in SOC2 Type II

A SOC2 Type II audit is not just a questionnaire. Auditors need evidence that controls operated during the audit period, typically 6 or 12 months.

The question auditors always ask: "How do you demonstrate the control operated during the audit period?" With Vericto, the answer is: "With the audit trail export signed by this endpoint."

Without a proxy layer, evidence of database access is scattered across application logs, DB logs, and monitoring tools. Correlating all this for an audit is time-consuming.

60% of SOC2 audit preparation time is spent collecting and correlating evidence that should already be centralized.

What Vericto's audit trail records

Every query that passes through Vericto's proxy generates a record in the audit trail. The record includes:

  • Millisecond-precision timestamp (UTC)
  • Full query text (AES-256 encrypted, accessible only to the workspace)
  • SHA-256 hash of the query (for correlation without decrypting)
  • Decision: ALLOWED, BLOCKED, or PARSE_ERROR
  • Triggered rule (for blocks): code, severity, and offending AST node
  • Offending AST node with full path (e.g. DeleteStmt > WhereClause = NULL)
  • Workspace and database identity
  • Proxy processing latency (for SLA evidence)

Example record from the JSON export:

{
  "event_id": "f47ac10b-58cc-4372-a567-0e02b2c3d479",
  "timestamp": "2026-04-15T02:14:33.847291Z",
  "workspace_id": "6ba7b810-9dad-11d1-80b4-00c04fd430c8",
  "database": "prod-db",
  "decision": "BLOCKED",
  "rule_code": "VERICTO-001",
  "severity": "critical",
  "ast_node_path": "DeleteStmt > WhereClause = NULL",
  "query_sha256": "e3b0c44298fc1c149afbf4c8996fb924...",
  "estimated_rows_affected": 847293,
  "latency_ms": 1.3,
  "hmac_signature": "9f86d081884c7d659a2feaa0c55ad015..."
}

Why it is immutable and why it matters

Immutability is what turns a log into audit evidence. A log that can be modified is not evidence: it is an editable document.

Vericto guarantees immutability with two mechanisms:

  • Append-only: audit trail records are never modified or deleted by users or the system
  • Ed25519 signature: each export includes a cryptographic signature of the complete file contents, verifiable offline with the workspace public key

When exporting the audit trail, Vericto includes an Ed25519 signature of the complete file. With the workspace public key, the auditor can independently verify offline that the export has not been modified since it was generated.

Which SOC2 criteria it directly satisfies

The most relevant SOC2 Trust Services Criteria for Vericto's audit trail are CC6 (Logical access control) and CC7 (System operations).

Criterio Descripción Cómo lo satisface Vericto
CC6.1 Logical access controls to data The audit trail documents every write access and its block/allow decision
CC6.3 Managing access to sensitive information Custom rules can block operations on sensitive tables with full logging
CC7.2 Monitoring anomalous activity Real-time alerts on CRITICAL blocks document anomaly detection
CC7.3 Evaluation of security events Every blocked query includes the offending AST node and the severity for evaluation

How to export evidence for the auditor

Every CLI run can emit a signed receipt: a self-contained record of what was evaluated and with what verdict, signed with Ed25519. The receipt is verified offline —no network, no account— with vericto verify-receipt, so the auditor confirms its authenticity independently. The Team plan and above also allow exporting the full audit trail for the period from the dashboard.

# En CI: evalúa y emite un recibo firmado del run
vericto check --changed --receipt vericto-receipt.json

# El auditor lo verifica offline, sin credenciales ni red
vericto verify-receipt vericto-receipt.json

# La clave pública de verificación se obtiene de:
# GET https://api.vericto.com/api/v1/meta/export-signing-key

The receipt includes the run events with their Ed25519 signature, verifiable against the workspace public key. With the full audit trail for the period, the auditor can:

  1. Verify the Ed25519 signature of the exported file
  2. Filter by status = BLOCKED for the audit period
  3. Confirm that the rules active during the period are the expected ones (ruleset version)
  4. Correlate blocks with system changes (deploy log, incident log)

Data retention and audit deadlines

Retention periods depend on the contracted plan:

  • Free plan: 7 days retention
  • Builder plan: 30 days retention
  • Team plan: 90 days retention
  • Enterprise plan: configurable retention (up to 3 years)

For SOC2 Type II with a 12-month period, we recommend the Enterprise plan to ensure the complete audit trail is available throughout the audit period.

For Enterprise customers, Vericto can provide custom compliance reports in the specific format required by each auditor.

Beyond SOC2: ISO 27001 and GDPR

The same audit trail satisfies requirements from other compliance frameworks:

  • ISO 27001 (Annex A, control A.8.15): Logging, system activity records
  • GDPR Art. 32: Technical measures to ensure security of processing

The deterministic nature of AST parsing makes controls certifiable: the same input always produces the same result, and that result is documented in the audit trail.