{
  "proof": "correction-only continuity",
  "generated": {
    "bundle": "artifacts/latest/bundle.json",
    "trust": "artifacts/latest/trust.json",
    "record_count": 11,
    "private_keys_persisted": false,
    "corrected_source_value_persisted": false
  },
  "tests": [
    {
      "id": "intact.offline.verification",
      "expected": true,
      "actual": true,
      "pass": true
    },
    {
      "id": "tampered.signature.rejected",
      "expected": false,
      "actual": false,
      "pass": true
    },
    {
      "id": "tampered.replacement.disclosure.rejected",
      "expected": false,
      "actual": false,
      "pass": true
    }
  ],
  "intact": {
    "ok": true,
    "signature_report": {
      "ok": true,
      "checked": 11,
      "failures": []
    },
    "claims": [
      {
        "id": "read.before.expiry.allowed",
        "pass": true,
        "detail": "Read request at 2026-10-22T14:01:00.000Z was allowed before expiry.",
        "evidence": [
          "read.result_452af6bac4c0f265"
        ]
      },
      {
        "id": "read.after.expiry.denied",
        "pass": true,
        "detail": "Read request at 2026-10-22T19:00:00.000Z was denied after 2026-10-22T17:00:00.000Z.",
        "evidence": [
          "read.result_09ce16bc8fb7968f"
        ]
      },
      {
        "id": "local.matching.flags.only.D1.D2",
        "pass": true,
        "detail": "Independent recomputation flags D1, D2; the customer match record reports D1, D2. D3 has no linked source and is not flagged.",
        "evidence": [
          "local.matching_17cb5a88217f4663"
        ]
      },
      {
        "id": "notice.after.expiry.accepted",
        "pass": true,
        "detail": "Notice was sent and accepted after data-read expiry, before the notice right ended at 2026-10-22T23:59:59.000Z.",
        "evidence": [
          "notice.state_9fbc826ca5541220",
          "notice.state_2e6d0799b5e60362"
        ]
      },
      {
        "id": "notice.contains.no.replacement.data",
        "pass": true,
        "detail": "All post-expiry records, including the correction, notice states, local match report and denied read result, contain no replacement value, replacement version or replacement payload.",
        "evidence": [
          "read.result_09ce16bc8fb7968f",
          "correction.notice_aa2fa0c90ab16fcf",
          "notice.state_9fbc826ca5541220",
          "notice.state_2e6d0799b5e60362",
          "local.matching_17cb5a88217f4663"
        ]
      },
      {
        "id": "retained.keys.verify.after.access.expiry",
        "pass": true,
        "detail": "5 post-expiry provider/customer records verify against retained public keys; no private keys or active read access are present in the bundle.",
        "evidence": [
          "read.result_09ce16bc8fb7968f",
          "correction.notice_aa2fa0c90ab16fcf",
          "notice.state_9fbc826ca5541220",
          "notice.state_2e6d0799b5e60362",
          "local.matching_17cb5a88217f4663"
        ]
      }
    ],
    "corrected_source": {
      "receipt_id": "source.assertion_2b8d6f02d4cffb16",
      "payload_sha256": "2b8d6f02d4cffb16591cc9fb424731993d4aa9257f858feef179988f83412fb9"
    },
    "source_receipt": "source.assertion_2b8d6f02d4cffb16",
    "limits": [
      "Synthetic timestamps and identities only.",
      "The proof verifies signed records and local matching; it does not exercise a live provider connector or entitlement system.",
      "It proves a bounded review set from recorded links, not every potentially affected answer or causal impact."
    ]
  },
  "tamper_expectations": {
    "signature_tamper_rejected": true,
    "replacement_data_tamper_rejected": true
  },
  "pass": true
}