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
- Provision a connector (
POST /v1/audit/assurance/continuous/connectors). Trinitite mints acac_…id and acas_…secret (returned once — store it in your secret manager). - Stream events. Your gateway POSTs each interaction to
/v1/audit/assurance/continuous/ingest/:connectorIdwith HMAC-SHA256 over<unix_timestamp>.<raw_body>in theX-Trinitite-Signatureheader. - The auditor SLM scores the event —
pass | failwith framework controls + severity-calibrated violations. - Sign, chain, persist. Each event's signed envelope appends to a per-connector hash chain;
last_chain_hashadvances by one. - 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(anddrift_detectedon 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 level | Webhook severity | Typical cause |
|---|---|---|
| PSI < 0.10 | none | Same population, normal noise. |
| 0.10 ≤ PSI < 0.25 | none | Mild shift, worth watching. |
| PSI ≥ 0.25 | drift_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
- Provision a connector and store the HMAC secret.
- Wire your production gateway to POST each interaction with the
X-Trinitite-Signatureheader (Node and Python signing recipes are in the API reference). - Subscribe to the
daily_attestation_signedanddrift_detectedwebhooks. - 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.