Decision Record
Paste a stored record, fetch by decision_id, or pass an exported JSON file into the verifier.
Verification
Verification recomputes hashes and receipt checks from exported records, optional original input, public keys, or hosted ledger entries. Use it in audits, support packets, CI, and customer-facing proof reviews.
Start with a Decision Record. Add packet verification, receipt signatures, and audit-chain checks when the boundary becomes production-critical.
The verifier does not rerun the decision. It checks whether the exported artifact still matches the canonical hashes and configured receipt signature.
Paste a stored record, fetch by decision_id, or pass an exported JSON file into the verifier.
Recompute input_hash, output_hash, record_hash, and policy_bundle_hash using the declared canonicalization.
Verify HMAC for internal systems or Ed25519 against the key registry for portable public records.
Report pass/fail checks for record integrity, policy bundle binding, signature validity, and optional original input.
Decision Packets are the portable review bundle for audits and support. They include the Decision Record plus optional input, execution receipts, Outcome Records, intelligence reports, and retained audit-chain links.
Record and receipt hashes are checked first.
Each execution_hash must link to the same decision and action binding.
Outcome hashes bind final results and observed metrics back to the decision.
Effectiveness, confidence, benchmark, and anomaly report hashes are checked when present.
Retained links are checked against the rolling Merkle root metadata.
Paste or upload a record, original input, public key, or stored decision id and inspect individual checks.
/api/decision/verifyPOST an exported Decision Record directly from automation. Use /api/decision/:id/verify when checking a stored ledger entry.
npx @decide-fyi/sdk verifyRun local verification in CI, support tooling, or procurement review scripts.
npx @decide-fyi/sdk verify decision-record.json \
--input decision-input.json \
--key-registry https://www.decide.fyi/api/decision/receipt-keys \
--json
npx @decide-fyi/sdk verify-packet decision-packet.json \
--key-registry https://www.decide.fyi/api/decision/receipt-keys \
--summary
npx @decide-fyi/sdk verify ./artifacts/decision-record.json \
--input ./artifacts/decision-input.json \
--key-registry https://www.decide.fyi/api/decision/receipt-keys \
--json
/api/decision/receipt-keys returns public receipt verification keys when portable signing is configured.
Internal systems can verify with DECIDE_RECEIPT_SIGNING_SECRET without publishing public keys.
The SDK ships valid, tampered, input, and replay/diff fixtures so teams can test verification before production access.
npx @decide-fyi/sdk verify sdk/fixtures/valid-decision-record.json \
--input sdk/fixtures/decision-input.json \
--hmac-secret decide_conformance_hmac_secret_v1 \
--json
npx @decide-fyi/sdk verify decision-record.json \
--input decision-input.json \
--public-key decide-receipt-public.pem
Trust escalation starts with a Decision Record. Add packet verification, receipt signatures, and audit-chain checks when the boundary becomes production-critical. Verification proves that an exported record or packet matches its hashes and signatures; execution receipts and Outcome Records provide later lifecycle evidence about what happened.
Verified on May 22, 2026 against npm registry metadata: npm latest is 0.1.13 and the package tarball is reachable with published integrity data. npm package metadata declares git+https://github.com/nodeblur/decidesite.git with SDK source in /sdk; that GitHub repository is access-controlled, so public review should use the npm artifact or granted repository access.