SIGNED DECISION RECEIPTS · IN-BROWSER
Every guardrail verdict,
signed and re-verifiable.
Screen text with a deterministic rule-based guardrail, wrap the ALLOW / BLOCKED verdict in a hash-chained DSSE decision receipt signed with an ephemeral ECDSA‑P256 key generated by your browser, then re-verify every byte right here. A BLOCKED verdict stays BLOCKED — never faked green.
01 · SCREEN
Run the guardrail → emit a signed receipt
02 · RECEIPT
DSSE decision receipt (this browser signed it)
// screen something above — the signed envelope appears here
03 · VERIFY
Proof band — recomputed live, never asserted
_pae_sha256prev ← digest) across sessionWhat a PASS means: integrity + authorship within this session — nothing more. A receipt is a signed record of what was decided; it is NOT a proof the guardrail is correct and NOT zero-knowledge. Λ = Conjecture 1 — never green. A guardrail decision meters no inference energy, so energy.joules is honestly null.
04 · VERIFY ANYTHING
Paste a receipt
// verification report appears here
05 · SESSION KEY
Ephemeral public key
Generated in this page’s memory on load; the private key never leaves your browser and is gone when you close the tab. It proves integrity within the session — not long-term authorship.
generating…
06 · RULES
The deterministic rule set (mirrors szl-guardrail-receipt v0.1.0)
This tiny stdlib-grade rule set exists so the receipt pipeline runs end-to-end with zero downloads. It is not a production safety classifier — wrap Llama-Guard / NeMo / guardrails-ai via the Python package for real coverage. The canonical implementation is the Python package; this page is its browser edition with identical rules and receipt discipline.