Evidence
Audit Ledger
Decision records are sealed into a hash-chained ledger signed with Ed25519 and ML-DSA-65. Any change to an anchored entry is detectable without trusting QUORUM.
Seal and Sign
simplified flow
every few seconds, per organization:
root = merkle(new decision records)
entry = { root, prevHash, time }
entry.sigs = [ed25519(entry), mlDsa65(entry)]
append(entry)
every 100 entries (if a TSA is configured):
rfc3161(ledger merkle root)
every 15 minutes:
verify chain and signatures -> alert, never repair
Proofs
Decision proofs, Merkle inclusion proofs and public signing keys are available through the API for offline verification.
Post-quantum
ML-DSA-65 (FIPS 204) from the Rust fips204 crate compiled to hash-pinned WebAssembly.
Keys
In production, signing keys are held in an AWS Nitro Enclave. Implemented; not yet exercised on Nitro hardware.
Limits
The ledger is stored in PostgreSQL and is tamper-evident, not immutable. Institutions should restrict write access and archive anchored roots and timestamp tokens outside the database.
KB Analytical Solutions Inc. // Audit Ledger // Describes QUORUM at code baseline e9c2cf7