Verification
--- title: Verification sidebar_position: 3
Verification
Verification is deterministic and does not rely on trusting VeriSeal.
Source of truth order
- Ledger entry
- Public JSON
- PDF (presentation only)
Procedure
-
Fetch canonical JSON:
- /public/verify/
{merkle_root}/json
- /public/verify/
-
Verify hashes:
- compute SHA-256 for artifacts (or bundle ZIP),
- compare to hashes in JSON.
-
Recompute Merkle root:
- from declared leaves and rules,
- confirm it matches merkle_root.
-
Verify ledger chaining (when available):
- validate entry_hash and prev_hash consistency.
-
Verify signatures (if present):
- PDF signature verification,
- optional JSON signature verification.
-
Verify OpenTimestamps (if present):
- confirm stamped digest equals merkle_root/bundle hash,
- upgrade/verify and record state.
What to retain (regulated contexts)
- fetched public JSON,
- artifacts (or bundle ZIP),
- computed hashes,
- signature verification outputs,
- .ots file and verification output (if used).