How to verify a record
Every canonical PubLedge source file has a fingerprint in the public manifest. Anyone can recompute that fingerprint and check whether the file matches the current manifest.
What the fingerprint is
A fingerprint is a SHA-256 hash computed from the exact bytes of a file. Change anything in the file, even a single space, and the hash changes. PubLedge records each canonical source file's hash in MANIFEST.yaml, published at the repository root and on the site.
This is a consistency check, not independent proof of publication time. The manifest is not currently signed or anchored by an external timestamp service.
Inspect the current manifest (no command line)
1. Identify the source file
Find the record's stable id on its public page. Canonical instrument sources live in data/examples/instruments/<id>.md in the repository.
2. Find the source entry in the manifest
Open /MANIFEST.yaml and locate that source path. The entry gives the SHA-256 value expected for the current published source.
3. Recompute before relying on the result
Download the source file and compute its hash using the command below. A match shows that the downloaded source is byte-for-byte consistent with the current manifest. A mismatch means the file or manifest changed and needs investigation.
The rendered HTML and adjacent record.json are generated outputs. The manifest hashes the canonical markdown source, not those generated representations.
The independent check (one command)
If you want to compute the fingerprint yourself rather than trust the value shown to you, download the record's source markdown file and run, on macOS or Linux:
shasum -a 256 us-ut-oaip-rma-2025-001.md
Compare the output to the entry in MANIFEST.yaml. Or clone the repository and run the project's own checker, which verifies every file at once:
./scripts/validate-hashes.sh
Continuous integration runs that same check on every change. A mismatch fails the build in public view.
The change history
Git history provides a public, reviewable change log for the current repository history. It is useful provenance evidence, but an ordinary Git branch can be rewritten by its maintainers. PubLedge does not currently claim an independently immutable history. You can inspect the available lineage at the repository.
What this proves, and what it does not
- It shows whether a downloaded canonical source matches the current manifest.
- It makes accidental drift and file-to-manifest mismatches detectable.
- It does not independently prove when the file existed or prevent a publisher from replacing both a file and an unsigned manifest.
- It does not prove the interpretation is legally correct. That is what each record's
disclaimer, status, and any source policy are for. - It does not require you to trust PubLedge. The whole mechanism exists so you do not have to.
External timestamp evidence
A publisher that needs independent evidence of publication time can attach a proof from established infrastructure such as an RFC 3161 timestamp authority or OpenTimestamps. PubLedge treats those proofs as pluggable evidence; it does not reimplement timestamping infrastructure.
Related
- Protocol — Integrity and Authority response sections
- Disclaimer & Source Policy
- MANIFEST.yaml — the public hash control file