Skip to main content

Continuous Assurance — Layer 2

AI telematics. Stream every AI interaction through a per-org HMAC-signed connector. Each event returns a signed per-event verdict. Every calendar day rolls into one signed compliance number — Merkle-rooted, KMS-signed, externally anchored, with population-drift detection on top.

The every-trip data feed. The walk between the annual checkup (Layer 1) and the inline driver-assist (Layer 3 — Guardians).

What it is​

Continuous Assurance is an always-on, signed, externally-anchored audit stream. You provision a connector, your production gateway POSTs each AI interaction (or a sampled subset) to an HMAC-signed ingest endpoint, and each event returns a signed pass | fail verdict. A daily roller aggregates the day's events into one signed compliance number, anchors the Merkle root externally, and computes Population Stability Index (PSI) drift against a trailing 30-day baseline.

The customer's daily compliance number is the bytes Trinitite signed. The auditor reproduces the proof in a browser. Nobody is asked to trust the dashboard.

Why it matters​

  • Annual sampling is structurally broken for AI. Drift is invisible until next year's audit; the dashboard is not signed; LLM-as-judge verdicts deform under GPU load; investigations are reactive.
  • Drift is a structured signal. The day your provider ships a new system prompt or your model retrains, PSI breaches and a webhook fires to your on-call with a structured explanation.
  • Audit-ready every day. Monthly and quarterly attestation packs auto-generate from the same evidence stream. The external auditor receives sealed evidence, not a CSV.
  • Same kernel, same evidence model. The deterministic auditor that produces the Layer-2 daily attestation is the one you put inline in Layer 3 — same DLIR, same receipt shape.

How it works​

  1. Provision a connector (POST /v1/audit/assurance/continuous/connectors). Trinitite mints a cac_… id and a cas_… secret (returned once — store it in your secret manager).
  2. Stream events. Your gateway POSTs each interaction to /v1/audit/assurance/continuous/ingest/:connectorId with HMAC-SHA256 over <unix_timestamp>.<raw_body> in the X-Trinitite-Signature header.
  3. The auditor SLM scores the event — pass | fail with framework controls + severity-calibrated violations.
  4. Sign, chain, persist. Each event's signed envelope appends to a per-connector hash chain; last_chain_hash advances by one.
  5. Daily roller. For each org with activity: aggregate pass/fail counts and dollar exposure, fold each connector's last chain head into a per-day Merkle root, sign the daily envelope, anchor externally, compute PSI vs the trailing 30-day baseline, and fire audit.assurance.continuous.daily_attestation_signed (and drift_detected on breach).

Drift detection​

PSI (Population Stability Index) is the single best signal for "your AI behavior changed" without needing to know why. The roller computes it nightly between today's {pass, fail} distribution and a trailing 30-day baseline, with min-event guards to avoid false alarms on low-volume days.

Drift levelWebhook severityTypical cause
PSI < 0.10noneSame population, normal noise.
0.10 ≤ PSI < 0.25noneMild shift, worth watching.
PSI ≥ 0.25drift_detected (severity high)Provider model swap, system-prompt update, traffic-mix change, attack.

The threshold (CONTINUOUS_ASSURANCE_DRIFT_PSI_THRESHOLD) and baseline window (..._BASELINE_DAYS, default 30) are tunable per platform.

Get started​

  1. Provision a connector and store the HMAC secret.
  2. Wire your production gateway to POST each interaction with the X-Trinitite-Signature header (Node and Python signing recipes are in the API reference).
  3. Subscribe to the daily_attestation_signed and drift_detected webhooks.
  4. Hand the quarterly evidence pack to your external auditor.

The natural precursor is the Sampled Assurance pre-audit — customers who run the 1,000-log Layer-1 audit routinely ask "could we have prevented those violations if we'd been watching every event?" Continuous Assurance answers that on the live stream.


→ Continuous Assurance API — connector provisioning, HMAC ingest, daily attestation retrieval. → Sampled Assurance — the offline pre-audit (Layer 1). → Architecture — the deterministic kernel shared across all layers.