Skip to content

AWS Qualified Software · On AWS Marketplace · Measured on 10,001 real files

Aadhaar masking you can prove.

Aadhaar Masking finds every Aadhaar number and QR code in your KYC and loan files and covers it in UIDAI's masked form: 99.94% of numbers and 100% of QR codes in a measured test of 10,001 real loan files, with the method and the misses published. Run it as an API, inside your own AWS account, or on your own servers.

  • Cards, e-Aadhaar, deeds and forms, in English and Hindi
  • QR codes covered whole, wherever they are on the page
  • The last four digits stay readable, as UIDAI prescribes
  • About 500 pages a minute; a 500-page PDF in about a minute
A sample Aadhaar card, unmasked: the twelve-digit number and the QR code are readableThe same card after masking: the first eight digits and the QR code are covered, the last four digits are readableBeforeAfter
Drag the handle. A sample card, not a real one.XXXX XXXX 0123
of Aadhaar numbers masked
99.94%
13,541 of 13,549 Aadhaar numbers on 10,001 real loan files, counted by an independent reader and checked by eye.
of Aadhaar QR codes masked
100%
2,498 of 2,498 Aadhaar QR codes in the same test.
pages a minute
500
About 500 pages a minute with 40 parallel masking environments; 425 pages a minute measured end to end through the API with 24 files in flight from one office connection.
service errors
0
0 errors and 0 throttles in 11,128 masking calls during the test (CloudWatch).

Measured on 10,001 real loan files, 15 October 2026; method on the Accuracy page. The misses are listed too: how it was measured.

Why lenders are moving now

The duty is yours. The exposure is in the archive.

Regulators put the duty to redact on the entity that holds the copy, the penalties now have a schedule, and the number is in more places than the card. Each point below links to the text it comes from.

The regulator says "ensure". Your customers won't black out anything.

RBI, SEBI and IRDAI each put the duty on the regulated entity: it "shall ensure" the Aadhaar number is redacted. In practice customers hand over full copies, field staff photograph full cards, and the duty lands on whoever stores the file.

What Aadhaar Masking does: Masking happens at the point of capture or ingestion, by the API or inside your DMS, so the stored copy is the redacted one.

Every unmasked copy in your archive is a breach waiting for a date.

The large Indian KYC exposures of 2024–25 were not live systems: they were archives. 36 million KYC files of an RBI-registered NBFC in an open storage bucket; 27 million files of a micro-lender; 4 million KYC forms of an ISP, Aadhaar copies among them.

What Aadhaar Masking does: Point the batch mode at the archive: ZIPs of up to 500 MB through the API, or a folder-in, folder-out run on your own servers, at about 500 pages a minute.

Masking the card isn't enough: the number is in the form, the deed and the QR.

Applicants write the number into forms. Sale deeds and gift deeds print both parties' numbers in running Hindi text. Maharashtra had to hide Aadhaar numbers in registered-document copies in 2024. And the QR code on older Aadhaar letters is plain XML that carries the full number.

What Aadhaar Masking does: Numbers in running text in English and Hindi, numbers split across lines, and every Aadhaar QR code, wherever it is on the page.

Sending documents to a vendor's cloud is its own compliance problem.

UIDAI's Circular 14 limits where Aadhaar data may be hosted. RBI's Digital Lending Directions require that "all data is stored only in servers located within India" and that anything processed abroad is deleted and brought back within 24 hours. Most masking APIs want your documents on their servers.

What Aadhaar Masking does: Run it inside your own AWS account from AWS Marketplace, or on your own servers. Nothing leaves. Nothing to explain.

The rules, quoted with sources

What it masks

Built for loan files, not just cards

A card photo is the easy case. The engine was tuned on what lenders actually hold: deeds in Hindi, forms, statements, ZIP archives, and the photos field staff take.

Aadhaar cards and e-Aadhaar

Card fronts and backs, PVC cards and their small second copy, e-Aadhaar letters, UIDAI verification screenshots, photocopies of photocopies.

Numbers inside documents

Written into application forms, printed in the running text of sale and gift deeds and loan agreements in English and Hindi, split across two lines, or in a table row labelled Aadhaar.

Aadhaar QR codes

The secure QR on cards and the plain-text QR on older letters, covered whole, wherever they are on the page.

Excel sheets

Twelve-digit Aadhaar numbers in cells are replaced with XXXXXXXXXXXX; other numbers in the sheet are left as they are.

Whole archives

ZIP files of up to 500 MB through the API, with the folder structure kept and a per-file report; or a folder run on your own servers.

Hard photos

Rotated, sideways, blurred, in a plastic sleeve, under glare, inside a collage: the page is looked at four ways round and read twice.

How it works

Eight steps, every page, every time

Detection finds candidates; reading and the Verhoeff checksum prove them; the page read catches what detection missed; the cover ends exactly after the eighth digit.

  1. 01

    Render

    PDF pages are rendered at 200 dpi and every page is cleaned to even lighting, so a shaded phone photo and a flat scan look alike to the next steps.

  2. 02

    Detect

    A detector trained on Indian KYC documents boxes Aadhaar numbers and QR codes, looking at the page four ways round so a sideways or upside-down card is still found.

  3. 03

    Read each box

    Every candidate box is read with OCR and the digits grouped the way a card prints them.

  4. 04

    Verify

    A number must prove itself: twelve digits, printed 4-4-4 or run together, never opening with 0 or 1, and a valid Verhoeff checksum; or printed as a card prints it on a page that says Aadhaar.

  5. 05

    Read the page

    Every line of the page is read for numbers the detector missed: a number written into a form, a deed's "Aadhaar No." in running text, the small second copy under a card's photo, a number split across two lines.

  6. 06

    Decode QR codes

    Every QR code on the page is decoded. One that carries UIDAI's record is covered wherever it is, whether the detector boxed it or not; a payment code, an e-stamp or a link is left alone.

  7. 07

    Look across the file

    A card photographed front and back, or copied twice into one PDF, often reads cleanly on one page and a digit wrong on the other. A number confirmed on one page covers its misread copy on the others.

  8. 08

    Cover

    The first eight digits are painted over and the last four stay readable, UIDAI's own masked form. The cover ends in the gap after the eighth digit, not inside it. QR codes are covered whole.

The engine in detail, and what it deliberately leaves

Three ways to run it

Your documents, where you want them

The same engine in every edition. Choose by where your documents may go and who you want running the infrastructure.

Recommended for regulated buyers

AWS Marketplace edition

Your AWS account

The same API and engine, deployed into your own AWS account with one CloudFormation stack in about eight minutes. Documents, storage and logs stay with you; AWS bills the software with your other AWS charges; the licence is checked through AWS License Manager.

Where documents go
Nowhere. They are masked inside your account, in your S3 bucket, and deleted within a day.
Pricing
From $1,050 or ₹75,000 a year for 2.5 lakh pages; see pricing.
View on AWS Marketplace

Hosted API

SaaS API

One HTTPS endpoint, one API key. Send a file, get the masked copy back with a per-page record. Images and short PDFs return in the same call; long PDFs, ZIPs of up to 500 MB and Excel sheets run in the background with a task you can poll.

Where documents go
To HabileLabs' AWS account in Mumbai, for the time it takes to mask them, then deleted.
Pricing
Quoted for your volume; annual commitments price lower than month to month.
Get an API key

On-premises edition

Your own servers

A Docker image that runs on an ordinary CPU server, a desktop or a laptop. Point it at a folder of images and PDFs; it writes the same folder back masked, with a spreadsheet saying what it did to every file. No network needed at run time.

Where documents go
Nowhere. They never leave the machine the image runs on.
Pricing
Quoted for your environment and volume.
Talk to us about on-premises

AWS Marketplace

Version 1.5.0, in your AWS account in about eight minutes

The only Aadhaar masking product listed on AWS Marketplace as of October 2026. Billed with your other AWS charges; INR private offers through AWS India. See the listing

Available in AWS Marketplace

Compared

How the usual ways of masking compare

By category, not by brand. The review behind each cell was done in October 2026; where a cell says a figure is published, the Accuracy page is where it is published.

Compared onManual maskingStaff black out copies by hand or in an image editorGeneric OCR and redaction toolsText search and redact on scanned pagesCloud KYC APIsVendor-hosted masking endpointsOn-premises redaction suitesInstalled document-processing softwareAadhaar Masking by HabileLabsHosted API, your AWS account, or on-premises
Accuracy measured and published, with the misses
Depends on the person and the day
Marketing figures without a method, where any
99.94% of numbers, 100% of QR codes, on 10,001 real files
Aadhaar QR codes covered
If the person knows to
Text tools do not see codes
Some do, some do not
Whole, wherever they are on the page
Numbers in running text, in Hindi as well as English
Slow; easy to miss the second party
English text only, if the scan is clean
Single card images in most cases
Deeds, agreements and forms; Devanagari labels read
Multi-page loan files and archives
Does not scale
Often one page or one image per call
500-page PDFs, 500 MB ZIPs, folders; about 500 pages a minute
Documents never leave your environment
Documents go to the vendor
Your AWS account or your servers; the hosted API if you prefer
Buy and run it from AWS Marketplace, on your AWS bill
The only Aadhaar masking product listed, October 2026
Public pricing
Staff time
Licence, not per document
Quote per call
Page packs in USD and INR on the pricing page
A record per page of what was found and covered
In every API answer; a spreadsheet per run on-premises

Lenders that run Aadhaar masking by HabileLabs

  • Aavas Financiers
  • Aadhar Housing Finance
  • Utkarsh Small Finance Bank
  • Thane Bharat Sahakari Bank
  • Wonder Home Finance
  • Choice Finserv

As published on habilelabs.io and finhub.habilelabs.io.

Built to the rules

What the regulators actually say

Not badges: the texts. Each quote is the regulator's own wording with a link to the instrument; the Security page has all of them.

RBI28 November 2025

“The bank shall, where its customer submits a proof of possession of Aadhaar Number containing Aadhaar Number, ensure that such customer redacts or blacks out his Aadhaar number through appropriate means”

Reserve Bank of India (Commercial Banks – Know Your Customer) Directions, 2025 · Paragraph 23, Explanation 1 (the same text stood in Section 16 of the KYC Master Direction, 2016)

The duty to ensure redaction sits with the regulated entity. It is not the customer's job.

UIDAI

“No entity … shall retain Aadhaar numbers or any document or database containing Aadhaar numbers for longer than is necessary for the purpose specified to the Aadhaar number holder at the time of obtaining consent.”

Aadhaar (Sharing of Information) Regulations, 2016 · Regulation 6(5)

A loan file that keeps the full number for years is a retention problem, not just a sharing one.

Parliament2023; penalty provisions commence 13 May 2027 under the 2025 Rules

“May extend to two hundred and fifty crore rupees”

Digital Personal Data Protection Act, 2023 · The Schedule: breach of the duty to take reasonable security safeguards, section 8(5)

An archive of unmasked Aadhaar copies is personal data without reasonable safeguards. This is the ceiling.

SEBI12 October 2023

“It shall be ensured that full Aadhaar number is not stored and displayed anywhere in the system and wherever required only last 4 digits of Aadhaar number may be displayed.”

SEBI Master Circular on Know Your Client (KYC) norms · SEBI/HO/MIRSD/SECFATF/P/CIR/2023/169

For intermediaries the rule reaches the systems, not just the paperwork: nothing stored or shown beyond the last four digits.

All the rules, and how the product handles your data

Questions

The questions compliance teams ask first

What is masked Aadhaar?
UIDAI's term for an Aadhaar number with its first eight digits replaced by crosses and only the last four visible: XXXX XXXX 1234. It is the form regulated entities must keep when they hold a copy of an Aadhaar document and do not authenticate the number. Aadhaar Masking produces exactly this form, and covers the Aadhaar QR code whole, because the code carries the number.
How accurate is it, and how do you know?
99.94% of Aadhaar numbers (13,541 of 13,549) and 100% of Aadhaar QR codes (2,498 of 2,498) were masked on 10,001 real loan files sent through the hosted API on 15 October 2026. An independent reader counted the numbers and codes on every page before and after masking, and a person checked every one it said was still readable. The method, the figures and the misses are on the Accuracy page.
How is it priced?
On AWS Marketplace, annual page packs: 2.5 lakh pages a year from $1,050 or ₹75,000, down to ₹0.10 a page on the largest pack, with 10% off for 24 months and 15% for 36. Packs stack, and masking never stops when a pack runs out: you get an alarm at 80% and 100%. The hosted API and the on-premises edition are quoted for your volume.
Where do my documents go?
It depends on the edition. Hosted API: to HabileLabs' AWS account in Mumbai for the time it takes to mask them, then deleted, typically within 24–48 hours. AWS Marketplace edition: nowhere, they are masked inside your own account. On-premises: nowhere, they never leave your machine. No edition keeps document content in its logs.
How does the free trial work?
Request it on the Try it page with your work email. We send you a secure link to upload a card photo, a scan or a PDF of up to five pages and 10 MB; an engineer runs it through the production engine and emails you the masked copy with the per-page record, usually within a working day, along with a note on anything the engine left alone and why. The file is used for nothing else and deleted within 24 hours of masking. Self-serve masking in the browser, with the result in seconds, is coming.

More on the FAQ page.

Get started

Judge it on one of your own files

Send a card photo, a scan or a short PDF and get it back masked by the production engine, with a per-page record of what was covered. Or book thirty minutes with a HabileLabs engineer to see it on your document types and plan a deployment in your AWS account.

Or email support@habilelabs.io · Monday to Friday, 10:00–19:00 IST (excluding public holidays)