Decision replay: explaining a deposit months later

Every audit of a crypto funding flow reaches the same request sooner or later: explain why you accepted this deposit on this date. Most firms answer with a screenshot. KYTGate answers with a Decision Receipt, and decision replay reproduces the outcome from it months later.

DECISION RECEIPTinput hasha1b2…9flist snapshotsha256:2b44…coverage9 dimensionspolicybroker-v1.1decisionREVIEWed25519signatureanyoneverifiesanyone with the public key can check it
On this page
What a Decision Receipt containsRequest hash, list snapshot hashes, the coverage matrix, policy version and rule, every human action, the decision, all stored append-only.

The receipt is a single signed record, created when the decision is made. Any later change to it is detectable. It holds a hash of the exact request; the content-hash of every sanctions list snapshot in force at that moment; the full coverage matrix (which checks ran, which were partial, which weren't available); the policy version and rule that fired; every human action with actor and reason; and the final decision. It is stored append-only, and no code path edits a receipt.

Signed so changes are detectableEd25519 over canonical content; the public key at /api/v1/receipt-key lets an auditor verify without trusting us or you.

Each receipt is signed with Ed25519 over its canonical content. Change one character of it, whether the decision, a signal or a timestamp, and the signature no longer verifies. The public verification key is published at /api/v1/receipt-key, so an auditor can verify receipts independently, without trusting us or you.

Replaying a decisionA deterministic policy engine re-derives the decision from stored inputs; providers are never re-queried.

Our policy engine is deterministic: the same inputs and rules give the same outcome, with no hidden state. So a decision can be re-derived from its stored evidence at any time. Replay never re-queries data providers, because their answers change and a new answer would prove nothing about the original day. It re-runs the recorded inputs through the recorded policy version and shows that the outcome matches the receipt. Instead of saying "we checked", you can reproduce the check in front of the auditor.

WHAT THIS CHANGES IN AN AUDIT
✓ Which list version was in force? Content hash on the receipt
✓ What policy applied? Version and fired rule, recorded per decision
✓ Who approved the exception? Human actions with actor and reason
✓ Was the record altered later? The signature verifies or it doesn't

Signed receipts are on by default for every screening. Anyone can check one with the free Decision Receipt verifier: no account, nothing uploaded. Start a free sandbox or read our broker compliance guide first.