{
  "source": "same BIP-39 oracle and relationship nonces as vectors/visibility.json (parties A/B enactment, R_T/T_I introduction); eddsa-jcs-2022 per W3C DI-EDDSA: hashData = SHA256(JCS(proofConfig incl. @context where present)) || SHA256(JCS(document without proof)), Ed25519 over hashData, proofValue = z-base58btc",
  "fixtures": {
    "challengeA": "u8BPX31WVpE-kX4f4iPv60oqn7IldHWsNT3vXXvHHLLI",
    "challengeB": "ujNsvrcZr0q9FERd0jSZaSb_Q2bYlcLquTMuuI7BfjP0",
    "enactmentBinding": "digest over JCS({ceremony:'encounter-scan@0.25',challenges:[..ascending]}) per Encounter 5.4 — recomputable from the two challenge fixtures; ceremony-STATE checks (challenge resolution, record machine) are deliberately out of scope of this file"
  },
  "cards": {
    "introductionRequesterDisplayed": {
      "version": "rltp-card/0.25",
      "anchor": "did:key:z6MkiPnVJgyz6BrKq75TCPBfNutb7zrQH8wzszGvPPnSLTSL",
      "keyAgreement": "z6LSi8JSwRKo9tWUVNUuzBZaLAqmJe82xEMq9E25cqyRcsLs",
      "proof": {
        "type": "DataIntegrityProof",
        "cryptosuite": "eddsa-jcs-2022",
        "created": "2026-08-23T12:09:00Z",
        "verificationMethod": "did:key:z6MkiPnVJgyz6BrKq75TCPBfNutb7zrQH8wzszGvPPnSLTSL#z6MkiPnVJgyz6BrKq75TCPBfNutb7zrQH8wzszGvPPnSLTSL",
        "proofPurpose": "assertionMethod",
        "proofValue": "z33udZfUo7ndWE8ZE4sSnoNZ8RQ2pFd74eUbAhizC5paqzCTUuatQU73MawMWP6jPuQCfN7y6ccPSY9cJf3QpQ8oz"
      }
    },
    "introductionTargetDisplayed": {
      "version": "rltp-card/0.25",
      "anchor": "did:key:z6MkiU8z68CNDyk2KhvKVcT1Es9q3cJz3x7Bg25A9gauv1Gk",
      "keyAgreement": "z6LShPJYz1yajfxjGAoW2feTUVWynBMQrrd2GQPQkRd2pNtq",
      "proof": {
        "type": "DataIntegrityProof",
        "cryptosuite": "eddsa-jcs-2022",
        "created": "2026-08-23T12:14:00Z",
        "verificationMethod": "did:key:z6MkiU8z68CNDyk2KhvKVcT1Es9q3cJz3x7Bg25A9gauv1Gk#z6MkiU8z68CNDyk2KhvKVcT1Es9q3cJz3x7Bg25A9gauv1Gk",
        "proofPurpose": "assertionMethod",
        "proofValue": "zFADMao2AYAhmsU2CbzYrYHM8kZinhd8rVnQx1L9V2KJ3bBJ8PhkfFttfeTouCwo1HTo9szF35Ar7JaABuJT7U5Z"
      }
    },
    "displayedWithChallenge": {
      "version": "rltp-card/0.25",
      "anchor": "did:key:z6MkoFmDjYURbueh9eraATv8YBJMqhbZpFnK9W9qZfm1jF4J",
      "keyAgreement": "z6LSjZCn6MctoMKaXj3wjRugvV1U5Y41vGLBNgJESZY5vXwr",
      "challenge": {
        "value": "u8BPX31WVpE-kX4f4iPv60oqn7IldHWsNT3vXXvHHLLI",
        "issuedAt": "2026-08-23T11:58:00Z"
      },
      "proof": {
        "type": "DataIntegrityProof",
        "cryptosuite": "eddsa-jcs-2022",
        "created": "2026-08-23T11:58:00Z",
        "verificationMethod": "did:key:z6MkoFmDjYURbueh9eraATv8YBJMqhbZpFnK9W9qZfm1jF4J#z6MkoFmDjYURbueh9eraATv8YBJMqhbZpFnK9W9qZfm1jF4J",
        "proofPurpose": "assertionMethod",
        "proofValue": "z3XJfyxwBXu3C2GF6gckqGEs1EDpvK8DzKMWfvPEob4JpAnw5BmMnSrdy3fNZvVTUBZbqp31jjq6MEcGcrns7vqMV"
      }
    },
    "sent": {
      "version": "rltp-card/0.25",
      "anchor": "did:key:z6MkoFmDjYURbueh9eraATv8YBJMqhbZpFnK9W9qZfm1jF4J",
      "keyAgreement": "z6LSjZCn6MctoMKaXj3wjRugvV1U5Y41vGLBNgJESZY5vXwr",
      "challenge": {
        "value": "u8BPX31WVpE-kX4f4iPv60oqn7IldHWsNT3vXXvHHLLI",
        "issuedAt": "2026-08-23T11:58:00Z"
      },
      "sentTo": "did:key:z6MkgH4AfnsQtPHYYLsg3TywkVTmZGoJL9D5bstbFM6AehKw",
      "boundTo": "ujNsvrcZr0q9FERd0jSZaSb_Q2bYlcLquTMuuI7BfjP0",
      "proof": {
        "type": "DataIntegrityProof",
        "cryptosuite": "eddsa-jcs-2022",
        "created": "2026-08-23T11:59:00Z",
        "verificationMethod": "did:key:z6MkoFmDjYURbueh9eraATv8YBJMqhbZpFnK9W9qZfm1jF4J#z6MkoFmDjYURbueh9eraATv8YBJMqhbZpFnK9W9qZfm1jF4J",
        "proofPurpose": "assertionMethod",
        "proofValue": "z2TqRQErrPX8LrMsS5RoisbyZ1TmCp7mBo2tTM6DBLBfEsUEXh5ne47dF2afEe4fGYK3pHHvL3riRH3hnXbDqt4xo"
      }
    }
  },
  "credential": {
    "@context": [
      "https://www.w3.org/ns/credentials/v2",
      "https://firstperson.network/credentials/dtg/v1",
      "https://real-life.org/rltp/v1"
    ],
    "type": [
      "VerifiableCredential",
      "DTGCredential",
      "RelationshipCredential",
      "EncounterCredential"
    ],
    "issuer": "did:key:z6MkoFmDjYURbueh9eraATv8YBJMqhbZpFnK9W9qZfm1jF4J",
    "validFrom": "2026-08-23T12:00:00Z",
    "credentialSubject": {
      "id": "did:key:z6MkgH4AfnsQtPHYYLsg3TywkVTmZGoJL9D5bstbFM6AehKw",
      "format": "rltp-encounter-credential/0.25",
      "ceremony": "encounter-scan@0.25",
      "challenge": "ujNsvrcZr0q9FERd0jSZaSb_Q2bYlcLquTMuuI7BfjP0",
      "enactmentBinding": "uEiCjr5L0z726fbvDwPpVdj0ozRCbw2ZHVfXL1PFjhCemZQ"
    },
    "proof": {
      "type": "DataIntegrityProof",
      "cryptosuite": "eddsa-jcs-2022",
      "created": "2026-08-23T12:00:00Z",
      "verificationMethod": "did:key:z6MkoFmDjYURbueh9eraATv8YBJMqhbZpFnK9W9qZfm1jF4J#z6MkoFmDjYURbueh9eraATv8YBJMqhbZpFnK9W9qZfm1jF4J",
      "proofPurpose": "assertionMethod",
      "proofValue": "z3Gf8AdeQMbsUxT6GDKdSQbCdEjXeLXC3b4Y3sDPwuu7uXjX1j5ELW2bdKJP5eCvnUpaY5bCXMZwj5TDUVp5xHFg7",
      "@context": [
        "https://www.w3.org/ns/credentials/v2",
        "https://firstperson.network/credentials/dtg/v1",
        "https://real-life.org/rltp/v1"
      ]
    }
  },
  "negative": [
    {
      "name": "card-mutated-after-signing",
      "checkOrder": "schema PASS, Layer-1 binding PASS (anchor == verificationMethod), DI verification FAILS exclusively (document hash differs)",
      "expect": "reject: proof does not verify",
      "artifact": {
        "version": "rltp-card/0.25",
        "anchor": "did:key:z6MkiPnVJgyz6BrKq75TCPBfNutb7zrQH8wzszGvPPnSLTSL",
        "keyAgreement": "z6LShPJYz1yajfxjGAoW2feTUVWynBMQrrd2GQPQkRd2pNtq",
        "proof": {
          "type": "DataIntegrityProof",
          "cryptosuite": "eddsa-jcs-2022",
          "created": "2026-08-23T12:09:00Z",
          "verificationMethod": "did:key:z6MkiPnVJgyz6BrKq75TCPBfNutb7zrQH8wzszGvPPnSLTSL#z6MkiPnVJgyz6BrKq75TCPBfNutb7zrQH8wzszGvPPnSLTSL",
          "proofPurpose": "assertionMethod",
          "proofValue": "z33udZfUo7ndWE8ZE4sSnoNZ8RQ2pFd74eUbAhizC5paqzCTUuatQU73MawMWP6jPuQCfN7y6ccPSY9cJf3QpQ8oz"
        }
      }
    },
    {
      "name": "verification-method-foreign-anchor",
      "checkOrder": "schema PASS (pattern), Layer-1 binding check FAILS: verificationMethod anchor != card.anchor",
      "expect": "reject before crypto: unbound material (Encounter 2.3)",
      "artifact": {
        "version": "rltp-card/0.25",
        "anchor": "did:key:z6MkiU8z68CNDyk2KhvKVcT1Es9q3cJz3x7Bg25A9gauv1Gk",
        "keyAgreement": "z6LShPJYz1yajfxjGAoW2feTUVWynBMQrrd2GQPQkRd2pNtq",
        "proof": {
          "type": "DataIntegrityProof",
          "cryptosuite": "eddsa-jcs-2022",
          "created": "2026-08-23T12:14:00Z",
          "verificationMethod": "did:key:z6MkiPnVJgyz6BrKq75TCPBfNutb7zrQH8wzszGvPPnSLTSL#z6MkiPnVJgyz6BrKq75TCPBfNutb7zrQH8wzszGvPPnSLTSL",
          "proofPurpose": "assertionMethod",
          "proofValue": "zFADMao2AYAhmsU2CbzYrYHM8kZinhd8rVnQx1L9V2KJ3bBJ8PhkfFttfeTouCwo1HTo9szF35Ar7JaABuJT7U5Z"
        }
      }
    },
    {
      "name": "sent-card-missing-boundTo",
      "checkOrder": "schema: dependentRequired sentTo->boundTo",
      "expect": "reject: malformed sent card",
      "artifact": {
        "version": "rltp-card/0.25",
        "anchor": "did:key:z6MkoFmDjYURbueh9eraATv8YBJMqhbZpFnK9W9qZfm1jF4J",
        "keyAgreement": "z6LSjZCn6MctoMKaXj3wjRugvV1U5Y41vGLBNgJESZY5vXwr",
        "challenge": {
          "value": "u8BPX31WVpE-kX4f4iPv60oqn7IldHWsNT3vXXvHHLLI",
          "issuedAt": "2026-08-23T11:58:00Z"
        },
        "sentTo": "did:key:z6MkgH4AfnsQtPHYYLsg3TywkVTmZGoJL9D5bstbFM6AehKw",
        "proof": {
          "type": "DataIntegrityProof",
          "cryptosuite": "eddsa-jcs-2022",
          "created": "2026-08-23T11:59:00Z",
          "verificationMethod": "did:key:z6MkoFmDjYURbueh9eraATv8YBJMqhbZpFnK9W9qZfm1jF4J#z6MkoFmDjYURbueh9eraATv8YBJMqhbZpFnK9W9qZfm1jF4J",
          "proofPurpose": "assertionMethod",
          "proofValue": "z2TqRQErrPX8LrMsS5RoisbyZ1TmCp7mBo2tTM6DBLBfEsUEXh5ne47dF2afEe4fGYK3pHHvL3riRH3hnXbDqt4xo"
        }
      }
    }
  ]
}
