Feature · Prove

Shipped

Verify it yourself. No account. Offline.

Every governed action mints a Decision Receipt: a canonical, signed record of what was asked and what was decided. Check the signature against the published public key. We do not have to be in the loop for you to trust the answer.

What it does

A cryptographic commitment, not a log entry only we can read.

Every decision, allow, deny, or human-approved, is written as a canonical JSON document and signed. Anyone with the receipt and the public key can confirm it is authentic and unaltered, without asking SynOI to vouch for it.

How it works

Signed at decision time, checkable at any time after.

The receipt covers the full canonical body: what was requested, what was decided, and who or what approved it. Mutating any field breaks the signature, so an altered receipt fails verification rather than passing silently.

Run the check yourself with @synoi/verify or any standard Ed25519 + ML-DSA-65 library: it re-runs the signature math locally and returns a pass or fail against the published key, no login. Verify an exported bundle or a key you already hold and nothing is sent to us; the quick receipt-ID form fetches the receipt and key from the gateway. verify.synoi.systems offers the same pass or fail as a hosted convenience, by receipt ID, confirmed server-side today.

Decision Replay

Reconstruct and re-verify any past decision, offline.

Decision Replay takes a receipt from any point in the past, rebuilds the canonical decision record from it on your own machine, and re-runs the signature check against the published key. It works the same way a year after the decision as it does a minute after: the math does not depend on SynOI being reachable, or even still around.

This is a different thing from two ideas it sounds similar to. It is not point-in-time state reconstruction (answering "what was true at T?" from the history log, covered on the protocol page), which reconstructs a range of history rather than a single decision. And it is not the 5-minute anti-replay window on our webhook intake, which is a security control against resubmitted requests, not a verification capability. Decision Replay does not re-execute the original action or byte-replay the runtime: it reconstructs and re-verifies the record of what was authorized, nothing more.

Status

Shipped. Tamper-evident, not tamper-proof.

Receipts are tamper-evident, and the signature can be independently checked with your own hybrid Ed25519 + ML-DSA-65 (post-quantum) tooling against our published public key. That is not the same claim as tamper-proof, and it is not a claim about court admissibility either; we describe the ceiling honestly rather than rounding up.

The Node/CLI verifier (@synoi/verify) runs the full hybrid check on your own machine against a receipt you already have: nothing is sent to SynOI. The hosted page at verify.synoi.systems looks a receipt up by ID and confirms it server-side today: a convenience lookup, not an independent reperformance, until the in-browser client-side check ships.

Folded in from the former catalog

  • Receipt Verifier
  • Decision Receipts
  • Decision Replay
  • @synoi/gap
  • @synoi/sraid
  • @synoi/verify
  • Conformance suite
  • Post-quantum receipts (Node/CLI today; browser checks the classical half)

Paste a receipt. See it verify.

The hosted lookup is public and unauthenticated. Try it on a receipt your own gateway produced, or run @synoi/verify locally against an exported bundle or a key you already hold to check both signatures yourself, with nothing sent to us.