PASS, WARN, FAIL), with plain-English reasons
and cited regulations, sealed with a tamper-evident audit_hash. A second,
asynchronous layer adds semantic findings (model-judged concerns
deterministic rules can’t catch, like indirect opt-outs or
hallucination-vs-knowledge-base); those are advisory and never block.
Trace is in beta. Enable it deliberately for your organization; current
terms and any promotional treatment are listed on the
pricing page. Findings are informational and not
legal advice.
trace:configure (to manage config and rule packs) and
trace:read (to read results). Add scopes in the
console.
What Trace scans
Trace runs only when the call or transcription enters a Trace-enabled path:- Omni and console Agent calls covered by an enabled organization or per-agent Trace config.
- Async Hear jobs that explicitly send
trace: trueand belong to an organization entitled for Trace on transcription. This single-pass path cannot be combined withchannel: trueordiarize: true. The job runs a deterministic PII scan over the final transcript (SSN, card numbers, CVV in context, email, US phone), redacts findings, and returns atracesummary. - Certified inbound call imports whose integration guide explicitly includes a Trace scorecard, when Trace is enabled for the organization.
Step 1, configure Trace
OnePUT sets the org-wide default; add ?agent_id= (or wrap the body as
{ "agent_id", "config" }) to override per agent:
ETag, the runtime
pins it, so a config change takes effect on the next pull. GET /v1/trace/config reads it back (omit agent_id for the org default).
Pick a mode
Every mode is fail-open: if anything in the pipeline errors, the call
continues and the gap is recorded, compliance tooling never takes your agents
down.
Step 2, know your rule packs
Built-in packs cover TCPA, HIPAA, PII, and brand voice. List what’s available (built-ins plus your tenant’s custom packs):"tcpa": { "enabled": true, "version": "v3" }, or omit version to track the latest active. You can also upload your
own pack in the Trace DSL (POST /v1/trace/rule-packs with pack_id,
version, and rules[]); custom packs are scoped to your org and can never
shadow a built-in.
Step 3, read the results
All four reads are cursor-paginated and newest-first. Exposure summary, the dashboard headline: interactions scanned, the share with a compliance gap, per-rule exposure ranking, and the verdict mix over a trailing window:verdict
(PASS/WARN/FAIL) or agent_id:
call_id: findings with
reasons and cited regulations, satisfied requirements, redactions, gate health,
the verdict, and the tamper-evident audit_hash:
rule_id, severity (low/medium/high/critical), or interaction_id:
check_id, action, or severity; the
compliance-officer alerts feed is action=escalate and/or
severity=critical:
The console view
The Compliance / Trace tab in the console renders the same data, Overview (exposure), Interactions (scorecards), and Alerts (escalated findings), no code required.Metering
Trace meters onetrace.calls unit for each scanned call, on top of the
underlying call product. Current rates and any promotional billing appear on
the pricing page and in your console.
Next steps
Trace API reference
Full request/response schemas for every
/v1/trace/* endpoint.Post-call extraction
Pull structured data out of completed calls.
Conversation intelligence
Recap: summaries and CRM sync for your calls.
Errors & limits
Error codes, pagination, and idempotency conventions.