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 eventpass | 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.