<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Narducciiann</title>
    <description>The latest articles on DEV Community by Narducciiann (@truth_unfiltered).</description>
    <link>https://dev.to/truth_unfiltered</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4196833%2F64e4bc75-d02c-4041-b106-f89f960b67c9.png</url>
      <title>DEV Community: Narducciiann</title>
      <link>https://dev.to/truth_unfiltered</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/truth_unfiltered"/>
    <language>en</language>
    <item>
      <title>Why Developers Are Turning to `ICAO_extractor` for Border Control &amp; MRZ Compliance</title>
      <dc:creator>Narducciiann</dc:creator>
      <pubDate>Tue, 20 Oct 2026 21:00:24 +0000</pubDate>
      <link>https://dev.to/truth_unfiltered/why-developers-are-turning-to-icaoextractor-for-border-control-mrz-compliance-11ij</link>
      <guid>https://dev.to/truth_unfiltered/why-developers-are-turning-to-icaoextractor-for-border-control-mrz-compliance-11ij</guid>
      <description>&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F77ouodbv32832d31ryyy.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F77ouodbv32832d31ryyy.png" alt=" " width="800" height="636"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;A Developer's Guide to &lt;code&gt;ICAO_extractor&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Subtitle:&lt;/strong&gt; How a browser-based userscript overcomes ICAO eLibrary viewer restrictions to streamline MRZ, OCR, and identity document development workflows.&lt;/p&gt;




&lt;h2&gt;
  
  
  📌 Overview
&lt;/h2&gt;

&lt;p&gt;If you build software for identity verification, border control, or machine-readable zone (MRZ) parsing, official standards like &lt;strong&gt;ICAO Doc 9303&lt;/strong&gt; are not optional—they are your source of truth[cite: 1]. Yet, any engineer or compliance specialist who has used the &lt;strong&gt;ICAO eLibrary Reader&lt;/strong&gt; knows the frustration: protected views, blank pages caused by hidden Optional Content Groups (OCGs), and completely disabled print-to-PDF functionality[cite: 1]. &lt;/p&gt;

&lt;p&gt;When critical engineering material is trapped behind a restrictive web viewer, development slows down[cite: 1]. That is precisely why &lt;strong&gt;&lt;code&gt;ICAO_extractor&lt;/code&gt;&lt;/strong&gt; was built[cite: 1].&lt;/p&gt;

&lt;h3&gt;
  
  
  Quick Resource Links:
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;GitHub Repository:&lt;/strong&gt; &lt;a href="https://github.com/mungaben/ICAO_extractor" rel="noopener noreferrer"&gt;mungaben/ICAO_extractor&lt;/a&gt;[cite: 1]&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;ICAO eLibrary Platform:&lt;/strong&gt; &lt;a href="https://elibrary.icao.int" rel="noopener noreferrer"&gt;elibrary.icao.int&lt;/a&gt;[cite: 1]&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Official ICAO Portal:&lt;/strong&gt; &lt;a href="https://www.icao.int" rel="noopener noreferrer"&gt;icao.int&lt;/a&gt;[cite: 1]&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  ⚙️ How the Technical Pipeline Works
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;
[ICAO eLibrary Page] ──► [PDFTron Live Memory] ──► [Page Rasterization] ──► [Clean PDF / PNG]

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Auto-Detection:&lt;/strong&gt; The script automatically activates when you open a supported ICAO document page[cite: 1].&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Memory Extraction:&lt;/strong&gt; It hooks into the active PDFTron instance to access the decrypted document payload[cite: 1].&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Visual Rasterization:&lt;/strong&gt; To eliminate missing text or blank layers caused by complex PDF layer logic (OCGs), the script renders the precise visual state of each page at your desired resolution[cite: 1].&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Export &amp;amp; Download:&lt;/strong&gt; It reconstructs the rendered canvas frames into a pristine PDF document or sequence of PNGs, triggering a standard browser download[cite: 1].&lt;/li&gt;
&lt;/ol&gt;




&lt;h2&gt;
  
  
  🚀 Key Features Built for Real-World Workflows
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Feature&lt;/th&gt;
&lt;th&gt;Description / Benefit&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Tailored Presets&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Includes optimized profile presets: &lt;strong&gt;Reading&lt;/strong&gt;, &lt;strong&gt;Archival&lt;/strong&gt;, &lt;strong&gt;Print&lt;/strong&gt;, and &lt;strong&gt;AI/OCR&lt;/strong&gt;[cite: 1].&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Granular Controls&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Customize DPI resolutions, set specific page ranges, and use keyboard shortcuts[cite: 1].&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Progress &amp;amp; Control&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Live progress indicators, download summary cards, and cancellation support[cite: 1].&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Privacy First&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Executes 100% client-side with zero external servers or backend tracking[cite: 1].&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;




&lt;h2&gt;
  
  
  📋 Supported Document Formats &amp;amp; Standards
&lt;/h2&gt;

&lt;p&gt;This tool is particularly useful for teams working directly on:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Card &amp;amp; Page Formats:&lt;/strong&gt; TD1, TD2, and TD3 identity standards[cite: 1].&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Visa Specifications:&lt;/strong&gt; MRV-A and MRV-B visa layouts[cite: 1].&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Passport Coding:&lt;/strong&gt; PP, PD, PO, PE, PR, PT, PS, PL, and PM type identifiers[cite: 1].&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Core Regulations:&lt;/strong&gt; Comprehensive parts of ICAO Doc 9303[cite: 1].&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  ⚖️ Important Notice &amp;amp; Compliance
&lt;/h2&gt;

&lt;p&gt;&lt;code&gt;ICAO_extractor&lt;/code&gt; is an independent open-source project and is &lt;strong&gt;not&lt;/strong&gt; affiliated with, endorsed by, or connected to ICAO or the ICAO eLibrary[cite: 1]. Users are responsible for ensuring their usage complies with relevant terms of service, intellectual property rights, and local laws[cite: 1].&lt;/p&gt;




&lt;h2&gt;
  
  
  🏁 Conclusion
&lt;/h2&gt;

&lt;p&gt;&lt;code&gt;ICAO_extractor&lt;/code&gt; bridges the gap between official document viewers and practical software development[cite: 1]. By turning restricted viewer states into actionable, offline-ready reference files, it ensures engineering teams spend less time fighting web readers and more time building compliant identity systems[cite: 1].&lt;/p&gt;




&lt;h3&gt;
  
  
  💬 Further Conversations &amp;amp; Support
&lt;/h3&gt;

&lt;p&gt;Have questions, need customization, or want to collaborate on passport parsing and document workflows? Let's connect on WhatsApp:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Chat Now:&lt;/strong&gt; &lt;a href="https://wa.me/254140221611?text=Hello%2C%20I%20found%20your%20ICAO%20extractor%20project%20and%20would%20like%20to%20connect." rel="noopener noreferrer"&gt;Send a message to +254140221611&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>dl</category>
      <category>ai</category>
      <category>data</category>
      <category>mz</category>
    </item>
    <item>
      <title>Machine Readable Travel Documents --- Doc 9303</title>
      <dc:creator>Narducciiann</dc:creator>
      <pubDate>Tue, 20 Oct 2026 20:15:29 +0000</pubDate>
      <link>https://dev.to/truth_unfiltered/machine-readable-travel-documents-doc-9303-4cni</link>
      <guid>https://dev.to/truth_unfiltered/machine-readable-travel-documents-doc-9303-4cni</guid>
      <description>&lt;p&gt;Here is a comprehensive blog post outline and framework addressing why these technical standards are commercialized, how they can be used, and what you can build legally&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fxgqkiwzzulatepy91ny7.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fxgqkiwzzulatepy91ny7.jpeg" alt=" " width="799" height="436"&gt;&lt;/a&gt; and freely.&lt;/p&gt;




&lt;h1&gt;
  
  
  Blog Post: Why Are ICAO Travel Document Standards Behind a Paywall? (And What You Can Build for Free)
&lt;/h1&gt;

&lt;p&gt;If you have ever tried to design a secure ID card, build a passport reader app, or implement biometric checks, you will inevitably run into &lt;strong&gt;ICAO Doc 9303: Machine Readable Travel Documents&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Published by the International Civil Aviation Organization (ICAO)—a specialized agency of the United Nations—Doc 9303 is the definitive global blueprint for passports, national ID cards, and visas. It defines everything from physical dimensions and contactless chip layouts to the exact typography and structure of the &lt;strong&gt;Machine Readable Zone (MRZ)&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Yet, if you visit the official ICAO eLibrary, you are met with a price tag.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Why are these documents paid?&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Shouldn't global safety standards be free and open-source?&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;What can you actually build for free, where can you host it, and what standards apply?&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Let’s break it down.&lt;/p&gt;




&lt;h3&gt;
  
  
  Part 1: Why Are ICAO Documents Paid? Can’t I Download Them Free?
&lt;/h3&gt;

&lt;p&gt;It feels counterintuitive. ICAO is a UN body. Taxpayer-funded governments create the laws, border policies, and passport designs. Why isn't the documentation open-access like standard web RFCs (Request for Comments) from the IETF?&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Self-Funding Model:&lt;/strong&gt; Unlike standard bodies that receive massive endowments or government tech grants, specialized UN agencies like ICAO often rely heavily on publications, technical sales, and convention fees to fund their continuous working groups, research panels, and global administrative operations.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Maintenance and Updates:&lt;/strong&gt; Doc 9303 isn't a static book; it spans multiple parts (Part 1 through Part 12) covering complex cryptographic protocols, Public Key Infrastructures (PKI), and biometric logical data structures. Maintaining these specs requires continuous engineering and international consensus-building.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Enterprise vs. Open-Source Divide:&lt;/strong&gt; Historically, these standards were purchased by sovereign mints, national security printers (like Gemalto/Thales, De La Rue), and billion-dollar border-control hardware vendors. To them, a high-priced technical manual is a minor operational cost.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;em&gt;Note: While official direct downloads from the ICAO eLibrary require purchase, many technical drafts, working papers, and older consolidated versions frequently circulate online or via open-access university and government repositories due to academic research exemptions.&lt;/em&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  Part 2: What Can Someone Build for Free?
&lt;/h3&gt;

&lt;p&gt;Even though the &lt;em&gt;full manual&lt;/em&gt; has a price tag, &lt;strong&gt;the standards themselves describe public technology protocols that you can implement, test, and build with completely for free.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;You do not need to buy Doc 9303 to write software that interacts with IDs or passports, because the underlying cryptographic and parsing mechanisms rely on open, public specifications. Here is what you can build:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;MRZ Parsers &amp;amp; OCR Tools:&lt;/strong&gt;
You can build software that reads the bottom lines of a passport or ID card (the Machine Readable Zone). The structure of the MRZ (TD1, TD2, TD3 formats) is public knowledge. You can write Python, JavaScript, or mobile apps using open-source libraries (like &lt;code&gt;Tesseract OCR&lt;/code&gt; or community-made &lt;code&gt;mrz parsers&lt;/code&gt;) to extract names, document numbers, expiry dates, and birth dates.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;NFC ePassport Readers:&lt;/strong&gt;
You can build applications that communicate with contactless biometric chips (eMRTDs). Mobile phones with NFC capabilities can read the public data groups (DG1, DG2 for facial images) using standard ISO/IEC 14443 protocols. Open-source libraries like &lt;code&gt;JMRTD&lt;/code&gt; (Java) or native Android/iOS NFC reader tools allow you to tap a passport and pull data.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Basic Document Mockups &amp;amp; Check-Digit Calculators:&lt;/strong&gt;
You can build local utilities to calculate the mandatory &lt;strong&gt;MRZ Check Digits&lt;/strong&gt; (using the standard Modulus 10-7-3 weighting algorithm defined internationally) to verify if a user-inputted ID number is mathematically valid.&lt;/li&gt;
&lt;/ol&gt;




&lt;h3&gt;
  
  
  Part 3: Where Can It Be Hosted &amp;amp; What Tech Stack/Standards Are Used?
&lt;/h3&gt;

&lt;p&gt;If you are building an application, parser, or verification service based on these document standards, here is how to deploy it:&lt;/p&gt;

&lt;h4&gt;
  
  
  1. Where to Host It?
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;For Client-Side Apps (Mobile/Desktop):&lt;/strong&gt; Since parsing an MRZ or scanning an NFC chip happens locally on the device for privacy and speed, you can host your frontend applications on standard static hosting providers like &lt;strong&gt;GitHub Pages, Vercel, Netlify, or AWS S3/CloudFront&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;For Backend Validation Services:&lt;/strong&gt; If your app checks document validity, logs verification events, or handles PKI certificate validation, you can host your backend on &lt;strong&gt;AWS, Google Cloud, Azure, or self-hosted Docker containers on DigitalOcean/Linode&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;em&gt;Crucial Privacy Note:&lt;/em&gt; Because travel documents contain Personally Identifiable Information (PII) and biometrics, avoid public cloud regions with strict data residency violations if handling real documents. Local, on-premise, or encrypted edge-processing is heavily favored.&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  2. What Standards &amp;amp; Technologies Are Used?
&lt;/h4&gt;

&lt;p&gt;To build compatible tools, you don't necessarily need the paid text; you can reference the foundational open standards that Doc 9303 builds upon:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Optical Character Recognition (OCR):&lt;/strong&gt; OpenCV, Tesseract, or cloud vision APIs.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;NFC &amp;amp; Contactless Communication:&lt;/strong&gt; &lt;a href="https://www.iso.org/standard/73599.html" rel="noopener noreferrer"&gt;ISO/IEC 14443&lt;/a&gt; (Proximity integrated circuit cards).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Data Structure:&lt;/strong&gt; &lt;a href="https://www.iso.org/standard/54605.html" rel="noopener noreferrer"&gt;ISO/IEC 7816-4&lt;/a&gt; (Organization for identification cards / file structures).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Cryptographic Security:&lt;/strong&gt; Basic Access Control (BAC), Extended Access Control (EAC), and Passive Authentication using standard &lt;strong&gt;X.509 Digital Certificates&lt;/strong&gt; and Public Key Infrastructure (PKI).&lt;/li&gt;
&lt;/ul&gt;




&lt;h3&gt;
  
  
  Part 4: Can This Be Shared for Free?
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Can you share the official ICAO PDF?&lt;/strong&gt; Officially, no. Copyright restrictions on the ICAO eLibrary prohibit redistributing, copying, or uploading their purchased proprietary PDFs to public forums or file-sharing sites.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Can you share code, schema definitions, and parsers?&lt;/strong&gt; &lt;strong&gt;Yes, absolutely.&lt;/strong&gt; Writing your own open-source code that parses an MRZ string, implements check-digit math, or reads public NFC data structures, and sharing that code on GitHub under an MIT or Apache license, is entirely legal and encouraged in the developer community.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://wa.me/254140221611?text=Hello%2C%20I%20would%20like%20to%20make%20an%20inquiry." rel="noopener noreferrer"&gt;Send Inquiry Message&lt;/a&gt;&lt;/p&gt;

</description>
      <category>icio</category>
      <category>challenge</category>
      <category>devops</category>
    </item>
  </channel>
</rss>
