Inspect a public receipt
Every Strix execution receipt resolves at
verify.strixgov.com/r/<receiptId> — a shareable
page with a plain-language view of what happened and the full
cryptographic view underneath it. Paste an id, or open the URL
directly.
or paste a signed receipt — any Strix-emitted JSON or JSONL works
Tool-gateway receipt? Drop a JSONL file or paste the contents below. Single receipt? Paste the JSON object. Strix is never in the trust path — verification runs entirely in your browser against the same Ed25519 + JWKS primitives npx @strixgov/verifier uses on the command line.
try a sample · the verifier is willing to fail publicly
how this page verifies
- Extract metadata. The page parses the SVG's
<metadata>block: the visual kind, the embedded canonical payload, the Ed25519 signature, the signing kid, and the declared canonicalHash. Strict regex — no HTML entity decoding, no XML reordering. If metadata is absent (screenshot, exported image, decorative SVG) we say so and stop. - Recompute SHA-256. We compute
sha256(embeddedPayload)in your browser and compare to the embeddedcanonicalHash. Mismatch →TAMPERED_METADATA, exit immediately. - Fetch JWKS — pinned and live, in parallel. The pinned snapshot ships with this page (
jwks.pinned.json). The live JWKS is fetched fromstrixgov.com/.well-known/strix-jwks.jsondirectly in your browser. Both are inspectable in DevTools. - Verify Ed25519 against both keys. WebCrypto runs in your browser. We never send the bytes to a server.
- Surface drift, never hide it. If the pinned and live keys agree, you see
VERIFIED. If they disagree, you see both verdicts plus the fingerprint of each key — you decide which trust source to honor. Drift is evidence.
The CLI npx @strixgov/verifier follows the same gates, in the same order, with the same outcome language. Same input → same verdict, both here and from your terminal.