{
  "id": "eudi-request-audit",
  "version": "1.0.0",
  "dataDate": "2026-08-29",
  "purpose": "Compare category labels declared in a relying-party certificate with category labels requested by a transaction, then audit the minimum transaction-log fields.",
  "comparison": {
    "method": "Unicode normalisation, case folding, punctuation removal and exact category-label matching.",
    "decisionRule": "Fail closed: a failed identity check or an undeclared category returns blocked; unknown evidence returns warning. This is a precautionary tool rule, not a universal wallet policy.",
    "limits": "The model does not resolve synonyms and does not determine legal basis, necessity, service identity or compliance.",
    "maximumCategoriesPerList": 30,
    "maximumCategoryLength": 80
  },
  "presets": {
    "aligned": {
      "fr": {
        "registryEntry": "yes",
        "certificateValid": "yes",
        "identityMatches": "yes",
        "declaredAttributes": [
          "preuve d’âge",
          "nom"
        ],
        "requestedAttributes": [
          "preuve d’âge",
          "nom"
        ]
      },
      "en": {
        "registryEntry": "yes",
        "certificateValid": "yes",
        "identityMatches": "yes",
        "declaredAttributes": [
          "proof of age",
          "name"
        ],
        "requestedAttributes": [
          "proof of age",
          "name"
        ]
      }
    },
    "overasking": {
      "fr": {
        "registryEntry": "yes",
        "certificateValid": "yes",
        "identityMatches": "yes",
        "declaredAttributes": [
          "preuve d’âge",
          "nom"
        ],
        "requestedAttributes": [
          "preuve d’âge",
          "nom",
          "adresse complète"
        ]
      },
      "en": {
        "registryEntry": "yes",
        "certificateValid": "yes",
        "identityMatches": "yes",
        "declaredAttributes": [
          "proof of age",
          "name"
        ],
        "requestedAttributes": [
          "proof of age",
          "name",
          "full address"
        ]
      }
    },
    "unverifiable": {
      "fr": {
        "registryEntry": "unknown",
        "certificateValid": "unknown",
        "identityMatches": "unknown",
        "declaredAttributes": [],
        "requestedAttributes": []
      },
      "en": {
        "registryEntry": "unknown",
        "certificateValid": "unknown",
        "identityMatches": "unknown",
        "declaredAttributes": [],
        "requestedAttributes": []
      }
    }
  },
  "receiptFields": [
    {
      "id": "timestamp",
      "requiredFor": "all",
      "labelFr": "Date et heure",
      "labelEn": "Date and time"
    },
    {
      "id": "serviceIdentity",
      "requiredFor": "all",
      "labelFr": "Nom et identifiant du service",
      "labelEn": "Service name and identifier"
    },
    {
      "id": "memberState",
      "requiredFor": "all",
      "labelFr": "État membre du service",
      "labelEn": "Service Member State"
    },
    {
      "id": "requestedAttributes",
      "requiredFor": "all",
      "labelFr": "Catégories de données demandées",
      "labelEn": "Categories of data requested"
    },
    {
      "id": "presentedAttributes",
      "requiredFor": "all",
      "labelFr": "Catégories de données présentées",
      "labelEn": "Categories of data presented"
    },
    {
      "id": "failureReason",
      "requiredFor": "failed",
      "labelFr": "Motif de l’échec",
      "labelEn": "Reason for failure"
    }
  ],
  "sources": [
    {
      "role": "registry",
      "labelFr": "Registre public des parties utilisatrices du portefeuille",
      "labelEn": "Public registry of wallet-relying parties",
      "url": "https://eur-lex.europa.eu/eli/reg_impl/2025/848/oj"
    },
    {
      "role": "overasking",
      "labelFr": "Comparaison entre demande et certificat, alerte en cas de dépassement",
      "labelEn": "Request-to-certificate comparison and overasking warning",
      "url": "https://eur-lex.europa.eu/eli/reg_impl/2026/1731/oj"
    },
    {
      "role": "transaction-log",
      "labelFr": "Champs minimaux du journal de transaction",
      "labelEn": "Minimum transaction-log fields",
      "url": "https://eur-lex.europa.eu/eli/reg_impl/2024/2979/oj"
    },
    {
      "role": "dashboard",
      "labelFr": "Tableau de bord, effacement et signalement",
      "labelEn": "Dashboard, erasure and reporting",
      "url": "https://eur-lex.europa.eu/eli/reg/2024/1183/oj"
    }
  ]
}