{"receipt_id":"r_41a5e88bcf424859","sha256":"e641b7184a50b4133db627be43e8f8fd9b006bace94e3221410f53cd5a73c6a6","created_at":"2026-10-20T00:18:40.302490+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."}