{
  "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"
  }
}