{
  "description": "A receipt chain across a key rotation (A9): the first receipt is signed by the provider key that was later retired, before its exp, the second by the active key, and both verify a year later from the provider's published key set alone. Each receipt carries its provider, its canonical request and the hash of the disclosure it records.",
  "vectors": [
    {
      "id": "receipt-before-rotation",
      "description": "The first receipt of the chain, signed by the provider key that was later retired, before its exp. Its request was received with repeated and unordered domains and without the defaults.",
      "checks": [
        "SIGN-01",
        "LOG-01",
        "LOG-02",
        "KEY-01"
      ],
      "typ": "autonym-receipt+jws",
      "verify": {
        "key_set": "provider",
        "trusted_issuer": "https://autonym.example",
        "now": "2027-09-22T00:00:00Z"
      },
      "expected": {
        "valid": true,
        "kid": "3QA66uHrbG9BnCQj8_OfGgzottqgZBfdvL1q14XiT9w",
        "signed_at": "2026-09-21T09:00:00Z"
      },
      "unsigned": {
        "event_id": "evt_01JVECT0RS00000000000000E1",
        "provider": "https://autonym.example",
        "read_id": "rd_01JVECT0RS00000000000000R1",
        "grant_id": "gr_01JVECT0RS00000000000000G1",
        "client_id": "https://recipient.example/client",
        "at": "2026-09-21T09:00:00Z",
        "purpose": "recommendation",
        "surface": "rest",
        "request": {
          "domains": [
            "agent",
            "home",
            "identity"
          ],
          "max_level": "L2",
          "declared_only": false,
          "min_confidence": 0
        },
        "returned": [
          {
            "entry_id": "ent_01JVECT0RS0000000000000EN1",
            "version": 1,
            "level": "L2"
          },
          {
            "entry_id": "ent_01JVECT0RS0000000000000EN2",
            "version": 2,
            "level": "L2"
          },
          {
            "entry_id": "ent_01JVECT0RS0000000000000EN3",
            "version": 1,
            "level": "L2"
          }
        ],
        "response_hash": "sha256:4c547ec781b79e6bbd28fa184dfa25513cf192fb813070cf64e23fab9d379b3b",
        "prev_hash": null,
        "hash": "sha256:72d9604e1c1b21f557450448c06c8abf1b6646026dcdd83ef37b490c5ff56325"
      },
      "jcs": "{\"at\":\"2026-09-21T09:00:00Z\",\"client_id\":\"https://recipient.example/client\",\"event_id\":\"evt_01JVECT0RS00000000000000E1\",\"grant_id\":\"gr_01JVECT0RS00000000000000G1\",\"hash\":\"sha256:72d9604e1c1b21f557450448c06c8abf1b6646026dcdd83ef37b490c5ff56325\",\"prev_hash\":null,\"provider\":\"https://autonym.example\",\"purpose\":\"recommendation\",\"read_id\":\"rd_01JVECT0RS00000000000000R1\",\"request\":{\"declared_only\":false,\"domains\":[\"agent\",\"home\",\"identity\"],\"max_level\":\"L2\",\"min_confidence\":0},\"response_hash\":\"sha256:4c547ec781b79e6bbd28fa184dfa25513cf192fb813070cf64e23fab9d379b3b\",\"returned\":[{\"entry_id\":\"ent_01JVECT0RS0000000000000EN1\",\"level\":\"L2\",\"version\":1},{\"entry_id\":\"ent_01JVECT0RS0000000000000EN2\",\"level\":\"L2\",\"version\":2},{\"entry_id\":\"ent_01JVECT0RS0000000000000EN3\",\"level\":\"L2\",\"version\":1}],\"surface\":\"rest\"}",
      "jcs_sha256": "79d20385088600728a8afa82f7f7bccaadace878687787733231bc62556fb99c",
      "protected_header": {
        "alg": "ES256",
        "kid": "3QA66uHrbG9BnCQj8_OfGgzottqgZBfdvL1q14XiT9w",
        "typ": "autonym-receipt+jws"
      },
      "jws": "eyJhbGciOiJFUzI1NiIsImtpZCI6IjNRQTY2dUhyYkc5Qm5DUWo4X09mR2d6b3R0cWdaQmZkdkwxcTE0WGlUOXciLCJ0eXAiOiJhdXRvbnltLXJlY2VpcHQrandzIn0..sM89QN9EHC5qfKTEr576V1INQyN9mS_3sHErqDnEsYPlQwvssNlCmDpAdYydqij9iW6VVEEi1aLPG4rps4Rw4w",
      "text": "{\"event_id\":\"evt_01JVECT0RS00000000000000E1\",\"provider\":\"https://autonym.example\",\"read_id\":\"rd_01JVECT0RS00000000000000R1\",\"grant_id\":\"gr_01JVECT0RS00000000000000G1\",\"client_id\":\"https://recipient.example/client\",\"at\":\"2026-09-21T09:00:00Z\",\"purpose\":\"recommendation\",\"surface\":\"rest\",\"request\":{\"domains\":[\"agent\",\"home\",\"identity\"],\"max_level\":\"L2\",\"declared_only\":false,\"min_confidence\":0},\"returned\":[{\"entry_id\":\"ent_01JVECT0RS0000000000000EN1\",\"version\":1,\"level\":\"L2\"},{\"entry_id\":\"ent_01JVECT0RS0000000000000EN2\",\"version\":2,\"level\":\"L2\"},{\"entry_id\":\"ent_01JVECT0RS0000000000000EN3\",\"version\":1,\"level\":\"L2\"}],\"response_hash\":\"sha256:4c547ec781b79e6bbd28fa184dfa25513cf192fb813070cf64e23fab9d379b3b\",\"prev_hash\":null,\"hash\":\"sha256:72d9604e1c1b21f557450448c06c8abf1b6646026dcdd83ef37b490c5ff56325\",\"proof\":{\"type\":\"jws\",\"alg\":\"ES256\",\"kid\":\"3QA66uHrbG9BnCQj8_OfGgzottqgZBfdvL1q14XiT9w\",\"jws\":\"eyJhbGciOiJFUzI1NiIsImtpZCI6IjNRQTY2dUhyYkc5Qm5DUWo4X09mR2d6b3R0cWdaQmZkdkwxcTE0WGlUOXciLCJ0eXAiOiJhdXRvbnltLXJlY2VpcHQrandzIn0..sM89QN9EHC5qfKTEr576V1INQyN9mS_3sHErqDnEsYPlQwvssNlCmDpAdYydqij9iW6VVEEi1aLPG4rps4Rw4w\"}}",
      "chain": {
        "previous": null,
        "prev_hash": null,
        "hash_input_jcs": "{\"at\":\"2026-09-21T09:00:00Z\",\"client_id\":\"https://recipient.example/client\",\"event_id\":\"evt_01JVECT0RS00000000000000E1\",\"grant_id\":\"gr_01JVECT0RS00000000000000G1\",\"prev_hash\":null,\"provider\":\"https://autonym.example\",\"purpose\":\"recommendation\",\"read_id\":\"rd_01JVECT0RS00000000000000R1\",\"request\":{\"declared_only\":false,\"domains\":[\"agent\",\"home\",\"identity\"],\"max_level\":\"L2\",\"min_confidence\":0},\"response_hash\":\"sha256:4c547ec781b79e6bbd28fa184dfa25513cf192fb813070cf64e23fab9d379b3b\",\"returned\":[{\"entry_id\":\"ent_01JVECT0RS0000000000000EN1\",\"level\":\"L2\",\"version\":1},{\"entry_id\":\"ent_01JVECT0RS0000000000000EN2\",\"level\":\"L2\",\"version\":2},{\"entry_id\":\"ent_01JVECT0RS0000000000000EN3\",\"level\":\"L2\",\"version\":1}],\"surface\":\"rest\"}",
        "hash": "sha256:72d9604e1c1b21f557450448c06c8abf1b6646026dcdd83ef37b490c5ff56325"
      },
      "request": {
        "as_received": {
          "domains": [
            "identity",
            "home",
            "agent",
            "home"
          ],
          "max_level": "L2"
        },
        "canonical": {
          "domains": [
            "agent",
            "home",
            "identity"
          ],
          "max_level": "L2",
          "declared_only": false,
          "min_confidence": 0
        }
      },
      "response": {
        "disclosure": "disclosure-retired-key-before-exp",
        "response_hash": "sha256:4c547ec781b79e6bbd28fa184dfa25513cf192fb813070cf64e23fab9d379b3b"
      }
    },
    {
      "id": "receipt-after-rotation",
      "description": "The second receipt, signed by the active key and chained to the first. Its request was received with since in a non-canonical spelling.",
      "checks": [
        "SIGN-01",
        "LOG-01",
        "LOG-02"
      ],
      "typ": "autonym-receipt+jws",
      "verify": {
        "key_set": "provider",
        "trusted_issuer": "https://autonym.example",
        "now": "2027-09-22T00:00:00Z"
      },
      "expected": {
        "valid": true,
        "kid": "mYO1BpXaL579Vtqrg7FdfvJt9y-uBrMaUE6_CW-DHWc",
        "signed_at": "2026-09-22T10:00:00Z"
      },
      "unsigned": {
        "event_id": "evt_01JVECT0RS00000000000000E2",
        "provider": "https://autonym.example",
        "read_id": "rd_01JVECT0RS00000000000000R2",
        "grant_id": "gr_01JVECT0RS00000000000000G1",
        "client_id": "https://recipient.example/client",
        "at": "2026-09-22T10:00:00Z",
        "purpose": "recommendation",
        "surface": "mcp_tool",
        "request": {
          "domains": [
            "agent"
          ],
          "max_level": "L3",
          "keys": [
            "verbosity"
          ],
          "declared_only": false,
          "min_confidence": 0.5,
          "since": "2026-09-21T09:00:00Z"
        },
        "returned": [
          {
            "entry_id": "ent_01JVECT0RS0000000000000EN1",
            "version": 2,
            "level": "L2"
          }
        ],
        "response_hash": "sha256:e8e97850dd88e69aed71137cce47beced665e53e793694fb984874032368bf79",
        "prev_hash": "sha256:72d9604e1c1b21f557450448c06c8abf1b6646026dcdd83ef37b490c5ff56325",
        "hash": "sha256:5646c4fd4a23891b4fa26dd32b0d27154ffaa4b85be3459c1d79613f153b35d8"
      },
      "jcs": "{\"at\":\"2026-09-22T10:00:00Z\",\"client_id\":\"https://recipient.example/client\",\"event_id\":\"evt_01JVECT0RS00000000000000E2\",\"grant_id\":\"gr_01JVECT0RS00000000000000G1\",\"hash\":\"sha256:5646c4fd4a23891b4fa26dd32b0d27154ffaa4b85be3459c1d79613f153b35d8\",\"prev_hash\":\"sha256:72d9604e1c1b21f557450448c06c8abf1b6646026dcdd83ef37b490c5ff56325\",\"provider\":\"https://autonym.example\",\"purpose\":\"recommendation\",\"read_id\":\"rd_01JVECT0RS00000000000000R2\",\"request\":{\"declared_only\":false,\"domains\":[\"agent\"],\"keys\":[\"verbosity\"],\"max_level\":\"L3\",\"min_confidence\":0.5,\"since\":\"2026-09-21T09:00:00Z\"},\"response_hash\":\"sha256:e8e97850dd88e69aed71137cce47beced665e53e793694fb984874032368bf79\",\"returned\":[{\"entry_id\":\"ent_01JVECT0RS0000000000000EN1\",\"level\":\"L2\",\"version\":2}],\"surface\":\"mcp_tool\"}",
      "jcs_sha256": "c18b741094df62f13b2a6879d053882c41731422b1b6fe39b972bdef652b2c65",
      "protected_header": {
        "alg": "ES256",
        "kid": "mYO1BpXaL579Vtqrg7FdfvJt9y-uBrMaUE6_CW-DHWc",
        "typ": "autonym-receipt+jws"
      },
      "jws": "eyJhbGciOiJFUzI1NiIsImtpZCI6Im1ZTzFCcFhhTDU3OVZ0cXJnN0ZkZnZKdDl5LXVCck1hVUU2X0NXLURIV2MiLCJ0eXAiOiJhdXRvbnltLXJlY2VpcHQrandzIn0..5yey6i9F598dzuveUdZ1O84AkzhWCza3ibVAtzf5xAxW3YsoE32nDQJLvhYP5X9aDGeH2fgKTCiUFfrDIH11kQ",
      "text": "{\"event_id\":\"evt_01JVECT0RS00000000000000E2\",\"provider\":\"https://autonym.example\",\"read_id\":\"rd_01JVECT0RS00000000000000R2\",\"grant_id\":\"gr_01JVECT0RS00000000000000G1\",\"client_id\":\"https://recipient.example/client\",\"at\":\"2026-09-22T10:00:00Z\",\"purpose\":\"recommendation\",\"surface\":\"mcp_tool\",\"request\":{\"domains\":[\"agent\"],\"max_level\":\"L3\",\"keys\":[\"verbosity\"],\"declared_only\":false,\"min_confidence\":0.5,\"since\":\"2026-09-21T09:00:00Z\"},\"returned\":[{\"entry_id\":\"ent_01JVECT0RS0000000000000EN1\",\"version\":2,\"level\":\"L2\"}],\"response_hash\":\"sha256:e8e97850dd88e69aed71137cce47beced665e53e793694fb984874032368bf79\",\"prev_hash\":\"sha256:72d9604e1c1b21f557450448c06c8abf1b6646026dcdd83ef37b490c5ff56325\",\"hash\":\"sha256:5646c4fd4a23891b4fa26dd32b0d27154ffaa4b85be3459c1d79613f153b35d8\",\"proof\":{\"type\":\"jws\",\"alg\":\"ES256\",\"kid\":\"mYO1BpXaL579Vtqrg7FdfvJt9y-uBrMaUE6_CW-DHWc\",\"jws\":\"eyJhbGciOiJFUzI1NiIsImtpZCI6Im1ZTzFCcFhhTDU3OVZ0cXJnN0ZkZnZKdDl5LXVCck1hVUU2X0NXLURIV2MiLCJ0eXAiOiJhdXRvbnltLXJlY2VpcHQrandzIn0..5yey6i9F598dzuveUdZ1O84AkzhWCza3ibVAtzf5xAxW3YsoE32nDQJLvhYP5X9aDGeH2fgKTCiUFfrDIH11kQ\"}}",
      "chain": {
        "previous": "receipt-before-rotation",
        "prev_hash": "sha256:72d9604e1c1b21f557450448c06c8abf1b6646026dcdd83ef37b490c5ff56325",
        "hash_input_jcs": "{\"at\":\"2026-09-22T10:00:00Z\",\"client_id\":\"https://recipient.example/client\",\"event_id\":\"evt_01JVECT0RS00000000000000E2\",\"grant_id\":\"gr_01JVECT0RS00000000000000G1\",\"prev_hash\":\"sha256:72d9604e1c1b21f557450448c06c8abf1b6646026dcdd83ef37b490c5ff56325\",\"provider\":\"https://autonym.example\",\"purpose\":\"recommendation\",\"read_id\":\"rd_01JVECT0RS00000000000000R2\",\"request\":{\"declared_only\":false,\"domains\":[\"agent\"],\"keys\":[\"verbosity\"],\"max_level\":\"L3\",\"min_confidence\":0.5,\"since\":\"2026-09-21T09:00:00Z\"},\"response_hash\":\"sha256:e8e97850dd88e69aed71137cce47beced665e53e793694fb984874032368bf79\",\"returned\":[{\"entry_id\":\"ent_01JVECT0RS0000000000000EN1\",\"level\":\"L2\",\"version\":2}],\"surface\":\"mcp_tool\"}",
        "hash": "sha256:5646c4fd4a23891b4fa26dd32b0d27154ffaa4b85be3459c1d79613f153b35d8"
      },
      "request": {
        "as_received": {
          "domains": [
            "agent"
          ],
          "keys": [
            "verbosity"
          ],
          "min_confidence": 0.5,
          "since": "2026-09-21T09:00:00.000Z"
        },
        "canonical": {
          "domains": [
            "agent"
          ],
          "max_level": "L3",
          "keys": [
            "verbosity"
          ],
          "declared_only": false,
          "min_confidence": 0.5,
          "since": "2026-09-21T09:00:00Z"
        }
      },
      "response": {
        "disclosure": "disclosure-active-key",
        "response_hash": "sha256:e8e97850dd88e69aed71137cce47beced665e53e793694fb984874032368bf79"
      }
    }
  ]
}
