MRZ / VIZ
Joint evaluation of the machine-readable and visual inspection zones.
// Topic hub · eMRTD
A technical guide to reading and validating passports and identity documents, from MRZ and contactless chips to BAC/PACE and LDS data groups.
// Core concepts
Joint evaluation of the machine-readable and visual inspection zones.
Protocols used to establish authorized, encrypted access to the chip.
The logical organization of identity, portrait and biometric data on the chip.
// Guided reading path
Follow the articles in this order to build the concepts progressively.
// All publications
Why aren’t the document number and expiration date ordinary document fields? We examine the scope of this data under the KVKK/GDPR and its technical role in the BAC key derivation process.
No. MRZ is a data carrier and access input; document integrity relies on chip signatures, certificate chains and, where applicable, biometric comparison.
Smart-card and eMRTD data is parsed as tag, length and value; incorrect length handling causes security and interoperability failures.
We explain the TLV data structure at the byte level; we examine single- and multi-byte tag-and-length encoding, primitive and constructed objects, common mistakes, and a safe encoder/parser example in Python in the context of ePassports, smart cards, EMV, and NFC.
Using the working Digital Travel prototype, we are examining ePassport chip access, the normalization of reader responses, the Passive Authentication chain of trust, and the correct architectural boundaries for generating Passport Credentials from verified data.
Electronic passports and ICAO 9303-compliant travel documents contain secure biographical and biometric data stored on a contactless chip, in addition to traditional visual data fields. To access this data, simply using an NFC reader is not enough; protocols such as BAC, PACE, Chip Authentication, and Passive Authentication must also be correctly implemented. This is precisely where JMRTD—the Java Machine Readable Travel Documents library—comes into play. JMRTD is a Java-based library used to communicate with eMRTD documents, read LDS data groups, and execute security steps.