{"ok":true,"receipt":{"receipt_id":"rc1:1ed3c9cfc57e90b9c7ec755c6b02d8a6ddc65e50991a0569fdbe1b5a6ebb8806","kind":"crawlcheck-remediation-receipt","v":1,"issued_at":"2026-10-01T19:34:34.852Z","issuer":{"observer":"crawlcheck-worker","version_id":"db97fc18-baa0-41b1-a1c0-e9807b6867e6","version_tag":"48364d5bdcf65094","key":{"kid":"hcIAczGf-8EFBnkunmZlvFWnD2nHHeHeC9cM4BTiBVo","jwk":{"kty":"OKP","crv":"Ed25519","x":"Ny5tAiGdpyVWTm64G1_0g_sTo4ocLL7kqjZ6cK7G5KM"},"published_in":"https://crawlcheck.io/.well-known/http-message-signatures-directory"}},"subject":{"domain":"supremefencingdenver.com"},"before":{"report_id":"doutzx0p8h","scanned_at":"2026-09-02T01:26:12.248Z","grade":"A","score":87,"score_version":14,"refused":false,"findings":1,"manifest_sha256":null,"decision_root":null,"trace_id":null},"declared_fix":{"kind":"declared by the site owner","declared_by":"VSNARY (site owner)","declared_at":"2026-09-02T00:00:00.000Z","plugin_version":null,"fixes":["Cloudflare HTML cache rule edge_ttl override 14400 to 1800 s (the origin sends max-age=1800), then purge_everything after a Varnish purge"],"note":null},"deployed":{"at":"2026-09-02T00:00:00.000Z","basis":"not measured: the time the change went live was not observed; the after record is the first measurement after it"},"after":{"report_id":"9yue49axbj","scanned_at":"2026-09-02T01:33:34.137Z","grade":"A","score":87,"score_version":14,"refused":false,"findings":0,"manifest_sha256":null,"decision_root":null,"trace_id":null},"verification":{"verdict":"improved","summary":"Improved: 1 finding cleared, 0 new; 0 rows now pass, 0 now fail; A 87 → A 87","comparable":true,"findings":{"cleared":["STALE_CACHE_SERVED"],"new":[],"kept":0},"rows":{"now_passing":0,"now_failing":0},"files":[],"rollback_needed":false,"rollback_steps":[],"method":"rbkCompare over the two stored records: findings by fingerprint, scored rows by section and key, machine files by the sha256 of the bytes each scan received"},"links":{"before":"https://crawlcheck.io/api/verify?id=doutzx0p8h","after":"https://crawlcheck.io/api/verify?id=9yue49axbj","rollback":"https://crawlcheck.io/api/rollback?from=doutzx0p8h&to=9yue49axbj"},"signature":{"v":1,"alg":"Ed25519","kid":"hcIAczGf-8EFBnkunmZlvFWnD2nHHeHeC9cM4BTiBVo","over":"receipt_sha256","receipt_sha256":"1ed3c9cfc57e90b9c7ec755c6b02d8a6ddc65e50991a0569fdbe1b5a6ebb8806","message":"crawlcheck-receipt-v1\n1ed3c9cfc57e90b9c7ec755c6b02d8a6ddc65e50991a0569fdbe1b5a6ebb8806","sig":"P5Mkq8i-WTKsRObiY01ObXyHTZZOPQYyFpRUYffahU2PxSs77zB_VCNRNcX0-sfX7QlknFO6GCtxdNKoe6qeCg","signed_at":"2026-10-01T19:34:34.852Z","canonical":"sha256 over canonical JSON (keys sorted at every level, no whitespace) of the receipt without receipt_id and signature"}},"verification":{"ok":true,"receipt_id":"rc1:1ed3c9cfc57e90b9c7ec755c6b02d8a6ddc65e50991a0569fdbe1b5a6ebb8806","checks":[{"id":"receipt_hash","ok":true,"why":"the receipt hashes to its id"},{"id":"key_id","ok":true,"why":"the key's RFC 7638 thumbprint is the signature's key id"},{"id":"key_published","ok":true,"why":"the key is in this observer's published directory"},{"id":"signature","ok":true,"why":"Ed25519 signature over the receipt digest verifies"}]},"outcomes":{"available":false,"why":"The outcome series (Search Console, Business Profile, the site's own crawler log, the beacon, the form) are the site owner's own numbers: a licence for supremefencingdenver.com or the owner's session opens them.","url":"https://crawlcheck.io/api/outcomes?receipt=rc1%3A1ed3c9cfc57e90b9c7ec755c6b02d8a6ddc65e50991a0569fdbe1b5a6ebb8806"},"offline":{"verifier":"https://crawlcheck.io/crawlcheck-verify.mjs?v=c96356e45adb8e56","sha256":"c96356e45adb8e56980d94dc9c5491df4ade7ab069e8d70b2d9c9edcbc637a6b","run":"node crawlcheck-verify.mjs receipt.json","download":"https://crawlcheck.io/api/receipt?id=rc1%3A1ed3c9cfc57e90b9c7ec755c6b02d8a6ddc65e50991a0569fdbe1b5a6ebb8806&download=1"}}