What an Evidence Pack contains
- The audit record. A hash-chained event log of the audit (harness frozen, each run, the report issued) and every artifact it refers to, signed by the auditor key.
- Anchor receipts. At each milestone, IsoKron’s anchor service countersigns the auditor’s checkpoint of the log so far.
- Independent timestamps. Each receipt carries two RFC 3161 timestamp tokens, one from Sectigo and one from DigiCert. They show the receipt existed no later than the time in the token, without relying on IsoKron.
- Instructions.
VERIFY.mdholds the one-command check and the rawopensslandjqcommands for that pack.COMPLETION.txtlists the values to compare with the completion letter we email you separately.
The check shows that the files are unaltered since they were signed, that the milestones happened in order, and when each was timestamped. Whether a finding is right is shown by its reproduction in the report.
Check a pack with one command
npx -y kronicle-lite@0.10.1 verify-audit PACK --key-fingerprint <from your statement of work>PACK is the Evidence Pack directory. Take the auditor key fingerprint from your signed statement of work, never from the pack or the report inside it. The check needs Node.js 20 or later and runs locally; after npx’s first download it needs no network. It prints PASS or FAIL for each claim in the pack with its evidence, and exits 0 only when every claim passes. It uses kronicle-lite, our open-source evidence store. The version is pinned so the check is reproducible.
Compare the anchor service key
Every receipt names the anchor service key that signed it, and the pack carries that key in anchor-keys.json. Compare it with the keys published at anchor.isokron.ai/keys. Every service key is trusted only through a signed chain back to the genesis key, whose fingerprint is compiled into kronicle-lite and the anchor service:
- Genesis key
anchor-ed25519-3dca1ecf66c2993e- SHA-256 (SPKI)
3dca1ecf66c2993e534ff08fe350dc9368ca52042e38b20a9d58cd7c2b7b3367- Valid from
2026-11-01T02:29:25.705Z
To print the fingerprint of the key a receipt names, inside the pack directory:
# the anchor service key a receipt names, from the pack
R=anchors/01-harness-frozen.receipt.json
K=$(jq -r .service_key_id $R)
jq -r --arg k "$K" '.keys[] | select(.key_id == $k) | .public_key_pem' anchor-keys.json > service-key.pem
# its fingerprint: SHA-256 of the SPKI
openssl pkey -pubin -in service-key.pem -outform DER | shasum -a 256The same list is at anchor-keys.json. The one-command check verifies the chain locally against the compiled genesis fingerprint.
Timestamp authority CAs
Each RFC 3161 token must chain to its authority’s pinned time-stamping CA. IsoKron lists them, with fingerprints and accepted signers, at anchor.isokron.ai/.well-known/tsa-ca.json, and each pack carries them in tsa-roots/. Take the certificates from the authorities’ own sites and compare the fingerprints:
- Sectigo
- Sectigo Public Time Stamping Root R46, issued by USERTrust RSA Certification Authority
B5:3A:C1:5C:C1:AF:B6:E2:AC:06:82:8F:55:5B:B3:BF:5B:AD:8B:2B:AC:17:33:CE:4C:B7:AA:FE:72:93:56:DE - DigiCert
- DigiCert Trusted G4 TimeStamping RSA4096 SHA256 2025 CA1
CA:0B:15:54:EC:D9:01:EA:19:DC:AD:87:49:E9:F2:64:8C:8D:6D:FC:EA:1A:DD:9D:2C:21:09:41:5B:B8:2C:CD - DigiCert
- DigiCert Trusted G4 RSA4096 SHA256 TimeStamping CA
28:17:34:D4:59:2D:12:91:D2:71:90:70:9C:B5:10:B0:7E:22:C4:05:D5:E0:D6:11:9B:70:E7:35:89:F9:8A:CF
The links download each certificate from its issuer’s repository, the address the tokens themselves name. DigiCert also lists its CAs on its certificates page.
Try it on the sample pack
The sample pack records a synthetic audit made to show the format: a frozen harness, three runs and a report, anchored and timestamped by Sectigo and DigiCert. It is not a client audit.
- Download
- isokron-sample-evidence-pack.tar.gz (27 KB)
- SHA-256
16754c842b8e016d77aab07b67ebcfe2a907f47130141c83334e259b734ac130(.sha256 file)- Auditor key fingerprint
d70b311bf6e25c0c20ec3b4645f806f28b8712e212142720eeb51d2c6fa5072b
curl -O https://isokron.ai/samples/isokron-sample-evidence-pack.tar.gz
curl -O https://isokron.ai/samples/isokron-sample-evidence-pack.tar.gz.sha256
shasum -a 256 -c isokron-sample-evidence-pack.tar.gz.sha256
tar -xzf isokron-sample-evidence-pack.tar.gz
npx -y kronicle-lite@0.10.1 verify-audit isokron-sample-evidence-pack \
--key-fingerprint d70b311bf6e25c0c20ec3b4645f806f28b8712e212142720eeb51d2c6fa5072bThe last line prints RESULT: VERIFIED with six claims: integrity, chain, receipts, independent timestamps, harness frozen before runs, and run sequence. Change one byte of any file in the directory and the check fails.
Without kronicle-lite
Every check can also be run with shasum, OpenSSL 3 and jq. Each pack’s VERIFY.md lists the commands with that pack’s file names, and the Evidence Pack format documents every file. For a walkthrough of every check with real output, including three altered packs that fail, see how to verify an MCP audit report yourself.