Job · Rung 2 · Rung 3 · Rung 5
Show an auditor what your policy did
Hand over records an auditor can check without trusting you or Silvector.
For Product, legal and compliance, CISO and head of security. Works at Rung 2 · Operational, Rung 3 · Investigative, Rung 5 · Evidentiary.
The situation
- Business
- Any regulated or contract-bound business serving agents.
- Use case
- An auditor, regulator or licensor asks how training scrapers or agents were handled.
- Risk
- Audit findings, contract disputes, and hours of manual log work.
- Today's failure
- Logs are mutable and vendor dashboards are screenshots. Neither can be checked independently.
- Silvector
- Signed receipts, a public key set and replay.
- Evidence
- Receipts that verify offline, and replay to the same bytes.
- Judged on
- Policy enforcement you can show, and fewer audit hours.
Steps
Export the receipts
Each receipt carries the policy bundle hash, the rule, the outcome and a signature. An auditor needs only the receipts and the published key set.
Let the auditor verify them offline
Any of the quickstarts verifies a receipt with a few lines of standard-library code. In the platform repository, the
ag47CLI does the same given thexvalue of the published key. The CLI is not published as a package yet.sh# receipt.json holds {"receipt": {...}}; X is the x value of the edge-receipt key pnpm ag47 verify receipt.json --jwk "$X"Know what the log does not show yet
The API's /.well-known/transparency publishes a signed tree head, signed live with the edge-receipt key: four fixed placeholder leaves, then hashes of recent /v1/check receipts, appended on a best-effort basis. Each data center keeps its own list in its cache for up to six hours, the list stops growing at 64 leaves, and nothing is stored durably. The inclusion check it carries is for a placeholder leaf, and /.well-known/transparency/inclusion signs a separate four-leaf sample, so no route shows that your receipt is in the log. Keep the receipts themselves, and their prev chain, as the record.
Replay a decision
Given the recorded request and the policy bundle, replay runs decide() again and compares bytes. A match shows the receipt was produced by exactly that policy.
Guardrails
- A receipt shows what a policy did, not that the policy was lawful or wise. Say which.
- Within one Worker isolate, receipts chain through prev. Nothing orders receipts across isolates yet.
What works today
Receipts, the key set, offline receipt checks and replay work today. Evidence pack export ships behind exp.rd3_evidencepack. A published log of real receipts is not built yet.
Every receipt this job produces carries this grade:
- Covers
- Which rule decided this request and that the record was not changed after signing. Not whether the sender was an AI agent.
- Confidence
- None stated. No calibrated confidence applies to this record.
- Calibration
- Uncalibrated
- Known error rates
- None measured. Silvector publishes no detection error rate yet.
- Basis
- Deterministic decide() rule allow.default
- Ed25519 signature over the canonical receipt body, checked against the published JWKS
- Bias risks
- The decision is only as good as the facts it was given. A request with no signature claim is not_identified, which is not a finding that a person or an agent sent it.
- Next step
- To ask who was behind a series of requests, keep the receipts and escalate to rung 3 with at least two independent signal families. How escalation works
- Assigned by
- These docs, from the rung definitions. The grade is not a signed field of the receipt.