{
  "version": "1",
  "type": "PropRaven Cook County Quality Attestation",
  "county_fips": "031",
  "county_name": "Cook County, IL",
  "quarter": "2026-Q2",
  "generated_at": "2026-05-03T17:19:57.211Z",
  "audit_run_id": "1cbbdca1-62b1-4ab5-bfc2-98dbc6f45c01",
  "audit_run_completed_at": "2026-05-03 09:51:08.806",
  "pdf_url": "https://propraven.com/audit/sample.pdf",
  "public_key_url": "https://propraven.com/audit/attestation-public-key.b64",
  "content_hash_sha256": "e93b1c691c417a52aa800c90cb40602c389c4d1e398ca1fc3a71803d680b6b97",
  "content_bytes": 55508,
  "embedded_hash_warning": "The hash printed on the cover page is the pass-1 hash, NOT the canonical hash you should verify against. Always verify against content_hash_sha256 in this manifest. (Pass 1 establishes a hash to embed; embedding that hash changes the bytes; pass 2 produces the canonical hash that customers compute.)",
  "signature_ed25519": "I1l/IM+3BaeykmwZ4jKTx1zlunKbSJeKa5+MWQsB0Oj/iGCQ95IAuPCQUB65k6cvC53b3N6fI/OXSgQ2tBIRAQ==",
  "signature_message_canonical": "eyJ2ZXJzaW9uIjoiMSIsInR5cGUiOiJQcm9wUmF2ZW4gQ29vayBDb3VudHkgUXVhbGl0eSBBdHRlc3RhdGlvbiIsImNvdW50eV9maXBzIjoiMDMxIiwiY291bnR5X25hbWUiOiJDb29rIENvdW50eSwgSUwiLCJxdWFydGVyIjoiMjAyNi1RMiIsImdlbmVyYXRlZF9hdCI6IjIwMjYtMDUtMDNUMTc6MTk6NTcuMjExWiIsImF1ZGl0X3J1bl9pZCI6IjFjYmJkY2ExLTYyYjEtNGFiNS1iZmMyLTk4ZGJjNmY0NWMwMSIsImF1ZGl0X3J1bl9jb21wbGV0ZWRfYXQiOiIyMDI2LTA1LTAzIDA5OjUxOjA4LjgwNiIsInBkZl91cmwiOiJodHRwczovL3Byb3ByYXZlbi5jb20vYXVkaXQvc2FtcGxlLnBkZiIsInB1YmxpY19rZXlfdXJsIjoiaHR0cHM6Ly9wcm9wcmF2ZW4uY29tL2F1ZGl0L2F0dGVzdGF0aW9uLXB1YmxpYy1rZXkuYjY0IiwiY29udGVudF9oYXNoX3NoYTI1NiI6ImU5M2IxYzY5MWM0MTdhNTJhYTgwMGM5MGNiNDA2MDJjMzg5YzRkMWUzOThjYTFmYzNhNzE4MDNkNjgwYjZiOTciLCJjb250ZW50X2J5dGVzIjo1NTUwOCwiZW1iZWRkZWRfaGFzaF93YXJuaW5nIjoiVGhlIGhhc2ggcHJpbnRlZCBvbiB0aGUgY292ZXIgcGFnZSBpcyB0aGUgcGFzcy0xIGhhc2gsIE5PVCB0aGUgY2Fub25pY2FsIGhhc2ggeW91IHNob3VsZCB2ZXJpZnkgYWdhaW5zdC4gQWx3YXlzIHZlcmlmeSBhZ2FpbnN0IGNvbnRlbnRfaGFzaF9zaGEyNTYgaW4gdGhpcyBtYW5pZmVzdC4gKFBhc3MgMSBlc3RhYmxpc2hlcyBhIGhhc2ggdG8gZW1iZWQ7IGVtYmVkZGluZyB0aGF0IGhhc2ggY2hhbmdlcyB0aGUgYnl0ZXM7IHBhc3MgMiBwcm9kdWNlcyB0aGUgY2Fub25pY2FsIGhhc2ggdGhhdCBjdXN0b21lcnMgY29tcHV0ZS4pIn0=",
  "verification_steps": [
    "1. Fetch the public key from public_key_url over HTTPS",
    "2. Fetch the PDF from pdf_url and SHA-256 its bytes",
    "3. The hash in step 2 must equal content_hash_sha256 in this file, and the PDF byte length must equal content_bytes",
    "4. Decode signature_message_canonical from base64 to bytes",
    "5. Parse those bytes as JSON. It must equal every field of this file except signature_ed25519, signature_message_canonical and verification_steps: the same keys with the same values and JSON types (no field added, missing or changed)",
    "6. ed25519-verify(public_key, signature_ed25519 (b64-decoded), message)",
    "7. If steps 3, 5 and 6 all pass, the PDF bytes and this file's claims are the ones that were signed. A signature verifies integrity, not data accuracy or freshness."
  ]
}