Streamlining Passport Verification: ICAO's Legacy and PixLab's DOCSCAN
Tags: passport, tutorial, programming, python
Published: 2023-09-07 08:43:32



## Introduction
In the contemporary era of technology adoption worldwide, the development of passports gains heightened importance. These documents, once primarily for travel, now play a crucial role in advancing identity verification on a global scale in our interconnected world. As we venture into this path of discovery, comprehension, and collaboration, the necessity of updating passports becomes essential.

The focus of this article is to explore the significant contribution of the International Civil Aviation Organization (**ICAO**) in establishing standardized features like the Machine-Readable Zone (**MRZ**) and innovative technologies such as [PixLab's DOCSCAN] (https://pixlab.io/cmd?id=docscan), which have played a pivotal role in reshaping the core characteristics of contemporary passports. Join us as we delve into the transformative factors influencing these traditional symbols, with a central emphasis on precision, effectiveness, and security.

## ICAO and Its Role in Modern Passports

The International Civil Aviation Organization (**ICAO**) holds a prominent position in the domain of contemporary passports, with its importance transcending the confines of aviation. The (ICAO), which was established by the United Nations in 1944, has assumed a significant role in influencing worldwide aviation norms and guaranteeing the safety, effectiveness, and ecological accountability of global air travel.


[ICAO's Document 9303] (https://www.icao.int/publications/pages/publication.aspx?docnum=9303) details the requirements for machine-readable passports, including the ground-breaking Machine-Readable Zone (**MRZ**) which enables faster immigration and reduced errors. ICAO also suggested adding biometric information (such *facial recognition, fingerprints, or iris scans*) to passport chips to improve safety and identity verification.


## Machine Readable Zone (MRZ)

![MRZ](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/a0l4zv559sd4a30f1s51.png)<figcaption>Modern Passport structure</figcaption>



### Modern Passport structure

Numerous services have consistently utilized passports as a means of identification from their clientele for an extended period to fulfill the KYC (**Know Your Customer**) form, as mandated by prevailing regulation.

The **Machine-Readable Zone** (MRZ) represents a significant advancement in technology that carries significant implications for both international travel and security. The revolutionary influence of this phenomenon cannot be exaggerated, as it has fundamentally altered the manner in which we authenticate identities and negotiate the intricacies of worldwide movement.


### Structure and Format of MRZ:

![Machine Readable Zone](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/mof44404dpcufrhmn5dd.png)<figcaption>Machine Readable Zone on Passport</figcaption>


The core principle of the **MRZ** is centered around simplicity. Situated on the **lower section of the identity page** within a passport, there exists a concise set of encoded information spanning two to three lines. This innovative design is specifically designed to optimize machine readability, hence streamlining the immigration process and reducing the occurrence of human errors.

### Key Information Encoded in MRZ:

The **Machine-Readable Zone** (MRZ) contains vital information that is securely encoded, serving as a critical component for accurate identification and verification purposes. Upon parsing, the [/docscan] (https://pixlab.io/cmd?id=docscan) API endpoint facilitates the automatic extraction and prompt availability of the following information for your application:

- Holder's Name
- Passport Number
- [Check Digit](http://www.highprogrammer.com/alan/numbers/mrp.html#checkdigit)
- Nationality
- Date of birth
- Personal Number
- Expiration Date
- [Final Check Digit](http://www.highprogrammer.com/alan/numbers/mrp.html#checkdigit)

This phenomenal encoding system simplifies the verification procedure, making for a more pleasant and secure experience for all international travelers.


## PixLab DOCSCAN API - The Leading KYC Provider

**[PixLab's DOCSCAN] (https://pixlab.io/cmd?id=docscan) API** is widely regarded as the leading solution for integrating passport scanning functionalities into websites and applications, particularly in the context of adhering to **KYC** (Know Your Customer) compliance requirements. The DOCSCAN API provides a comprehensive solution for the scanning and verification of passports, so assuring a user experience that is both easy and safe.

Key features and benefits of PixLab [DOCSCAN] (https://pixlab.io/cmd?id=docscan) API:

- 
**Accurate MRZ Extraction:** The [DOCSCAN] (https://pixlab.io/cmd?id=docscan) API is unparalleled in its ability to accurately and reliably extract information from the **MRZ**, a crucial step in the passport scanning process. This API securely retrieve Information like *passport number, document type, issuing country, nationality, date of birth, gender, expiration date, and checksum*.


- 
**KYC Compliance:** The PixLab [DOCSCAN] (https://pixlab.io/cmd?id=docscan) API automates the extraction and verification of passport information, making it easier for organizations to comply with KYC regulations. This makes it easier for companies to check the legitimacy of their clients.

- 
**Seamless Integration:** The API can be simply  integrated into websites and applications, regardless of the platform or programming language. As a result, the process of integrating can go without any major hiccups.


- 
**Secure and Safe:** PixLab [DOCSCAN] (https://pixlab.io/cmd?id=docscan) API has made passport scanning digital, doing away with the requirement for hard copies and so minimizing the likelihood of data breaches and legal difficulties. It provides a reliable and secure way to manage private consumer data.


- 
**Multi-language Support:** The API works with customers from all around the world solely due to its ability to read passport information in multiple languages. This makes it possible for companies to attract a wide range of customers.


The PixLab [DOCSCAN] (https://pixlab.io/cmd?id=docscan) API endpoint provides comprehensive documentation, code samples, and screenshots to assist you in integrating the API into your website or app. The capabilities of DOCSCAN API and the implementation process will be outlined in detail in the accompanying documentation.


By leveraging PixLab [DOCSCAN] (https://pixlab.io/cmd?id=docscan) API, websites and apps can streamline the passport scanning process, improve efficiency, and enhance compliance with KYC regulations. The automated extraction of passport information saves time and resources, allowing businesses to focus on providing better services to their customers.

## Automatic Passport Processing using PixLab

![PixLab](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/lq6mv9d513yad67uldyr.png)

The **Machine-Readable Zone** (MRZ) is essential to passport security, but there are other technological advances that may be made to ensure that identity checks are conducted honestly and accurately. PixLab's DOCSCAN is miles ahead of the competition when it comes to passport scanning technology. It quickly and accurately reads passport MRZ data and provides strong security against fraud. Documents of identification, such as **passports**, **visas**, and **ID cards**, can be verified quickly and securely with the use of the [/docscan] (https://pixlab.io/cmd?id=docscan) API endpoint utility.

Below, a typical output result of the [/docscan] (https://pixlab.io/cmd?id=docscan) endpoint for a passport input image:
![Input Passport Specimen](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/3iaa4bdjrknliuh97nh5.png)<figcaption>Input Passport Specimen (JPEG/PNG/BMP Image)</figcaption>

**Extracted MRZ File:**

```python
{
  type: "PASSPORT",
  face_url: "nttps://s3.amazonaws.com/media.pixlab. xyz/24p5ba822a00df7F. png",
  mrz_img_url: "nttps://s3.amazonaws.com/media.pixlab. xyz/24p5ba822a1e426d. png",
  mrz_raw_text: "P<UTOERIKSSON< <ANNAXMARIAK << <<< <<< <<< <<< << <\NLB98982C36UTO 7468122F 12641592 E 184226B<<<<<16",
  fields: {
    issuingCountry: "UTO",
    fullName: "ERIKSSON ANNA MARIA",
    documentNumber : "L898962C3",
    checkDigit: "6/2/9/1",
    nationality: "UTO",
    dateOfBirth: "1974-08-12",
    sex: "F",
    dateOfExpiry: "2012-04-15",
    personalNumber : "ZE184226B",
    finalcheckDigit: "9",
  },
  status: 260,
}
```


**What follow is the gist used to achieve such result:**

```python
import requests
import json

# Given a Passport document, extract the passport holder face and convert/parse all Machine Readable Zone
# to textual content ready to be consumed by your application.
#
# PixLab recommend that you connect your AWS S3 bucket via the dashboard at https://pixlab.io/dashboard
# so that any extracted face or MRZ crop is automatically stored on your S3 bucket rather than the PixLab one.
# This feature should give you full control over your analyzed media files.
#
# https://pixlab.io/cmd?id=docscan for additional information.

req = requests.get('https://api.pixlab.io/docscan',params={
 'img':'https://i.stack.imgur.com/oJY2K.png', # Passport input image
 'type':'passport', # Type of document we are a going to scan
 'key':'PIXLAB_API_KEY' # Your PixLab API Key - Get yours from https://pixlab.io/dashboard
})
reply = req.json()
if reply['status'] != 200:
 print (reply['error'])
else:
 print ("User Cropped Face: " + reply['face_url'])
 print ("MRZ Cropped Image: " + reply['mrz_img_url'])
 print ("Raw MRZ Text: " + reply['mrz_raw_text'])
 print ("MRZ Fields: ")
 # Display all parsed MRZ fields
 print ("\tIssuing Country: " + reply['fields']['issuingCountry'])
 print ("\tFull Name: "       + reply['fields']['fullName'])
 print ("\tDocument Number: " + reply['fields']['documentNumber'])
 print ("\tCheck Digit: "   + reply['fields']['checkDigit'])
 print ("\tNationality: "   + reply['fields']['nationality'])
 print ("\tDate Of Birth: " + reply['fields']['dateOfBirth'])
 print ("\tSex: "           + reply['fields']['sex'])
 print ("\tDate Of Expiry: "    + reply['fields']['dateOfExpiry'])
 print ("\tPersonal Number: "   + reply['fields']['personalNumber'])
 print ("\tFinal Check Digit: " + reply['fields']['finalcheckDigit'])
```

Other document scanning code samples are available to consult via the following Github links:

**Python code for scanning Passports:** [passport_scan.py](https://github.com/symisc/pixlab/blob/master/python/passport_scan.py).

**PHP code for scanning Passports:** [passport_scan.php](https://github.com/symisc/pixlab/blob/master/python/passport_scan.py).


## Conclusion
Today, computers and robots are gradually replacing people in many workplaces. These jobs are frequently finished faster, with fewer mistakes, and at a lesser cost when done by them. [PixLab's](https://pixlab.io/) primary focus is on creating tools that automate mundane, time-consuming tasks in the commercial world. One such method is to speed up the lengthy procedure of obtaining a passport. Automating passport processing with our [/docscan] (https://pixlab.io/cmd?id=docscan) technology allows you to save money, onboard customers more quickly, and reduce administrative errors.

**Key Takeaways:**

**1. Passports Beyond Travel:** Passports play a **crucial role** in identity **verification** in the digital age, extending beyond their traditional use as travel documents.

**2. ICAO’s Role:** ICAO is a vital authority in setting global standards for passports, focusing on **safety**, **efficiency**, and **environmental responsibility** in international air travel.

**3. MRZ Revolution:** The Machine-Readable Zone (**MRZ**) is a transformative innovation simplifies identity verification and international mobility.

**4. MRZ Information:** The MRZ contains essential information such as the *holder’s name, passport number, nationality, date of birth, and more*, facilitating quick and secure verification.

**5. PixLab’s DOCSCAN API:** PixLab’s [DOCSCAN] (https://pixlab.io/cmd?id=docscan) API offers accurate MRZ extraction, *KYC compliance, easy integration, security, and multi-language support* for efficient passport scanning.

**6. Automation Benefits:** Automation in passport processing can *reduce costs, expedite customer onboarding, and minimize errors* in administrative procedures.