ExIcaoVds.Profiles.MRTD.V1 (ex_icao_vds v0.3.2)

Copy Markdown

MRTD (Machine Readable Travel Document) VDS profile v1.

Encodes the MRZ data elements for ICAO Doc 9303 machine-readable travel documents (passport TD3, official travel document TD1/TD2), per Part 13 (VDS-NC). Check digits are omitted — the VDS digital signature provides integrity in their place.

Field ordering and tag assignment follow the MRZ field sequence defined in ICAO Doc 9303 Parts 4–6.

Fields

TagNameEncodingRequiredMaxNotes
1document_typeC40yes2MRZ pos 1–2 (e.g. "P", "IP", "AC")
2issuing_stateC40yes3ICAO alpha-3 (e.g. "DEU", "KEN")
3holder_nameUTF-8yes39PRIMARY<<SECONDARY; TD3 max = 39
4document_numberC40yes9Alphanumeric; pad with < if shorter
5nationalityC40yes3ICAO alpha-3 (e.g. "DEU", "KEN")
6date_of_birthdateyes
7sexC40yes1F, M, or < (unspecified)
8date_of_expirydateyes
9optional_dataC40no14Personal number; TD3 max = 14

Summary

Functions

decode(raw_vds, opts \\ %{})

definition()

estimate_capacity(opts \\ [])

issue(document_data, opts \\ %{})

preflight(document_data, opts \\ [])

profile_config()

render(raw_vds, opts \\ %{})

verify(raw_vds, opts \\ %{})