What a prompt_shield receipt records
A prompt_shield receipt is one AER-1 record (receipt schema version 0.4, hosted profile zambo-hosted-receipt/1) for one call. Read from a real prompt_shield payload, it records:
- Receipt id: a full UUID. The id is the address of the record: the human page is https://zambo.dev/run/ followed by the id.
- Tool: name
prompt_shield, version4.0.0, scopepublic. - Timestamps: the record creation time, and inside the step list a started_at and a completed_at for the call itself.
- Step status: one step per call, with the tool name and its status. On the first example below the step status is
success. - The saved output: the exact output object the call returned, kept as canonical bytes. The saved output is the scan report: scan_label, recommendation, injection_risk, risk_level, pattern_count, flagged_patterns, and the individual detector flags jailbreak_detected, prompt_leak_detected, pii_extraction_attempt and policy_bypass_detected, plus scan_mode and latency_ms.
- Output digest: output_hash, the SHA-256 digest of those canonical bytes, with the canonical byte length recorded too (1813 bytes on the first example below).
- Caller and provenance: a caller type (
sessionon the first example) and a provenance class ofEXECUTED BY ZAMBO, which states how the record was produced. - Declared side effects: the record declares its side effects,
noneon the first example. - Verification status: the API carries a verification_status field for the record. On the first example below, the verify API reported verification_status
commitment_matches, its wording for a record whose digest still matches the saved bytes.
Live prompt_shield receipt examples
Each example below is a real prompt_shield receipt. Open one and you see the saved result, when it was saved, and its digest, the same fields described above.
zambo.dev/run/6de36a9f-8abf-44ac-aabd-8b9bae22d3cf
Saved: 2026-10-24T18:19:27.932Z
Output SHA-256 digest: sha256:e0b542bf875e91f4dbe7fc0c2e3f0fc29bf82b30ac75a5e4d0047fc9b7810851
Checked live on 2026-10-24: this URL returned HTTP 200 with this receipt on the page.
zambo.dev/run/7d75874f-c7f3-401b-a7d5-e5ce137aa1df
Saved: 2026-10-24T18:19:02.911Z
Output SHA-256 digest: sha256:78b1bd38054f60fe799b0e5cbc9cd0249448fa9806ef94d08200ade2f89fd638
Checked live on 2026-10-24: this URL returned HTTP 200 with this receipt on the page.
zambo.dev/run/92302c5a-07d4-4feb-a399-7d782408b28d
Saved: 2026-10-24T18:09:27.682Z
Output SHA-256 digest: sha256:8108c498b655ee7919f1f323fb398a506b531dbf21fff27cad5fc9de1ebb938e
Checked live on 2026-10-24: this URL returned HTTP 200 with this receipt on the page.
How to verify a prompt_shield receipt
- Open zambo.dev/verify/ and paste the receipt link or the receipt id. The checker recomputes the SHA-256 digest over the saved bytes and reports whether the record still matches.
- Or call the API directly:
GET https://zambo.dev/api/v2/receipt/{receipt-id}/verifyreturns the record as JSON, including its output_hash and verification_status. - The format is AER-1, an open IETF Internet-Draft: draft-zambo-aer1-26. Anyone can implement the check; it does not need a Zambo account.
Verification answers one question: is this the record that was saved, byte for byte? It does not answer whether the result inside was right.
Get receipts for your own calls
Add Zambo to your AI once, at zambo.dev/add/, and every tool call after that files a receipt like the ones above. Every account starts with 20 free calls per day, and free calls file receipts too. The background is at AI agent receipts, and more worked examples are indexed at receipt examples by tool.