Locked & verifiable.
An evaluation claim anchored to a SHA-256 hash at the recorded time. Anyone can re-derive it from the canonical bytes below.
86f76e446db76babca94cd97e645fafc838e0524f05bd75aa594f77ce98e7759record: acceptance-record-seal/0 role: seal of the signed acceptance report and the signed change and re-review conditions (illustrative example, not a client engagement) report_id: AR-2026-001 conditions_id: CR-2026-001 plan_seal: https://registry.falsify.dev/da55fc4ac5cc572ce13ad2a913956414b186ec1685849ff1254058b78cb70cb9 documents: 2-acceptance-report.md: 334082eda3844cc77f0e0beab9a35df1efa9c20dd433066f6ded29abb6643a41 2-acceptance-report.md.supplier.sig: a87cf6327e1907a4577649212ed8625eb3b9c4045b5e39d6fa2319164d6d8917 2-acceptance-report.md.client.sig: 54d1bfa6aa5d16e7070cfae57f279a6cf513d95df7be301152c5c0cafd366420 3-change-and-rereview.md: 59df02ff07bd2ec3adecc66bf37c741b4327ed2bf6b507767f8de33c2ba670b4 3-change-and-rereview.md.client.sig: 93c6d3120592a52c523199bf94807789de04ba245170bc6b60ee261297b95414 3-change-and-rereview.md.supplier.sig: 5b864519a2214ba71f2484e9cdb78bb35b2c79d475c5ae608f4a52fe5c4fbd09 result.json: 70e2fd7f287dde840e5a5dadefe56fe9a67da8056ed10366dd47c2cfec8273ff run_acceptance.py: e3d8c19d214f56acc6ce5409eda30043cb298151d8d921b1e36b4ddf00c8ed58raw bytes →
[](https://registry.falsify.dev/86f76e446db76babca94cd97e645fafc838e0524f05bd75aa594f77ce98e7759)- uses: studio-11-co/prml-verify-action@v2
with:
mode: verdict
expected-hash: 86f76e446db76babca94cd97e645fafc838e0524f05bd75aa594f77ce98e7759github.com/studio-11-co/prml-verify-action →Verify this hash yourself
Paste your manifest YAML. The canonical hash must match 86f76e446db7…. This runs the registry's own canonicalization module (canonical.js) in your browser; for verification that does not trust this registry at all, use any of the four reference implementations offline.
Verify the independent timestamp (RFC 3161, offline)
The token countersigns this manifest hash with the timestamp authority's key, so the time claim no longer rests on this registry. Verify with OpenSSL 3 (LibreSSL, the macOS default, cannot check the ESS extension):
curl -sO https://registry.falsify.dev/86f76e446db76babca94cd97e645fafc838e0524f05bd75aa594f77ce98e7759.tsr
curl -s https://timestamp.sigstore.dev/api/v1/timestamp/certchain -o chain.pem
awk 'split_after==1{n++;split_after=0} /END CERTIFICATE/{split_after=1} {print > ("tsa-" n ".pem")}' n=0 chain.pem
openssl ts -verify -digest 86f76e446db76babca94cd97e645fafc838e0524f05bd75aa594f77ce98e7759 \
-in 86f76e446db76babca94cd97e645fafc838e0524f05bd75aa594f77ce98e7759.tsr -CAfile tsa-1.pem -untrusted tsa-0.pem
Expected output: Verification: OK.
What this receipt proves — and what it does not
- Proves: these manifest bytes hashed to this SHA-256, and the registry attests (Ed25519 signature over hash + timestamp, key at /pubkey) that it saw the hash at the recorded time.
- Timestamp: where an RFC 3161 token is present (the "Independent timestamp" row above), the time claim is countersigned by a public timestamp authority and verifiable offline; backdating it would require compromising that authority, not just this registry. Records without a token rest on the registry's clock alone until anchored. Where a "Transparency log" row is present, the hash is additionally mirrored to the public Sigstore Rekor log with a verifiable inclusion proof.
- Does not prove: ordering, or the claimed result. A PRML receipt establishes that these criteria existed no later than the recorded time; it does not establish that the evaluation ran afterwards — that is what a
prml-linkage/0record is for — and it never establishes that the result is good. - The signature covers hash + timestamp only, not the submitted handle. There is no key-rotation story yet; the current key id is served at /pubkey.
- Limitations: the registry itself is a signed key-value store, not an append-only log — per-record non-equivocation comes from the Rekor entry, and records committed before full-manifest storage (2026-07-11) carry their RFC 3161 token only. No long-term storage guarantee: mirror your hashes in your own infrastructure.
PRML v0.2 is a frozen RFC (comment window closed 2026-05-22) — spec.falsify.dev/v0.2-rfc. Editor: spec.falsify.dev/editor.