{
  "_demo": {
    "attack_class": "Stolen Key",
    "scenario": "Attacker exfiltrated phishy-verifier-phi's private signing keys before its operator caught on. phi reported the compromise and posted a Revoked registry record at 2026-05-23T13:33:20Z (unix-ms 1779500000000). The attacker keeps signing receipts under the stolen key after that timestamp.",
    "expected_rejection": "VerifierRevokedAtVerificationTime",
    "live_check_in_browser": "Look up receipt.body.verifier_principal_id in registry-state.json. Find the principal's status at receipt.body.verified_at_unix_ms. Status is Revoked. Reject — but preserve the pre-revocation history (this is the accountability property: receipts from before the revoke remain cryptographically traceable).",
    "production_check": "qsign_fed_registry::InMemoryRegistry::record_at(principal_id, verified_at_unix_ms) returns a record with RegistryStatus::Revoked. qsign_fed_receipts::verify_receipt returns ReceiptOutcome::Invalid with a reason naming the revoke. Revoked is terminal in the substrate; no forward transition out of it is permitted."
  },
  "schema": "urn:h33:qsign:fed-verification-receipt:v0.1",
  "receipt_hash": "3333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333af",
  "body": {
    "verifier_principal_id": "urn:h33:fed:phishy-verifier-phi:verifier:rogue-batch",
    "verified_artifact_schema": "urn:h33:qsign:nap:v0.1",
    "verified_artifact_binding_hash": "b7c9d2e4f6a8b0c1d3e5f7091a3b5c7d9e1f3a5b7c9d2e4f6a8b0c1d3e5f7091a3b5c7d9e1f3a5b7c9d2e4f6a8b0c1d3",
    "verifier_outcome": "Valid",
    "registry_tip_hash_at_verification": "f7c4a2e8b9d3f1c6a5e02071e93b4d6f8a0c2e4f6081739b5d8e0f2a4c6e8b0d2f4a6c8e0b2d4f60819a3c5e7f9b1d3e5",
    "registry_records_at_verification": 5,
    "verified_at_unix_ms": 1780000200000,
    "verifier_software": "stolen-key-replay/0.1",
    "notes": "issued by attacker holding phi's exfiltrated keys; post-revocation"
  },
  "signatures": {
    "ml_dsa_87":    "5a9c2f4e6d1b3a5c7e9f0a2b4d6f8e0c2a4f6d8b0c2e4f60819a3c5e7f9b1d3e5071a3b5c7d9e1f3a5b7c9d2e4f6a8b0c1d3e5f7091a3b5c7d9e1f3a5b7c9d2e4f6a",
    "slh_dsa_256s": "4b8d1e3a5c7f9b2d4e6f8a0c2e4f60819a3c5e7f9b1d3e5071a3b5c7d9e1f3a5b7c9d2e4f6a8b0c1d3e5f7091a3b5c7d9e1f3a5b7c9d2e4f6a8b0c1d3e5f7091a3b5",
    "falcon":       "3c7d0e2a4b6c8d0e2f4a6c8e0b2d4f60819a3c5e7f9b1d3e5071a3b5c7d9e1f3a5b7c9d2e4f6a8b0c1d3e5f7091a3b5c7d9e1f3a5b7c9d2e4f6a8b0c1d3e5f7091a3"
  }
}
