ISO mDL & Core Data Format

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'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.

  • family_name which is the last name or surname of the mDL holder
  • given_name which is the first name(s) of the mDL holder
  • birth_date which is the day, month, and year on which the mDL holder was born
  • issue_date which is the date when the mDL was issued
  • expiry_date which is the date when the mDL expires
  • issuing_country which is the alpha-2 country code of the issuing authority's country or territory
  • issuing_authority which is the name of the issuing authority of the mDL
  • document_number which is the number assigned or calculated by the issuing authority
  • portrait which is a reproduction of the mDL holder's portrait
  • driving_privileges which is the driving privileges of the mDL holder

In addition to the fields outlined above, AAMVA furthers the mandatory data field requirements with the following additions changed from "Optional" to "Mandatory."

  • height which is the mDL holder's height in centimeters
  • sex which is the mDL holder's sex using values as defined in ISO/IEC 5218
  • eye_colour which is the color of the mDL holder's eyes. Values include: "black”, “blue”, “brown”, “dichromatic”, “grey”, “green”, “hazel”, “maroon”, “pink”, “unknown”.
  • age_in_years which is the age of the mDL holder in years
  • age_over_NN which is a true/false statement for whether the holder is over a certain age