This environment is intended for testing verification workflows and conducting interoperability sessions. For enquiries or support, please contact support@igrant.io

Session Detail

Inspect a single verification session

70dd1002-370c-497b-9e60-2d8c33e9ebd0

failed
direct_post

47e94736-a217-40fc-9378-a588e0fab9c0
redirect_uri:https://api.playground.france-identite.gouv.fr/igrantio/verifier-backend/post
7kSwLNy_6EuKZI_Kv7UVcmsu2tKQNG1z69sFiRxIEMA

https://api.playground.france-identite.gouv.fr/igrantio/verifier-backend/post
600s
age_verification_over_18
2026-06-12 07:30:24 UTC    2026-06-12 07:30:37 UTC

DCQL Query

View Query
{
  "credentials": [
    {
      "id": "age_verification",
      "format": "mso_mdoc",
      "meta": {
        "doctype_value": "eu.europa.ec.av.1"
      },
      "claims": [
        {
          "path": [
            "eu.europa.ec.av.1",
            "age_over_18"
          ],
          "intent_to_retain": false
        }
      ]
    }
  ]
}

Validation Result

Invalid
age_verification
mso_mdoc
Invalid
Valid Document DocType: eu.europa.ec.av.1
Valid Issuer Signature IssuerAuth COSE_Sign1 signature verified
Valid Certificate Valid until 2026-09-29T12:02:00+00:00
Trusted Chain signed by trusted root: CN=Scytales Root CA,O=Scytales,C=SE
Valid Token Status Valid until 2026-06-22T07:29:22+00:00
Valid Device Signature DeviceSignature verification failed: signature does not match SessionTranscript (nonce/client_id binding check failed)
View Details
{
  "valid": false,
  "format": "mso_mdoc",
  "disclosed_claims": {
    "eu.europa.ec.av.1:age_over_18": false
  },
  "issuer": "CN=Scytales Root CA,O=Scytales,C=SE",
  "error": null,
  "checks": [
    {
      "id": "valid_document",
      "name": "Valid Document",
      "status": "passed",
      "detail": "DocType: eu.europa.ec.av.1"
    },
    {
      "id": "issuer_signature",
      "name": "Valid Issuer Signature",
      "status": "passed",
      "detail": "IssuerAuth COSE_Sign1 signature verified"
    },
    {
      "id": "valid_certificate",
      "name": "Valid Certificate",
      "status": "passed",
      "detail": "Valid until 2026-09-29T12:02:00+00:00"
    },
    {
      "id": "trusted",
      "name": "Trusted",
      "status": "passed",
      "detail": "Chain signed by trusted root: CN=Scytales Root CA,O=Scytales,C=SE"
    },
    {
      "id": "token_status",
      "name": "Valid Token Status",
      "status": "passed",
      "detail": "Valid until 2026-06-22T07:29:22+00:00"
    },
    {
      "id": "device_signature",
      "name": "Valid Device Signature",
      "status": "failed",
      "detail": "DeviceSignature verification failed: signature does not match SessionTranscript (nonce/client_id binding check failed)"
    }
  ]
}

VP Token

View Raw Token
{
  "age_verification": [
    "o2d2ZXJzaW9uYzEuMGlkb2N1bWVudHOBo2dkb2NUeXBlcWV1LmV1cm9wYS5lYy5hdi4xbGlzc3VlclNpZ25lZKJqbmFtZVNwYWNlc6FxZXUuZXVyb3BhLmVjLmF2LjGB2BhYT6RoZGlnZXN0SUQAZnJhbmRvbVCEGSCXjU_UKxShKWOrxclOcWVsZW1lbnRJZGVudGlmaWVya2FnZV9vdmVyXzE4bGVsZW1lbnRWYWx1ZfRqaXNzdWVyQXV0aIRDoQEmoRghWQJMMIICSDCCAe2gAwIBAgIJBV40GO3nHpODMAoGCCqGSM49BAMCMDsxCzAJBgNVBAYTAlNFMREwDwYDVQQKEwhTY3l0YWxlczEZMBcGA1UEAxMQU2N5dGFsZXMgUm9vdCBDQTAeFw0yNTA5MjkxMjAyMDBaFw0yNjA5MjkxMjAyMDBaME8xCzAJBgNVBAYTAlNFMREwDwYDVQQKEwhTY3l0YWxlczEtMCsGA1UEAxMkU2N5dGFsZXMgRG9jdW1lbnQgc2lnbmVyIGNlcnRpZmljYXRlMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEn7JJkUhWY6LXQgy2SKWvEwpaSaKoj7JWSc09-ECUM3zTnnSbYG4QjHb_JgKj54ERKSdtw5A1rbJvLPEg1s7a6aOBxTCBwjAdBgNVHQ4EFgQU1cQO9szcdMVWwlVjotMCtvPTpAIwHwYDVR0jBBgwFoAUCA3kUHFROjqL1ETcsFn3hCsSHrAwDgYDVR0PAQH_BAQDAgeAMBIGA1UdJQQLMAkGByiBjF0FAQIwIgYDVR0SBBswGYYXaHR0cDovL3d3dy5zY3l0YWxlcy5jb20wOAYDVR0fBDEwLzAtoCugKYYnaHR0cHM6Ly9zdGF0aWMubWRvYy5pZC9jcmwvc2N5dGFsZXMuY3JsMAoGCCqGSM49BAMCA0kAMEYCIQCrwFWm4bzp2MAxtHCtcXTvpkLeCsGq0k1d1GyK6UXAYgIhAIE5gF1koc4LUt5JTQNqDvATJGFhxSVXcE-1XmmE3XsKWQIr2BhZAianZnN0YXR1c6FvaWRlbnRpZmllcl9saXN0omJpZFgwZTRhYzQtNmMzMzUtNmE3YTEyMTMtYzZlZi00Yjc2LTgwZTMtYWRmZmVjODhkNjk4Y3VyaXhaaHR0cHM6Ly9hcGkubmV4dC5nbG9iYWwubWRvYy5pZC93YWxsZXQvSWRlbnRpZmllclBhZ2VMaXN0L2RiNWIzY2U4MzhiODQxYzNhZjMwMjU3YTVkZTE0NmRjZ2RvY1R5cGVxZXUuZXVyb3BhLmVjLmF2LjFndmVyc2lvbmMxLjBsdmFsaWRpdHlJbmZvpGZzaWduZWTAdDIwMjYtMDYtMTJUMDc6Mjk6MjJaaXZhbGlkRnJvbcB0MjAyNi0wNi0xMlQwNzoyOToyMlpqdmFsaWRVbnRpbMB0MjAyNi0wNi0yMlQwNzoyOToyMlpuZXhwZWN0ZWRVcGRhdGXAdDIwMjYtMDYtMTlUMDc6Mjk6MjJabHZhbHVlRGlnZXN0c6FxZXUuZXVyb3BhLmVjLmF2LjGhAFggUq1gWDctpOua9uTi2qKeMcu7bV6oUf3i_k40_beGdIltZGV2aWNlS2V5SW5mb6FpZGV2aWNlS2V5pAECIAEhWCAnBMhWnmnC0MaxOl6Bv614PzJ3G9k07CWXKs87EtSyRCJYICeuHduhl5ucmnB0NAKx_O71N1XoCqT0ULvFJ1cf9_hdb2RpZ2VzdEFsZ29yaXRobWdTSEEtMjU2WEBB39zQpvK6riEh8WtdP1z2-BUTHMftABm21D4eFkGU_Tq4nzna0eDc1mXPUKVsDhSehz1UZZGjP95wXrxchkVGbGRldmljZVNpZ25lZKJqbmFtZVNwYWNlc9gYQaBqZGV2aWNlQXV0aKFvZGV2aWNlU2lnbmF0dXJlhEOhASag9lhAWnZ1ZJcab__q_PMq-Zg0BfOfoLK_tDgaHhWc48Mt8FZQCF2gNivQ7struv9IKPAwnKCJcYWYG7Boajl2D9fubWZzdGF0dXMA"
  ]
}

Decoded Token

Decoded JWT headers, payloads, disclosures, and key binding

View Decoded Token
{
  "age_verification": {
    "version": "1.0",
    "documents": [
      {
        "docType": "eu.europa.ec.av.1",
        "issuerSigned": {
          "nameSpaces": {
            "eu.europa.ec.av.1": [
              "CBORTag(24, b'\\xa4hdigestID\\x00frandomP\\x84\\x19 \\x97\\x8dO\\xd4+\\x14\\xa1)c\\xab\\xc5\\xc9NqelementIdentifierkage_over_18lelementValue\\xf4')"
            ]
          },
          "issuerAuth": [
            "b'\\xa1\\x01&'",
            {
              "33": "b'0\\x82\\x02H0\\x82\\x01\\xed\\xa0\\x03\\x02\\x01\\x02\\x02\\t\\x05^4\\x18\\xed\\xe7\\x1e\\x93\\x830\\n\\x06\\x08*\\x86H\\xce=\\x04\\x03\\x020;1\\x0b0\\t\\x06\\x03U\\x04\\x06\\x13\\x02SE1\\x110\\x0f\\x06\\x03U\\x04\\n\\x13\\x08Scytales1\\x190\\x17\\x06\\x03U\\x04\\x03\\x13\\x10Scytales Root CA0\\x1e\\x17\\r250929120200Z\\x17\\r260929120200Z0O1\\x0b0\\t\\x06\\x03U\\x04\\x06\\x13\\x02SE1\\x110\\x0f\\x06\\x03U\\x04\\n\\x13\\x08Scytales1-0+\\x06\\x03U\\x04\\x03\\x13$Scytales Document signer certificate0Y0\\x13\\x06\\x07*\\x86H\\xce=\\x02\\x01\\x06\\x08*\\x86H\\xce=\\x03\\x01\\x07\\x03B\\x00\\x04\\x9f\\xb2I\\x91HVc\\xa2\\xd7B\\x0c\\xb6H\\xa5\\xaf\\x13\\nZI\\xa2\\xa8\\x8f\\xb2VI\\xcd=\\xf8@\\x943|\\xd3\\x9et\\x9b`n\\x10\\x8cv\\xff&\\x02\\xa3\\xe7\\x81\\x11)\\'m\\xc3\\x905\\xad\\xb2o,\\xf1 \\xd6\\xce\\xda\\xe9\\xa3\\x81\\xc50\\x81\\xc20\\x1d\\x06\\x03U\\x1d\\x0e\\x04\\x16\\x04\\x14\\xd5\\xc4\\x0e\\xf6\\xcc\\xdct\\xc5V\\xc2Uc\\xa2\\xd3\\x02\\xb6\\xf3\\xd3\\xa4\\x020\\x1f\\x06\\x03U\\x1d#\\x04\\x180\\x16\\x80\\x14\\x08\\r\\xe4PqQ::\\x8b\\xd4D\\xdc\\xb0Y\\xf7\\x84+\\x12\\x1e\\xb00\\x0e\\x06\\x03U\\x1d\\x0f\\x01\\x01\\xff\\x04\\x04\\x03\\x02\\x07\\x800\\x12\\x06\\x03U\\x1d%\\x04\\x0b0\\t\\x06\\x07(\\x81\\x8c]\\x05\\x01\\x020\"\\x06\\x03U\\x1d\\x12\\x04\\x1b0\\x19\\x86\\x17http://www.scytales.com08\\x06\\x03U\\x1d\\x1f\\x0410/0-\\xa0+\\xa0)\\x86\\'https://static.mdoc.id/crl/scytales.crl0\\n\\x06\\x08*\\x86H\\xce=\\x04\\x03\\x02\\x03I\\x000F\\x02!\\x00\\xab\\xc0U\\xa6\\xe1\\xbc\\xe9\\xd8\\xc01\\xb4p\\xadqt\\xef\\xa6B\\xde\\n\\xc1\\xaa\\xd2M]\\xd4l\\x8a\\xe9E\\xc0b\\x02!\\x00\\x819\\x80]d\\xa1\\xce\\x0bR\\xdeIM\\x03j\\x0e\\xf0\\x13$aa\\xc5%WpO\\xb5^i\\x84\\xdd{\\n'"
            },
            "b'\\xd8\\x18Y\\x02&\\xa7fstatus\\xa1oidentifier_list\\xa2bidX0e4ac4-6c335-6a7a1213-c6ef-4b76-80e3-adffec88d698curixZhttps://api.next.global.mdoc.id/wallet/IdentifierPageList/db5b3ce838b841c3af30257a5de146dcgdocTypeqeu.europa.ec.av.1gversionc1.0lvalidityInfo\\xa4fsigned\\xc0t2026-06-12T07:29:22ZivalidFrom\\xc0t2026-06-12T07:29:22ZjvalidUntil\\xc0t2026-06-22T07:29:22ZnexpectedUpdate\\xc0t2026-06-19T07:29:22ZlvalueDigests\\xa1qeu.europa.ec.av.1\\xa1\\x00X R\\xad`X7-\\xa4\\xeb\\x9a\\xf6\\xe4\\xe2\\xda\\xa2\\x9e1\\xcb\\xbbm^\\xa8Q\\xfd\\xe2\\xfeN4\\xfd\\xb7\\x86t\\x89mdeviceKeyInfo\\xa1ideviceKey\\xa4\\x01\\x02 \\x01!X \\'\\x04\\xc8V\\x9ei\\xc2\\xd0\\xc6\\xb1:^\\x81\\xbf\\xadx?2w\\x1b\\xd94\\xec%\\x97*\\xcf;\\x12\\xd4\\xb2D\"X \\'\\xae\\x1d\\xdb\\xa1\\x97\\x9b\\x9c\\x9apt4\\x02\\xb1\\xfc\\xee\\xf57U\\xe8\\n\\xa4\\xf4P\\xbb\\xc5\\'W\\x1f\\xf7\\xf8]odigestAlgorithmgSHA-256'",
            "b'A\\xdf\\xdc\\xd0\\xa6\\xf2\\xba\\xae!!\\xf1k]?\\\\\\xf6\\xf8\\x15\\x13\\x1c\\xc7\\xed\\x00\\x19\\xb6\\xd4>\\x1e\\x16A\\x94\\xfd:\\xb8\\x9f9\\xda\\xd1\\xe0\\xdc\\xd6e\\xcfP\\xa5l\\x0e\\x14\\x9e\\x87=Te\\x91\\xa3?\\xdep^\\xbc\\\\\\x86EF'"
          ]
        },
        "deviceSigned": {
          "nameSpaces": "CBORTag(24, b'\\xa0')",
          "deviceAuth": {
            "deviceSignature": [
              "b'\\xa1\\x01&'",
              {},
              null,
              "b'Zvud\\x97\\x1ao\\xff\\xea\\xfc\\xf3*\\xf9\\x984\\x05\\xf3\\x9f\\xa0\\xb2\\xbf\\xb48\\x1a\\x1e\\x15\\x9c\\xe3\\xc3-\\xf0VP\\x08]\\xa06+\\xd0\\xee\\xcbk\\xba\\xffH(\\xf00\\x9c\\xa0\\x89q\\x85\\x98\\x1b\\xb0hj9v\\x0f\\xd7\\xeem'"
            ]
          }
        }
      }
    ],
    "status": 0
  }
}

Session Logs

3 total
2026-06-12 07:30:24 UTC INFO /presentations Presentation request created
Data:
{
  "request_headers": {
    "host": "api.playground.france-identite.gouv.local:32689",
    "via": "1.1 Caddy",
    "x-forwarded-for": "84.14.174.234, 127.0.0.1,10.42.7.1",
    "x-forwarded-host": "api.playground.france-identite.gouv.fr",
    "pragma": "no-cache",
    "sec-ch-ua-mobile": "?0",
    "content-type": "application/x-www-form-urlencoded",
    "sec-fetch-user": "?1",
    "sec-fetch-dest": "document",
    "sec-ch-ua-platform": "\"Windows\"",
    "accept-language": "en-US,en;q=0.9,el;q=0.8",
    "sec-fetch-mode": "navigate",
    "upgrade-insecure-requests": "1",
    "accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7",
    "referer": "https://api.playground.france-identite.gouv.fr/igrantio/verifier/admin/create-request/",
    "sec-fetch-site": "same-origin",
    "cache-control": "no-cache",
    "sec-ch-ua": "\"Google Chrome\";v=\"149\", \"Chromium\";v=\"149\", \"Not)A;Brand\";v=\"24\"",
    "origin": "https://api.playground.france-identite.gouv.fr",
    "user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/149.0.0.0 Safari/537.36",
    "x-forwarded-server": "api.playground.france-identite.gouv.fr",
    "x-forwarded-proto": "https",
    "accept-encoding": "gzip, deflate, br, zstd",
    "content-length": "136",
    "x-envoy-external-address": "10.42.7.1",
    "x-request-id": "8de76855-7aab-458f-9f85-d9f2cf6dc420",
    "x-envoy-attempt-count": "1",
    "x-envoy-original-path": "/igrantio/verifier/admin/create-request/",
    "x-forwarded-client-cert": "By=spiffe://cluster.local/ns/igrantio/sa/igrantio-playground-unfold;Hash=f85d912ce0c8b4be2aa8329feea0c430f1917e015799f3c4485af1bdce0e04c5;Subject=\"\";URI=spiffe://cluster.local/ns/istio-system/sa/istio-ingressgateway-service-account",
    "traceparent": "00-f2aab82c85b3b7bf10514f500a27df0b-600671eabd2a1750-00",
    "tracestate": ""
  },
  "request_body": {
    "dcql_query": {
      "credentials": [
        {
          "id": "age_verification",
          "format": "mso_mdoc",
          "meta": {
            "doctype_value": "eu.europa.ec.av.1"
          },
          "claims": [
            {
              "path": [
                "eu.europa.ec.av.1",
                "age_over_18"
              ],
              "intent_to_retain": false
            }
          ]
        }
      ]
    },
    "preset_id": "age_verification_over_18",
    "protocol_profile": "av",
    "wallet_url_scheme": "av://"
  },
  "transaction_id": "70dd1002-370c-497b-9e60-2d8c33e9ebd0",
  "request_id": "47e94736-a217-40fc-9378-a588e0fab9c0",
  "nonce": "7kSwLNy_6EuKZI_Kv7UVcmsu2tKQNG1z69sFiRxIEMA",
  "client_id": "redirect_uri:https://api.playground.france-identite.gouv.fr/igrantio/verifier-backend/post",
  "response_uri": "https://api.playground.france-identite.gouv.fr/igrantio/verifier-backend/post",
  "response_mode": "direct_post",
  "dcql_query": {
    "credentials": [
      {
        "id": "age_verification",
        "format": "mso_mdoc",
        "meta": {
          "doctype_value": "eu.europa.ec.av.1"
        },
        "claims": [
          {
            "path": [
              "eu.europa.ec.av.1",
              "age_over_18"
            ],
            "intent_to_retain": false
          }
        ]
      }
    ]
  },
  "preset_id": "age_verification_over_18",
  "protocol_profile": "av"
}
2026-06-12 07:30:37 UTC INFO /post VP Token received
Data:
{
  "vp_token": {
    "age_verification": [
      "o2d2ZXJzaW9uYzEuMGlkb2N1bWVudHOBo2dkb2NUeXBlcWV1LmV1cm9wYS5lYy5hdi4xbGlzc3VlclNpZ25lZKJqbmFtZVNwYWNlc6FxZXUuZXVyb3BhLmVjLmF2LjGB2BhYT6RoZGlnZXN0SUQAZnJhbmRvbVCEGSCXjU_UKxShKWOrxclOcWVsZW1lbnRJZGVudGlmaWVya2FnZV9vdmVyXzE4bGVsZW1lbnRWYWx1ZfRqaXNzdWVyQXV0aIRDoQEmoRghWQJMMIICSDCCAe2gAwIBAgIJBV40GO3nHpODMAoGCCqGSM49BAMCMDsxCzAJBgNVBAYTAlNFMREwDwYDVQQKEwhTY3l0YWxlczEZMBcGA1UEAxMQU2N5dGFsZXMgUm9vdCBDQTAeFw0yNTA5MjkxMjAyMDBaFw0yNjA5MjkxMjAyMDBaME8xCzAJBgNVBAYTAlNFMREwDwYDVQQKEwhTY3l0YWxlczEtMCsGA1UEAxMkU2N5dGFsZXMgRG9jdW1lbnQgc2lnbmVyIGNlcnRpZmljYXRlMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEn7JJkUhWY6LXQgy2SKWvEwpaSaKoj7JWSc09-ECUM3zTnnSbYG4QjHb_JgKj54ERKSdtw5A1rbJvLPEg1s7a6aOBxTCBwjAdBgNVHQ4EFgQU1cQO9szcdMVWwlVjotMCtvPTpAIwHwYDVR0jBBgwFoAUCA3kUHFROjqL1ETcsFn3hCsSHrAwDgYDVR0PAQH_BAQDAgeAMBIGA1UdJQQLMAkGByiBjF0FAQIwIgYDVR0SBBswGYYXaHR0cDovL3d3dy5zY3l0YWxlcy5jb20wOAYDVR0fBDEwLzAtoCugKYYnaHR0cHM6Ly9zdGF0aWMubWRvYy5pZC9jcmwvc2N5dGFsZXMuY3JsMAoGCCqGSM49BAMCA0kAMEYCIQCrwFWm4bzp2MAxtHCtcXTvpkLeCsGq0k1d1GyK6UXAYgIhAIE5gF1koc4LUt5JTQNqDvATJGFhxSVXcE-1XmmE3XsKWQIr2BhZAianZnN0YXR1c6FvaWRlbnRpZmllcl9saXN0omJpZFgwZTRhYzQtNmMzMzUtNmE3YTEyMTMtYzZlZi00Yjc2LTgwZTMtYWRmZmVjODhkNjk4Y3VyaXhaaHR0cHM6Ly9hcGkubmV4dC5nbG9iYWwubWRvYy5pZC93YWxsZXQvSWRlbnRpZmllclBhZ2VMaXN0L2RiNWIzY2U4MzhiODQxYzNhZjMwMjU3YTVkZTE0NmRjZ2RvY1R5cGVxZXUuZXVyb3BhLmVjLmF2LjFndmVyc2lvbmMxLjBsdmFsaWRpdHlJbmZvpGZzaWduZWTAdDIwMjYtMDYtMTJUMDc6Mjk6MjJaaXZhbGlkRnJvbcB0MjAyNi0wNi0xMlQwNzoyOToyMlpqdmFsaWRVbnRpbMB0MjAyNi0wNi0yMlQwNzoyOToyMlpuZXhwZWN0ZWRVcGRhdGXAdDIwMjYtMDYtMTlUMDc6Mjk6MjJabHZhbHVlRGlnZXN0c6FxZXUuZXVyb3BhLmVjLmF2LjGhAFggUq1gWDctpOua9uTi2qKeMcu7bV6oUf3i_k40_beGdIltZGV2aWNlS2V5SW5mb6FpZGV2aWNlS2V5pAECIAEhWCAnBMhWnmnC0MaxOl6Bv614PzJ3G9k07CWXKs87EtSyRCJYICeuHduhl5ucmnB0NAKx_O71N1XoCqT0ULvFJ1cf9_hdb2RpZ2VzdEFsZ29yaXRobWdTSEEtMjU2WEBB39zQpvK6riEh8WtdP1z2-BUTHMftABm21D4eFkGU_Tq4nzna0eDc1mXPUKVsDhSehz1UZZGjP95wXrxchkVGbGRldmljZVNpZ25lZKJqbmFtZVNwYWNlc9gYQaBqZGV2aWNlQXV0aKFvZGV2aWNlU2lnbmF0dXJlhEOhASag9lhAWnZ1ZJcab__q_PMq-Zg0BfOfoLK_tDgaHhWc48Mt8FZQCF2gNivQ7struv9IKPAwnKCJcYWYG7Boajl2D9fubWZzdGF0dXMA"
    ]
  },
  "state": "47e94736-a217-40fc-9378-a588e0fab9c0",
  "nonce": "7kSwLNy_6EuKZI_Kv7UVcmsu2tKQNG1z69sFiRxIEMA",
  "client_id": "redirect_uri:https://api.playground.france-identite.gouv.fr/igrantio/verifier-backend/post",
  "response_uri": "https://api.playground.france-identite.gouv.fr/igrantio/verifier-backend/post"
}
2026-06-12 07:30:37 UTC WARNING /post Validation failed
How to fix:
One or more credentials failed verification. Check the 'credentials' object below for per-credential errors.
Data:
{
  "hint": "One or more credentials failed verification. Check the 'credentials' object below for per-credential errors.",
  "credentials": {
    "age_verification": {
      "valid": false,
      "format": "mso_mdoc",
      "disclosed_claims": {
        "eu.europa.ec.av.1:age_over_18": false
      },
      "issuer": "CN=Scytales Root CA,O=Scytales,C=SE",
      "checks": [
        {
          "id": "valid_document",
          "name": "Valid Document",
          "status": "passed",
          "detail": "DocType: eu.europa.ec.av.1"
        },
        {
          "id": "issuer_signature",
          "name": "Valid Issuer Signature",
          "status": "passed",
          "detail": "IssuerAuth COSE_Sign1 signature verified"
        },
        {
          "id": "valid_certificate",
          "name": "Valid Certificate",
          "status": "passed",
          "detail": "Valid until 2026-09-29T12:02:00+00:00"
        },
        {
          "id": "trusted",
          "name": "Trusted",
          "status": "passed",
          "detail": "Chain signed by trusted root: CN=Scytales Root CA,O=Scytales,C=SE"
        },
        {
          "id": "token_status",
          "name": "Valid Token Status",
          "status": "passed",
          "detail": "Valid until 2026-06-22T07:29:22+00:00"
        },
        {
          "id": "device_signature",
          "name": "Valid Device Signature",
          "status": "failed",
          "detail": "DeviceSignature verification failed: signature does not match SessionTranscript (nonce/client_id binding check failed)"
        }
      ]
    }
  }
}