@getjuratify/verify
v0.1.1
Published
Offline verifier for Juratify evidence bundles
Readme
@getjuratify/verify
Offline verifier for Juratify evidence bundles. Runs entirely on your machine and requires no trust in Juratify servers: it recomputes hash chains, checks receipt and checkpoint signatures, rebuilds Merkle roots, and, given the workspace data key, decrypts every payload and checks it against its recorded hash.
The format it verifies is frozen in docs/evidence-format.md at the
repository root.
CLI
npx @getjuratify/verify bundle.json
npx @getjuratify/verify bundle.json --data-key-file key.txtOptions:
--data-key <base64>workspace data key, enables payload decryption--data-key-file <path>file containing the base64 data key--jsonprint the report as JSON--quietno output, exit code only
Exit codes: 0 all checks passed, 1 verification failed, 2 operational error (bad arguments, unreadable file, malformed input).
Chain, receipt, checkpoint, and key checks need no secrets. The data key additionally proves that each sealed payload decrypts and matches the hash the chain commits to.
Library
import { verifyBundle, parseDataKey, formatReport } from "@getjuratify/verify";
const report = verifyBundle(bundle, { dataKey: parseDataKey(keyBase64) });
if (!report.ok) {
console.error(formatReport(report));
}verifyBundle is pure and synchronous; it does no I/O.
License
Apache-2.0
