Concise Data Definition Language (CDDL)

Verified on 2026-10-29

(title available in French only)

Official Binding

Reference
RFC 8610
Type
RFC (IETF)
Folder
Other standards
Version
définitive (RFC)
Date
2019-06
Status
Final
Languages
English
Official source
https://www.rfc-editor.org/rfc/rfc8610.html

Note

IETF specification proposing a notation convention (CDDL) for expressing CBOR or JSON data structures, intended for protocol messages and data formats.

The full text is not reproduced here (copyright): see the official source.

Summary

Purpose

IETF RFC 8610 (June 2019) defines the Concise Data Definition Language (CDDL), a notation for describing data structures:

Official text · RFC 8610, Abstract

Its main goal is to provide an easy and unambiguous way to express structures for protocol messages and data formats that use CBOR or JSON.

CBOR (Concise Binary Object Representation) is a binary data representation format RFC 8610, Abstract.

Who it applies to

The RFC itself imposes nothing under eIDAS. It applies by reference to providers of person identification data (PID), who ensure that the PID issued comply with the annex to Implementing Regulation 2024/2977 Art. 3(3).

The reference concerns the encoding of PID in the ISO/IEC-mdoc format (section 4.1 of the annex): the notation of the encoding formats in Table 6 uses the representation types specified in RFC 8610, with additional requirements Annex.

Key points

  • The types in Table 6. Table 6 of the annex assigns each attribute a type: tstr (text string), bstr (byte string, for example for the portrait), uint (unsigned integer, for sex), tdate or full-date for certain dates Annex. The RFC defines tstr, bstr and uint among its primitive types RFC 8610, § 3.3. Predefined Names for Types, and tdate in its normative prelude RFC 8610, Appendix D. Standard Prelude.
  • Requirements added by the act for strings. tstr values must be UTF-8 encoded, support the full Unicode range and have at most 150 characters Annex.
  • Nationality. The nationality attribute must be encoded as an array of ISO 3166-1 alpha-2 country codes; where CDDL notation is used, the annex gives its form (nationalities = [+ CountryCode]). A provider that attests several nationalities may include all of them Annex.
  • Place of birth. The place_of_birth attribute must contain at least one of the keys country, region or locality; where CDDL notation is used, it is written as a structure in which these three keys are optional Annex.
  • The prelude. The RFC automatically adds to every CDDL description a set of standard definitions, the “prelude”, which is normative RFC 8610, Appendix D. Standard Prelude.

Clauses referred to by the act

  • The annex to Implementing Regulation 2024/2977 refers to the “representation types” of the RFC and to its notation, without a clause number Annex.
  • Adaptations imposed: constraints on tstr values, mandatory encoding of nationality and place_of_birth Annex.
  • The annex to Implementing Regulation 2024/2977 was replaced by Implementing Regulation 2026/1731 Implementing Regulation (EU) 2026/1731; this summary cites the consolidated version that incorporates it.

Error in the act

In the French consolidated version, the footnote that designates RFC 8610 presents it as a notational convention for expressing “la représentation concise d’objet binaire CBOR) et les structures de données Jason” Annex. “Jason” is a clerical error: probable reading “JSON”, the format that the RFC cites alongside CBOR RFC 8610, Abstract, and the word used in the English version. The same spelling appears in the French version of Implementing Regulation 2026/1731 Implementing Regulation (EU) 2026/1731.

Consolidation without official value

This summary relies on the consolidated version of Implementing Regulation 2024/2977 published on EUR-Lex Implementing Regulation (EU) 2024/2977 — consolidated version of 11/08/2026. It serves as documentation: only the text published in the Official Journal is authentic.

Written by Asphalia.