{"receipt_id":"r_384ed1c310874f76","sha256":"ca130735f8b983a82ad7c7524869568fd0e64f0884075ee60ab312ddc9fae0eb","created_at":"2026-10-09T15:36:25.986734+00:00","signature_set":null,"verification":{"state":"CLASSICAL_ONLY","set_present":false,"ml_dsa_65_valid":null,"ed25519_valid":null,"set_valid":null,"note":"Ed25519 only. Receipts registered before the signature set existed carry no set; their SHA-256, transparency-log inclusion, SLH-DSA archive checkpoint and OpenTimestamps anchor still verify."},"withdrawn":false,"states":{"CLASSICAL_ONLY":"Ed25519 only. Receipts registered before the signature set existed carry no set; their SHA-256, transparency-log inclusion, SLH-DSA archive checkpoint and OpenTimestamps anchor still verify.","HYBRID":"Ed25519 + ML-DSA-65, both detached over the ASCII bytes of the receipt's SHA-256 hex. Verification of the set succeeds only if BOTH verify. A verifier that does not know ML-DSA may check the Ed25519 signature alone and must say so.","PQC_ONLY":"ML-DSA-65 only; Ed25519 no longer issued. Target state — by policy no later than 2031-12-31 (the OMB M-26-15 digital-signature date for agencies' covered systems); earlier if a break in Ed25519 is published."},"state_now_for_new_receipts":"HYBRID","how_to_verify_offline":"data = ASCII bytes of sha256; ML-DSA-65.verify(pk_pq, data, b64decode(signature.value)); Ed25519.verify(pk_ed, b64decode(signature.hybrid_classical.value), data); keys at /api/vc/did.json.","what_it_attests":"That this hash was registered by this platform at this time. It attests nothing about the party named in the receipt and is not a certification of anything."}