Attestation Rulebook: ubo

Organisation: webuild-consortium

Attestation Rulebook for attestations of type Ultimate Beneficial Owner (UBO)

  • Author(s):

    • [Florin Coptil, Robert Bosch GmbH]
    • [Stephan-A Fuchs, Deutsche Bank AG]
  • Reviewer(s):

    • [Baumgardt Michaela, Commerzbank ]
    • [Bastek-Margon Jenny, CommerzBank ]
    • [Ricky Lamberty, Robert Bosch GmbH]
    • [Auth Sources]
      • [ ......Bundesanzeiger, Germany ]
      • [..... KVK, Holland ]
      • [ ..., Italy ]
    • @TODO Florin — Add the reviewers from attestation design (meetings UseCase, Banks,TransparentRegister)
Version Date Description
0.1 13.03.2026 Initial draft based on the WeBuild design attestations mettings
0.2 20.04.2026 updates in regard to the comments and legislation
0.4 01.06.2026 Updates of content - legal arrangements
0.7 24.06.2026 Updates of content based on the submisson regulation and AMLR/RTS
0.8 29.06.2026 Updates of content based on BOS - vocabulary
0.9 03.07.2026 Updates in regard trust and revocation

1 Introduction

This attestation addresses the following question:

Who are the Ultimate Beneficial Owners (UBOs) of a legal entity, and what is the nature and extent of their ownership or control?

A UBO is defined as any natural person who ultimately owns or controls a legal entity based on AMLR Article 3(17):

  • (a) they hold directly or indirectly 25% or more of the units held in the collective investment undertaking;
  • (b) they have the ability to define or influence the investment policy of the collective investment undertaking;
  • (c) they control the activities of the collective investment undertaking through other means

1.1 Document Scope and Purpose

The UBO Attestation captures the essential attributes of a natural person who qualifies as an ultimate beneficial owner of a legal entity — including personal identity, nationality, residence, and the nature and degree of their ownership or control stake — in a machine-readable, selectively disclosable format compliant with the EUDI Wallet framework.

Design Decisions

This UBO Attestation Rulebook is based on:

  • AMLR – Regulation (EU) 2024/1624 of the European Parliament and of the Council of 31 May 2024 on the prevention of the use of the financial system for the purposes of money laundering or terrorist financing.
  • The EU Anti-Money Laundering Regulation (AMLR 2024/1624) as the primary regulatory driver for beneficial ownership transparency obligations
  • The EUDI Wallet ecosystem and eIDAS 2 framework as the digital identity infrastructure
  • The SD-JWT VC specification (draft-ietf-oauth-sd-jwt-vc-09) for verifiable credential encoding
  • ICAO 9303 for travel document types and number formats
  • Regulatory Technical Standards (RTS) – Draft Regulatory Technical Standards under Article 28(1) of Regulation (EU) 2024/1624, specifying the requirements for identifying beneficial owners and the information to be collected for beneficial ownership determination.
  • Beneficial Ownership Submission Regulation – Commission on Implementing Regulation (EU) [number] on the formats for submitting beneficial ownership information.
  • Beneficial Ownership Data Standard (BODS) version 0.4

1.2 Document Structure

This Rulebook is structured as follows:

  • Chapter 2 describes the attestation attributes and metadata in an encoding-independent manner, including the data model.
  • Chapter 3 specifies how the attestation attributes and metadata are encoded: Section 3.2 covers SD-JWT VC-based encoding.
  • Chapter 4 specifies attestation usage scenarios, Relying Party obligations, and integration with KYC/KYS workflows.
  • Chapter 5 defines trust anchors and verification mechanisms for issuer authorization.
  • Chapter 6 defines revocation mechanisms for the attestation.
  • Chapter 7 provides compliance information regarding the EUDI framework and applicable data protection laws.

1.3 Keywords

This document uses the capitalised keywords SHALL, SHOULD and MAY as specified in [RFC 2119], i.e. to indicate requirements, recommendations and options specified in this document.

In addition, must (non-capitalised) is used to indicate an external constraint, i.e. a requirement that is not mandated by this document, but, for instance, by an external document. The word can indicates a capability, whereas other words, such as will, and is or are are intended as statements of fact.

1.4 Terminology

Additional terminology specific to this attestation:

Term Description
UBO Ultimate Beneficial Owner — a natural person who ultimately owns or controls a legal entity, as defined under AMLR 2024/1624
NaturalPerson The natural person identified as a UBO, including their personal identity attribute (first name, surname and birth date)
BirthPlace The place of birth of the natural person, including locality and country
Citizenship The nationality or nationalities held by the natural person
ResidenceAddress The registered residential address of the natural person
ContactAddress An optional alternative contact address for the natural person
NaturalPersonIdentifier A government-issued identity document (e.g., passport, national ID card) used to identify the natural person
NaturalPersonUniqueIdentifier An optional unique identifier issued by an authority to uniquely identify the natural person across systems
Justification The object describing how and why the person qualifies as a UBO under applicable AML thresholds and control criteria
threshold_met The applicable AML threshold(s) or control criteria met by the UBO — see Section 2.8.2
ownership_percentage The total direct and indirect ownership percentage held by the UBO (0–100)
voting_rights_percentage The total direct and indirect voting rights percentage held by the UBO (0–100)
control_details Free text description of control exercised through means other than ownership percentage
effective_date The date from which the UBO status has been effective
source Supporting evidence substantiating the UBO determination
KYC Know Your Customer — due diligence process for verifying customer identity and assessing risk in financial relationships
KYS Know Your Supplier — due diligence process for verifying supplier credentials, integrity, and risk exposure
AML Anti-Money Laundering — regulatory framework requiring financial institutions and obliged entities to identify and report suspicious activity
AMLR Anti-Money Laundering Regulation — EU Regulation 2024/1624 establishing harmonised AML/CFT rules across the EU
ISO 3166-1 International standard defining country codes (alpha-2 and alpha-3 formats)
ISO 8601 International standard for date and time representations (e.g., YYYY-MM-DD)
ICAO 9303 International Civil Aviation Organization standard for travel documents, defining document types and number formats

2 Attestation Attributes and Metadata

The Ultimate Beneficial Owner (UBO) Attestation provides a standardized, verifiable representation of the natural persons who ultimately own or control a legal entity. It enables structured and trusted exchange of beneficial ownership data between organizations for use in KYS (Know Your Supplier), KYC (Know Your Customer), Anti-Money Laundering (AML) compliance, supplier onboarding, and regulatory due diligence processes.

2.1 Introduction

This UBO Attestation Rulebook is specifically designed to comply with AMLR 2024/1624: Article 3(17) – Definition of Beneficial Owner: Article 60 – Beneficial Ownership Registers: Article 62 – Beneficial Ownership Information Requirements:

The names of attributes is based on the : Beneficial Ownership Submission Regulation – Commission on Implementing Regulation (EU) [number] on the formats for submitting beneficial ownership information. because the company need to provided to the TR, then provided to the Bank and the Bank need to check it afterwards into TR. *Data Model:

The UBO model follows a hierarchical structure:

UBO [1...n]
├─ jurisdiction (tstr) (M)
├─ person (Object) (M)
│   ├─ first_name (tstr) (M)      
│   ├─ surname (tstr) (M)
│   ├─ birth_date (date) (M)      
├─ birth_place (Object) (M)
│   ├── locality (M)
│   ├── country (M)
│   └── region (O)
├─ citizenship
│   └── citizenship(s) [1..n] (M)
├─ residential_address (Object)(M)
│   ├── street (M)
│   ├── house_number (M)
│   ├── locality (M)
│   ├── region (M)
│   ├── postal_code (M)
│   └── country (M)
├─ contact_address (Object) (O)
│   ├── street (M)
│   ├── house_number (M)
│   ├── locality (M)
│   ├── region (M)
│   ├── postal_code (M)
│   └── country(s)
├─ person_identifier (Object) M
│   ├── document_type (M)
│   ├── document_number (M)
│   ├── issuing_country (M)
│   └── expiry_date (M)
├─ person_unique_identifier (Object) (O)
│   ├── identifier_unique (O)
│   └── identifier_issuing_authority (O)
├─ justification (Object) (M)                           // How this person qualifies as UBO
│   ├─ threshold_met (Array of enum) (M)       // e.g., "ownership_25_plus", "control_voting_25_plus", "control_management"
│   ├─ ownership_percentage (Decimal) (O)      // Total direct/indirect ownership percentage
│   ├─ voting_rights_percentage (Decimal) (O)  // Total direct/indirect voting rights percentage
│   └─ control_details (tstr) (O)              // Free text if control is via other means
├─ effective_date (date) (M)                   // Date when this UBO status became effective
└─ evidence [1..n] (M)                         // At least one evidence entry required
│  ├─ id (tstr) (M)                            // Unique identifier, URI, or URN
│  ├─ type (tstr) (M)                          // Evidence type — see Section 2.8.9
│  ├─ url (uri) (O)                            // URI to publicly accessible source document
│  └─ data (base64) (O)                        // Base64-encoded — required if url absent

Note: M - mandatory / O - optional.

Explanation:

  • The attestation MAY contain one or more UBO entries ([1...n]), one per identified ultimate beneficial owner.
  • person, birth_place, citizenship, residential_address, person_identifier, and justification are mandatory objects within each UBO entry.
  • contact_address and person_unique_identifier are optional objects.
  • citizenship SHALL contain at least one citizenship entry and MAY contain multiple entries for persons holding multiple nationalities.
  • threshold_met SHALL contain at least one value from the enumerated list in Section 2.8.2 and MAY contain multiple values where multiple thresholds apply.
  • ownership_percentage and voting_rights_percentage are expressed as decimal values between 0 and 100.
  • source SHALL contain at least one entry; if source.url is not a publicly accessible URI, source.data (base64) SHALL be provided.

Attestation Classification:

This attestation type MAY be classified as:

  • EAA self-issued by the legal entity as part of its Ultimate Beneficial Owner (UBO) disclosure obligations.
  • QEAA issued by a Qualified Trust Service Provider (QTSP) or an authorized competent body (e.g., a notary, commercial register authority, or AML-supervised entity). body (e.g., a notary, commercial register authority or AML-supervised entity). Is the obligation of the QTSP to
    • verify that the calculated UBO data is fully available
    • cross-check the calculations against the TR record

Attribute Overview:

Data Identifier Semantic Reference Definition Data Type
person Personal identity attributes of the UBO Object
birth_place Place of birth of the UBO Object
citizenship - Citizenship(s) held by the UBO (one or more nationalities) Array of Strings (ISO 3166-1 alpha-2)
residential_address Registered residential address of the UBO Object
contact_address Optional alternative contact address of the UBO Object
person_identifier Government-issued identity document details of the UBO Object
person_unique_identifier Optional unique identifier assigned by an authority Object
justification How and why this person qualifies as UBO under AMLR Object
source Supporting evidence for the UBO determination Array of Objects

2.2 Mandatory Attributes

Person Attributes

Data Identifier Semantic Reference Definition Data Type
first_name First name(s) / given name(s) of the natural person, including middle names where applicable String
surname Surname(s) / family name(s) of the natural person String
birth_date Date of birth of the natural person (ISO 8601 YYYY-MM-DD) String (ISO 8601)

BirthPlace Attributes

Data Identifier Semantic Reference Definition Data Type
locality City or locality of birth String
country Country of birth (ISO 3166-1 alpha-2) String (ISO 3166-1)

Citizenship Attributes

Data Identifier Semantic Reference Definition Data Type
citizenship Nationality or nationalities held by the natural person; SHALL use ISO 3166-1 alpha-2 codes; SHALL contain at least one entry Array of Strings [1..n]

ResidentialAddress Attributes

Data Identifier Semantic Reference Definition Data Type
street Street name of the residential address String
house_number House or building number of the residential address String
locality City or locality of the residential address String
region Region or state of the residential address String
postal_code Postal code of the residential address String
country Country of the residential address (ISO 3166-1 alpha-2) String (ISO 3166-1)

PersonIdentifier Attributes

Data Identifier Semantic Reference Definition Data Type
document_type Type of identity document — SHALL use values from Section 2.8.1 String (Enum)
document_number Number of the identity document as printed on the document String
issuing_country Country that issued the identity document (ISO 3166-1 alpha-2) String (ISO 3166-1)
expiry_date Expiry date of the identity document (ISO 8601 YYYY-MM-DD) String (ISO 8601)

Justification Attributes

Data Identifier Semantic Reference Definition Data Type
threshold_met Array of applicable AML thresholds or control criteria met — SHALL use values from Section 2.8.2 — at least one value required Array of Strings (Enum)

Source Attributes

Data Identifier Semantic Reference Definition Data Type
id Unique identifier for the source document String
type Type of source document (e.g., "Evidence", "Register", "TrustDeed") String

UBO Mandatory Attributes

Data Identifier Semantic Reference Definition Data Type
effective_date Date when this ownership or control relationship became legally effective — ISO 8601 YYYY-MM-DD Date
evidence At least one piece of supporting evidence substantiating the declared ownership or control Array [Object]

2.3 Optional Attributes

BirthPlace Optional Attributes

Data Identifier Semantic Reference Definition Data Type
region Region or state of birth — optional String

ContactAddress Attributes (entire object is optional)

Data Identifier Semantic Reference Definition Data Type
street Street name of the contact address String
house_number House or building number of the contact address String
locality City or locality of the contact address String
region Region or state of the contact address String
postal_code Postal code of the contact address String
country Country of the contact address (ISO 3166-1 alpha-2) String (ISO 3166-1)

PersonUniqueIdentifier Attributes (entire object is optional)

Data Identifier Semantic Reference Definition Data Type
identifier_unique A unique identifier assigned to the natural person by an issuing authority String
identifier_issuing_authority The authority that issued the unique identifier String

Justification Optional Attributes

Data Identifier Semantic Reference Definition Data Type
ownership_percentage Total direct and indirect ownership percentage held (0–100) Decimal
voting_rights_percentage Total direct and indirect voting rights percentage held (0–100) Decimal
control_details Free text description of control exercised through means other than ownership percentage String

Source Optional Attributes

Data Identifier Semantic Reference Definition Data Type
url URI reference to the source or evidence document URI
data Base64-encoded source document — SHALL be provided if url is not a publicly accessible URI String (base64)

2.4 Conditional Attributes

Data Identifier Condition Definition Data Type
source.data SHALL be provided if source.url is not a publicly accessible URI Base64-encoded evidence document String (base64)
justification.control_details SHALL be provided if threshold_met includes "control_other_means" Free text description of other means of control String
justification.ownership_percentage SHOULD be provided if threshold_met includes "ownership_25_plus" Total ownership percentage Decimal
justification.voting_rights_percentage SHOULD be provided if threshold_met includes "control_voting_25_plus" Total voting rights percentage Decimal

2.5 Mandatory Metadata

Data Identifier Definition Data type
attestation_legal_category Indicates the legal category of the AuthorisedSignatories Attestation ("EAA") String
cnf cryptographic Key Binding String

Note: Only the additional mandatory attributes are listed; the mandatory attributes defined by the protocol are not specified.

2.6 Optional Metadata

Data Identifier Definition Data type
trust_anchor_url URL where the trust anchor for verifying this attestation can be retrieved URI
schema_version Version of the schema used for this attestation String

2.7 Conditional Metadata

No conditional metadata elements are defined for this attestation type.

2.8 Value Lists

2.8.1 Document Type Codes

The person_identifier.document_type attribute SHALL use one of the following standardised values, aligned with ICAO 9303:

Code Definition
PASSPORT International passport as defined by ICAO 9303
NATIONAL_ID National identity card issued by a competent authority
RESIDENCE_PERMIT Residence permit issued to foreign nationals
DRIVING_LICENSE Driving licence accepted as an identity document
OTHER Any other government-issued identity document

2.8.2 Threshold Met Codes

The justification.threshold_met attribute SHALL use one or more of the following standardised values, aligned with AMLR Article 3(17):

a) Ownership-Based Thresholds:

Code Definition
ownership_25_plus The UBO holds ≥25% of shares or ownership interests directly or indirectly in the subject entity
ownership_direct The UBO holds ≥25% through direct shareholding without intermediary entities
ownership_indirect The UBO holds ≥25% through one or more intermediary legal entities

b) Voting Rights-Based Thresholds:

Code Definition
control_voting_25_plus The UBO holds ≥25% of voting rights directly or indirectly
control_voting_direct The UBO holds ≥25% of voting rights through direct shareholding
control_voting_indirect The UBO holds ≥25% of voting rights through intermediary entities

c) Management / Other Control:

Code Definition
control_management Control exercised through appointment of senior management or the board
control_veto Control exercised through veto rights over major corporate decisions
control_contractual Control exercised through formal or informal contractual agreements
control_family_relationships Control exercised through coordinated action among family members
control_acting_in_concert Control exercised through acting in concert with other shareholders
control_nominee Control exercised through nominee arrangements
control_other_means Control exercised through other means not explicitly listed above

d) Legal Arrangement Roles (for trusts, foundations, and similar structures):

Code Definition
arrangement_settlor The UBO is the settlor (creator) of a trust or similar legal arrangement
arrangement_trustee The UBO is the trustee of a trust or similar legal arrangement
arrangement_beneficiary The UBO is a beneficiary of a trust or similar legal arrangement
arrangement_protector The UBO is the protector of a trust or similar legal arrangement
arrangement_object_of_power The UBO is the object of a power in a legal arrangement
arrangement_default_taker The UBO is the default taker (residual beneficiary) of a legal arrangement
arrangement_other_control Any other natural person exercising ultimate control over the legal arrangement

Note: Multiple threshold_met values MAY apply to a single UBO. For example, a UBO may be identified through "ownership_25_plus" (35% direct shareholding) AND "control_voting_25_plus" (50% voting rights via special shares) AND "control_management" (contractual right to appoint the CEO).

2.8.3 Country Codes

All country, issuing_country, and citizenship attributes SHALL use ISO 3166-1 alpha-2 two-letter country codes.

For a complete list, refer to the ISO 3166-1 standard.

2.8.4 Date Formats

All date attributes SHALL follow the ISO 8601 YYYY-MM-DD format.

2.8.5 Source Type Codes

The source.type attribute SHOULD use one of the following standardised values:

Code Definition
ShareRegister Official shareholder register extract
CommercialRegister Extract from a national commercial or company register
TransparencyRegister Entry from an official beneficial ownership / transparency register
TrustDeed Trust deed or instrument establishing a legal arrangement
ShareholderAgreement Shareholders' agreement evidencing ownership structure
ArticlesOfAssociation Articles of association defining share structure
GovernanceChart Organisational or governance chart showing ownership structure
AMLOfficerDeclaration Declaration by an AML-supervised officer or compliance function
NotarialDeed Notarially certified document evidencing ownership
Other Any other supporting evidence document

2.9 Integrity Rules

The following integrity rules SHALL be enforced:

Rule ID Rule
IR-01 The ubo array SHALL contain at least one UBO entry
IR-02 Each UBO entry SHALL contain exactly one person, birth_place, citizenship, residential_address, person_identifier, justification, and source
IR-03 person.first_name SHALL be a non-empty string
IR-04 person.surname SHALL be a non-empty string
IR-05 person.birth_date, if present, SHALL be a valid ISO 8601 date (YYYY-MM-DD) in the past
IR-06 birth_place.locality SHALL be a non-empty string
IR-07 birth_place.country SHALL be a valid ISO 3166-1 alpha-2 country code
IR-08 citizenship SHALL contain at least one valid ISO 3166-1 alpha-2 country code
IR-09 All mandatory address fields (street, house_number, locality, region, postal_code, country) within residential_address SHALL be non-empty
IR-10 residential_address.country SHALL be a valid ISO 3166-1 alpha-2 country code
IR-11 If contact_address is present, all its mandatory fields SHALL be non-empty
IR-12 person_identifier.document_type SHALL use one of the enumerated values from Section 2.8.1
IR-13 person_identifier.document_number SHALL be a non-empty string
IR-14 person_identifier.issuing_country SHALL be a valid ISO 3166-1 alpha-2 country code
IR-15 person_identifier.expiry_date SHALL be a valid ISO 8601 date (YYYY-MM-DD)
IR-16 justification.threshold_met SHALL contain at least one value from Section 2.8.2
IR-17 justification.ownership_percentage and justification.voting_rights_percentage, if present, SHALL each be a decimal value between 0 and 100 inclusive
IR-18 justification.control_details SHALL be present if threshold_met contains "control_other_means"
IR-19 effective_date SHALL be a valid ISO 8601 date (YYYY-MM-DD) in the past
IR-20 source SHALL contain at least one entry
IR-21 If source.url is not a publicly accessible URI, source.data (base64) SHALL be provided
IR-22 issuance_date and expiry_date (metadata) SHALL be valid ISO 8601 DateTimes
IR-23 expiry_date (metadata) SHALL be later than issuance_date
IR-24 attestation_legal_category SHALL be one of "EAA" or "QEAA"
IR-25 vct SHALL be "eu.we-build:ubo:1"
IR-26 jurisdiction SHALL be a valid ISO 3166-1 alpha-2 country code

3 Attestation Encoding

3.1 ISO/IEC 18013-5-Compliant Encoding

ISO/IEC 18013-5 (mdoc) is out of scope for this Rulebook, as offline proximity presentation is not a current requirement for the Control Attestation.

3.2 SD-JWT VC-Based Encoding

The UBO Attestation uses the SD-JWT VC format to allow for selective disclosure of UBO attributes.

Selective Disclosure: Claims within each UBO entry SHALL be individually selectively disclosable, enabling a legal entity to disclose only the attributes requested by a Relying Party. Sensitive personal attributes such as birth_date, document_number, and address details SHALL be individually disclosable.

The . notation is used to indicate the nesting of attributes.

Verifiable Credential Type (vct): eu.we-build:ubo:1

3.2.1 Attribute Encoding Table

Data Identifier Attribute Identifier Encoding Format Reference / Notes Disclosable
ubo ubo Array [UBO] SHALL contain at least one UBO entry MUST
jurisdiction ubo[n].jurisdiction String (ISO 3166-1 alpha-2) Jurisdiction of the subject entity — SHALL be non-empty MUST
Person
first_name ubo[n].person.first_name String First name(s) of the natural person — SHALL be non-empty MUST
surname ubo[n].person.surname String Surname(s) of the natural person — SHALL be non-empty MUST
birth_date ubo[n].person.birth_date String (ISO 8601 YYYY-MM-DD) Date of birth — SHALL be in the past; optional MAY
BirthPlace
locality ubo[n].birth_place.locality String City or locality of birth — SHALL be non-empty MUST
country ubo[n].birth_place.country String (ISO 3166-1 alpha-2) Country of birth — SHALL be non-empty MUST
region ubo[n].birth_place.region String Region or state of birth — optional MAY
Citizenship
citizenship ubo[n].citizenship Array of Strings (ISO 3166-1 alpha-2) Citizenship(s) — SHALL contain at least one entry MUST
ResidentialAddress
street ubo[n].residential_address.street String Street name — SHALL be non-empty MUST
house_number ubo[n].residential_address.house_number String House number — SHALL be non-empty MUST
locality ubo[n].residential_address.locality String City or locality — SHALL be non-empty MUST
region ubo[n].residential_address.region String Region or state — SHALL be non-empty MUST
postal_code ubo[n].residential_address.postal_code String Postal code — SHALL be non-empty MUST
country ubo[n].residential_address.country String (ISO 3166-1 alpha-2) Country — SHALL be non-empty MUST
ContactAddress (optional object)
street ubo[n].contact_address.street String Street name of the contact address — optional MAY
house_number ubo[n].contact_address.house_number String House number of the contact address — optional MAY
locality ubo[n].contact_address.locality String Locality of the contact address — optional MAY
region ubo[n].contact_address.region String Region of the contact address — optional MAY
postal_code ubo[n].contact_address.postal_code String Postal code of the contact address — optional MAY
country ubo[n].contact_address.country String (ISO 3166-1 alpha-2) Country of the contact address — optional MAY
PersonIdentifier
document_type ubo[n].person_identifier.document_type String (Enum) SHALL use values from Section 2.8.1 MUST
document_number ubo[n].person_identifier.document_number String Document number as printed on the document — SHALL be non-empty MUST
issuing_country ubo[n].person_identifier.issuing_country String (ISO 3166-1 alpha-2) Country that issued the document — SHALL be non-empty MUST
expiry_date ubo[n].person_identifier.expiry_date String (ISO 8601 YYYY-MM-DD) Expiry date of the document MUST
PersonUniqueIdentifier (optional object)
identifier_unique ubo[n].person_unique_identifier.identifier_unique String Unique identifier assigned by an authority — optional MAY
identifier_issuing_authority ubo[n].person_unique_identifier.identifier_issuing_authority String Authority that issued the unique identifier — optional MAY
Justification
threshold_met ubo[n].justification.threshold_met Array of Strings (Enum) SHALL use values from Section 2.8.2 — at least one value required MUST
ownership_percentage ubo[n].justification.ownership_percentage Decimal (0–100) Total direct/indirect ownership percentage — optional MAY
voting_rights_percentage ubo[n].justification.voting_rights_percentage Decimal (0–100) Total direct/indirect voting rights percentage — optional MAY
control_details ubo[n].justification.control_details String Free text for other means of control — required if threshold_met includes "control_other_means" MAY
Effective Date
effective_date ubo[n].effective_date String (ISO 8601 YYYY-MM-DD) Date when UBO status became effective — SHALL be non-empty MUST
Source
id ubo[n].source[m].id String Unique source identifier — SHALL be non-empty MUST
type ubo[n].source[m].type String Type of source — SHOULD use values from Section 2.8.5 MUST
url ubo[n].source[m].url URI URI reference to source document — optional MAY
data ubo[n].source[m].data String (base64) Base64-encoded source — required if url not publicly accessible MAY
Metadata
issuance_date iat Number (Unix timestamp) Date and time when the attestation was issued (ISO 8601); RFC 7519 MUST NOT
expiry_date exp Number (Unix timestamp) Date and time when the attestation expires (ISO 8601); RFC 7519 MUST NOT
issuing_entity iss String (URI or DID) Identifier of the competent institution that issued the attestation; RFC 7519 MUST NOT
attestation_legal_category attestation_legal_category String One of "EAA" or "QEAA" as defined by eIDAS 2 MUST NOT
vct vct String The vct definition MUST NOT
cnf cnf String Cryptographic Key Binding MUST NOT
schema_version schema_version String Version of the schema used; optional MAY
trust_anchor_url trust_anchor_url String (URI) URL where the trust anchor for verifying this attestation can be retrieved; optional MAY

Notes:

  • MUST: The claim SHALL be selectively disclosable — the holder MAY choose to disclose or withhold this claim when presenting the credential to a Relying Party.
  • MAY: The claim MAY be selectively disclosable if the issuer supports it.
  • MUST NOT: The claim SHALL NOT be selectively disclosable — it is always present in plain text in the JWT header/payload.
  • ubo entries are indexed as [n] where n starts at 0; at least one UBO entry SHALL be present.
  • source entries within each UBO are indexed as [m] where m starts at 0; at least one source entry SHALL be present per UBO.
  • iat, exp, and iss follow RFC 7519 standard JWT claim naming conventions.

3.2.2 Status Claim

For SD-JWT VC-compliant UBO Attestations, the attestation MUST include a status claim if the technical validity period is greater than 24 hours. This claim enables Relying Parties to determine if a credential has been revoked via a status list mechanism.

The status claim SHALL be a JSON object with the following members:

Field Type Value
type String SHALL be "status-list"
status_list_credential String (URI) URI of the Status List Credential document
status_list_index Integer (>= 0) Zero-based index into the status list bitstring
status_purpose String SHALL be "revocation"

Example:

{
  "status": {
    "type": "status-list",
    "status_list_credential": "https://issuer.example.com/status/ubo/2025",
    "status_list_index": 101,
    "status_purpose": "revocation"
  }
}

3.2.3 Example Payload

The following is a non-normative example of a UBO SD-JWT VC payload demonstrating a natural person qualifying as UBO through direct shareholding and management control:

{
  "vct": "eu.we-build:ubo:1",
  "iss": "https://issuer.example.com",
  "iat": 1736935200,
  "exp": 1768471200,
  "issuing_entity": "did:example:legal-entity-789",
  "attestation_legal_category": "EAA",
  "schema_version": "0.4.0",
  "trust_anchor_url": "https://trust.webuildconsortium.eu/anchors/eidas-tl",

  "ubo": [
    {
      "jurisdiction": "DE",
      "person": {
        "first_name": "Anna",
        "surname": "Müller",
        "birth_date": "1978-04-15"
      },
      "birth_place": {
        "locality": "Munich",
        "country": "DE",
        "region": "Bavaria"
      },
      "citizenship": ["DE", "AT"],
      "residential_address": {
        "street": "Hauptstraße",
        "house_number": "12",
        "locality": "Munich",
        "region": "Bavaria",
        "postal_code": "80331",
        "country": "DE"
      },
      "contact_address": {
        "street": "Marienplatz",
        "house_number": "1",
        "locality": "Munich",
        "region": "Bavaria",
        "postal_code": "80331",
        "country": "DE"
      },
      "person_identifier": {
        "document_type": "PASSPORT",
        "document_number": "C01X00T47",
        "issuing_country": "DE",
        "expiry_date": "2030-04-14"
      },
      "person_unique_identifier": {
        "identifier_unique": "DE-12345678",
        "identifier_issuing_authority": "Bundesamt für Justiz"
      },
      "justification": {
        "threshold_met": [
          "ownership_25_plus",
          "control_voting_25_plus",
          "control_management"
        ],
        "ownership_percentage": 45.0,
        "voting_rights_percentage": 45.0,
        "control_details": "Additionally controls via contractual right to appoint CEO per shareholders agreement dated 2015-03-01"
      },
      "effective_date": "2015-03-01",
      "source": [
        {
          "id": "src-ubo-001",
          "type": "ShareRegister",
          "url": "https://example.com/docs/share-register-extract-2024.pdf"
        },
        {
          "id": "src-ubo-002",
          "type": "ShareholderAgreement",
          "url": "https://example.com/docs/shareholder-agreement-2015.pdf"
        }
      ]
    },
    {
      "jurisdiction": "DE",
      "person": {
        "first_name": "Klaus",
        "surname": "Weber",
        "birth_date": "1965-11-30"
      },
      "birth_place": {
        "locality": "Hamburg",
        "country": "DE"
      },
      "citizenship": ["DE"],
      "residential_address": {
        "street": "Alsterufer",
        "house_number": "5",
        "locality": "Hamburg",
        "region": "Hamburg",
        "postal_code": "20354",
        "country": "DE"
      },
      "person_identifier": {
        "document_type": "NATIONAL_ID",
        "document_number": "L01X00T28",
        "issuing_country": "DE",
        "expiry_date": "2028-11-29"
      },
      "justification": {
        "threshold_met": [
          "ownership_indirect",
          "control_voting_indirect"
        ],
        "ownership_percentage": 30.0,
        "voting_rights_percentage": 30.0
      },
      "effective_date": "2018-07-15",
      "source": [
        {
          "id": "src-ubo-003",
          "type": "CommercialRegister",
          "url": "https://handelsregister.example.de/extract/HRB-12345"
        }
      ]
    }
  ],

  "status": {
    "type": "status-list",
    "status_list_credential": "https://issuer.example.com/status/ubo/2025",
    "status_list_index": 101,
    "status_purpose": "revocation"
  },

  "cnf": {
    "jwk": {
      "kty": "EC",
      "crv": "P-256",
      "x": "TCAER19Zvu3OHF4j4W4vfSVoHIP1ILilDls7vCeGemc",
      "y": "ZxjiWWbZMQGHVWKVQ4hbSIirsVfuecCE6t4jT9F2HZQ"
    }
  }
}

Sample payloads are provided under ../data-schemas/sd-jwt/sample-data/ubo-sd-jwt-sample.json

3.3 W3C Verifiable Credentials Data Model-based encoding

4 Attestation usage

The UBO Attestation serves the core AML/CTF compliance requirement of identifying ultimate beneficial owners across European financial and business ecosystems:

Primary use cases:

  • Bank KYC for Corporate Account Opening (per AMLR Articles 20-25)
  • Supplier Onboarding (KYS with UBO Transparency)
  • Regulatory Submission for company to Transparency Register ( Proposed Implementing Act dated 26/11/2025)
  • Regulatory Reporting for company (Transparency Register Cross-Reference)
  • Ongoing Monitoring (AMLR Article 25)

4.1. Issuance process

When issuing a UBO Attestation, the Issuer SHALL comply with the following obligations.

UBO Determination

The legal entity SHALL determine its Ultimate Beneficial Owner(s) (UBOs) by:

  • applying the ≥25% ownership threshold to the Ownership List to identify natural persons holding, directly or indirectly, at least 25% ownership;
  • analysing the Control List to identify natural persons exercising ultimate control through other means, irrespective of ownership percentage; and
  • applying the applicable AMLR methodologies for determining direct ownership, indirect ownership, legal arrangement roles, and other forms of control.

Attestation Issuance

  • For an Electronic Attestation of Attributes (EAA), the legal entity SHALL self-issue the UBO Attestation into its Company Wallet.
  • For a Qualified Electronic Attestation of Attributes (QEAA), a Qualified Trust Service Provider (QTSP) or another authorized competent body SHALL issue the UBO Attestation to the Company's Wallet.

Issuer Responsibilities

Electronic Attestation of Attributes (EAA)

  • The legal entity SHALL issue the attestation based on the information and supporting documentation available at the time of issuance.
  • The issuer SHALL ensure that the attested information remains accurate throughout the attestation's validity period and SHALL revoke the attestation without undue delay whenever a change affects the validity or accuracy of the underlying information.

Qualified Electronic Attestation of Attributes (QEAA)

  • Prior to issuing the attestation, the QTSP or other authorized competent body SHALL:
    • verify that all information required to determine the UBO(s) is complete and available; and
    • validate the UBO determination against the applicable Trade Register (TR) record or another authoritative data source.
  • The QTSP or other authorized competent body SHALL issue and verify the attestation exclusively on the basis of authoritative sources, such as official company register data, audited financial statements, or other legally recognized evidence.

The Issuer SHALL implement the base issuer obligation as defined in the Issuer Obligation specification: https://github.com/webuild-consortium/webuild-attestation-rulebooks-catalog/blob/main/rulebooks/rb-base/verifier-base-verification.md#41-issuer-obligations

4.2 Relying Party Obligations

When receiving and processing an attestation, the Relying Party SHALL perform the following verification obligations.

4.2.1 – 4.2.8 Base Verification Process

The Relying Party SHALL perform the base attestation verification process as defined in the Base Verification specification: https://github.com/webuild-consortium/webuild-attestation-rulebooks-catalog/blob/main/rulebooks/rb-base/verifier-base-verification.md#42-relying-party-obligations

4.2.9 Validate Integrity Rule

  • Verify that at least one UBO is present
  • Verify that all AMLR Article 62 mandatory attributes are present for each UBO
  • Verify that each UBO has at least one determination_methodology

4.2.10 UseCaseSpecific: Cross-Reference with Ownership and Control Lists (AMLR Article 60)

The AMLR compliance requires independent verification of UBO calculations.

RPs SHALL:

  • Request Ownership List and Control List in addition to UBO
  • Perform Independent UBO Calculation:Apply ≥25% threshold to Ownership List → Identify natural persons with ≥25% total ownership
  • Analyze Control List for natural persons exercising ultimate control (even if <25% ownership)
  • Apply AMLR determination methodologies
  • Cross-Check Against Presented UBO :
    • Compare UBO data: Verify that all independently calculated UBOs appear in the presented UBO
    • Compare determination methodologies: Verify consistency
    • Compare ownership stakes (if disclosed)
  • Discrepancy Handling
    • If UBOs are missing from presented list → notify entity to recalculate and update
    • If extra UBOs appear in presented list (not in calculated list) → request justification or evidence
    • If discrepancies relate to Transparency Register submission → report to register authority per AMLR Article 60
    • If discrepancies cannot be resolved -> risk cases: apply enhanced due diligence or decline relationship

4.2.12 UseCaseSpecific: UBO Identity Verification (AMLR Article 21 Procedure)

For each UBO in the UBO Attestation, the RP SHALL perform identity verification following this hierarchical procedure: @TODO Florin Specify the process (relevant in MVP+)

Step 1: PID-Based Verification (Preferred Method)

  • Request PID Attestation from the UBO (via EUDI Wallet)
  • Cross-Check PID Against UBO :identification & other attributes
  • PID Attestation verification (Section 4.2)

Step 2: non-PID Based Verification ( e.g., mdoc for driver's license, future passport mdoc))

  • Request presentation of identity document attestation
  • Cross-Check data against UBO :identification & other attributes
  • mDOC Attestation verification (Section 4.2)

Step 3: Identity Document Verification (PoA)

  • Request presentation of identity document attestation (PoA)
  • Cross-Check data against UBO :identification & other attributes
  • POA Attestation verification (Section 4.2)

Step 4: Manual/physical verification (in-person or certified copy)

  • Manual/physical identity document verification (in-person or certified copy)

Step 5: Unique Personal Identification Number Verification (if available)

  • Check if unique_personal_identification_number is available in UBO
  • If available:Use the unique ID number for identity verification

5 Trust anchors

This chapter specifies the trust anchor mechanisms used by Relying Parties to establish trust in the issuer of an Electronic Attestation of Attributes (EAA) or a Qualified Electronic Attestation of Attributes (QEAA). The corresponding verification procedures are defined in Sections 4.2.2–4.2.4.

5.1 Qualified Electronic Attestations of Attributes (QEAAs)

For QEAAs, trust is established through the X.509 Public Key Infrastructure (PKI) and the applicable Trust List of Licensees (TLOL). The issuer's certificate chain, including the intermediate certificate contained in the QEAA header, SHALL be validated up to a trusted root certificate. This validation SHALL be performed using the applicable TLOL, taking into account the trust list state applicable at the time of issuance.

Successful certificate chain validation establishes that:

  • the issuer's certificate was recognized within the applicable trust framework;
  • the issuer's identity has been validated by the supervisory authority during inclusion in the TLOL; and
  • the issuer satisfies the trust requirements applicable to QEAAs.

In addition, the Relying Party MAY apply further authorization checks based on its internal policies, such as maintaining a whitelist of accepted QEAA providers.

5.2 Electronic Attestations of Attributes (EAAs)

For EAAs, trust is established through a cryptographic chain anchored in the Electronic Business Wallet Owner Identity Document (EBWOID). The EBWOID SHALL be included in the header of every EAA. During EBWOID issuance, the EBWOID provider verifies that the public key contained in the EBWOID is owned by the Electronic Business Wallet (EBW) owner.

The Relying Party SHALL verify the EBWOID in accordance with the verification procedure defined in this Rulebook. Upon successful verification, the Relying Party obtains:

  • assurance that the EBWOID was issued by an authorized provider and is not self-issued;
  • the verified identity of the issuer, including its name and EUID (or another globally unique EBW owner identifier); and
  • the public key authorized to verify the EAA signature.

Authorization of the issuer is subsequently determined in accordance with the Relying Party's internal policies. Such authorization MAY be based on locally maintained wallet configuration or on trusted jurisdiction- or domain-specific trust list services that identify issuers authorized for a particular type of EAA

6 Revocation

An attestation SHALL remain valid only while its underlying information is accurate, complete, and legally effective.

6.1 Revocation Mechanism

  • Token Status List: The issuer must maintain an active IETF Token Status List (aligned with the Attestation Status List mechanism specified by the EU Commission).
  • Credential Metadata: The metadata status_list must be populated in every issued CompanyInfo attestation, referencing the status list URI and the credential's specific index.

Authorized Authority: Only the authorized issuer (the QTSP/competent body for QEAA, or the self-issuing legal entity for EAA) may modify the status list entry.

6.2 Revocation Triggers & Business Rules

  • QEAA Trigger (Automatic): The QTSP/competent body must actively monitor official company register data and audited financial statements. Any detected discrepancy or change in the company registry must automatically trigger revocation of the QEAA.
  • EAA Trigger (Manual Obligation): The self-issuing legal entity is under strict obligation to immediately update or revoke its EAA if its available documents, financial thresholds, or ownership structures change.

Relying Party Action: A revoked or suspended attestation must be treated as invalid for credential-validity purposes by all RPs. The business interpretation is determined by the Relying Party's internal compliance policies.

7 References

Item Reference Standard name/details
[European Digital Identity Regulation] Regulation (EU) 2024/1183 of the European Parliament and of the Council of 11 April 2024 amending Regulation (EU) No 910/2014 as regards establishing the European Digital Identity Framework
[AMLR 2024/1624] Regulation (EU) 2024/1624 of the European Parliament and of the Council on the prevention of the use of the financial system for the purposes of money laundering or terrorist financing
[HAIP] Yasuda, K. et al, OpenID4VC High Assurance Interoperability Profile, OpenId Foundation, Version draft-03
[IANA-JWT-Claims] IANA JSON Web Token Claims Registry. Available: https://www.iana.org/assignments/jwt/jwt.xhtml
[ICAO 9303] ICAO Doc 9303 — Machine Readable Travel Documents. Available: https://www.icao.int/publications/pages/publication.aspx?docnum=9303
[ISO/IEC 18013-5] ISO/IEC 18013-5, Personal identification — ISO-compliant driving licence - Part 5: Mobile driving licence (mDL) application, First edition, 2021-09
[ISO 3166-1] ISO 3166-1 — Codes for the representation of names of countries and their subdivisions. Available: https://www.iso.org/iso-3166-country-codes.html
[ISO 8601] ISO 8601 — Date and time format. Available: https://www.iso.org/iso-8601-date-and-time-format.html
[OIDC] Sakimura, N. et al., "OpenID Connect Core 1.0", OpenID Foundation. Available: https://openid.net/specs/openid-connect-core-1_0.html
[RFC 2119] RFC 2119 — Key words for use in RFCs to Indicate Requirement Levels, S. Bradner, March 1997
[RFC 3339] RFC 3339 — Date and Time on the Internet: Timestamps, G. Klyne et al., July 2002
[RFC 7519] RFC 7519 — JSON Web Token (JWT), M. Jones et al., May 2015
[RFC 8610] RFC 8610 — Concise Data Definition Language (CDDL): A Notational Convention to Express Concise Binary Object Representation (CBOR) and JSON Data Structures, H. Birkholz et al., June 2019
[RFC 8943] RFC 8943 — Concise Binary Object Representation (CBOR) Tags for Date, M. Jones et al., November 2020
[RFC 8949] RFC 8949 — Concise Binary Object Representation (CBOR), C. Bormann et al., December 2020
[SD-JWT VC] SD-JWT-based Verifiable Credentials (SD-JWT VC). Available: https://datatracker.ietf.org/doc/draft-ietf-oauth-sd-jwt-vc/, version draft-ietf-oauth-sd-jwt-vc-09
[Topic 7] ARF Annex 2 - Topic 7 - Attestation revocation and revocation checking. Available: https://eu-digital-identity-wallet.github.io/eudi-doc-architecture-and-reference-framework/latest/annexes/annex-2/annex-2-high-level-requirements/#a237-topic-7-attestation-revocation-and-revocation-checking