ISO mDL & Core Data Format
Last updated
Last updated
© 2023 Spruce Systems, Inc.
Today, our driver’s licenses are scannable physical cards we carry around in our wallets. Conversely, in order for cryptographically signed ID documents to be machine-readable for various use cases, there needs to be a cross-industry and cross-jurisdiction approach for standardizing data formats. The Mobile Driver’s License standard (mDL, ISO 18013-5) is required by TSA for airport security with implementations by several states underway already, including California, Maryland, Arizona, and Colorado. We previously walked through the standard and its components in, but we'll briefly explain the core data format here.
Imagine a spreadsheet where all the records are stored for licensed drivers in a given state. The data are not stored in a spreadsheet but rather in a data array, similar to a spreadsheet but compact enough to fit on a device. This “spreadsheet” would require a consistent naming convention for each of the columns in that spreadsheet to ensure that if someone from another state or agency was reading the spreadsheet, they knew exactly what data attributes the specific columns were referencing. For example, consistent data formats would require universally using “birth_date” as the identifier for a person’s date of birth, not “dob,” or “date_of_birth,” and so on, as outlined in the ISO/IEC 18013-5 specification.
The following identifiers, as encoded below, are mandatory for mobile driver's licenses to adhere to the mDL ISO standard.
Identifier | Definition |
---|---|
In addition to the fields outlined above, AAMVA furthers the mandatory data field requirements with the following additions changed from "Optional" to "Mandatory."
Identifier | Definition |
---|---|
Next, we will explore the underlying technology utilized to ensure security and verifiable authenticity for digital credentials, like mobile driver’s licenses.
family_name
The last name, or surname, of the mDL holder
given_name
The first name(s) of the mDL holder
birth_date
The day, month, and year on which the mDL holder was born
issue_date
The date when the mDL was issued
expiry_date
The date when the mDL expires
issuing_country
The alpha-2 country code of the issuing authority's country or territory
issuing_authority
The issuing authority name
document_number
The number assigned or calculated by the issuing authority
portrait
A reproduction of the mDL holder's portrait
driving_privileges
The driving privileges of the mDL holder
height
The mDL holder’s height in centimeters
sex
The mDL holder’s sex using values as defined in ISO/IEC 5218.
eye_colour
The color of the mDL holder's eyes. Values include: “black”, “blue”, “brown”, “dichromatic”, “grey”, “green”, “hazel”, “maroon”, “pink”, “unknown”.
age_in_years
The age of the mDL holder in years
age_over_NN
A true/false statement for whether the holder is over a certain age.