STEP 01 · UPLOAD
A document arrives, and is checked before anything else.
A phone photo, a scan or a PDF, from your application, a DocVault folder or an archive. Before any masking starts, the file is checked for what it really is, not what its name says.
- JPG, PNG, PDF and TIFF, photos and scans alike.
- Real type checks: the file's content decides, so a renamed text file is refused.
- Damaged or oversized images are refused, safely, before they are processed.
A valid image moves on to be read.
STEP 02 · FIND THE CARD
It straightens the photo and finds the card.
Photos come in sideways, upside down or at an angle. Maskly corrects the orientation and skew, then locates the Aadhaar card and its QR code in the image.
- Rotation and skew are corrected first.
- Card detection with a trained vision model finds the card even inside a larger document.
- QR code detection runs alongside, because the QR holds personal details too.
With the card found, the number can be read.
STEP 03 · READ THE NUMBER
It reads the number, so it masks the right thing.
Text recognition reads the card and picks out the 12-digit Aadhaar number, printed across or down the card. A card that is already masked is recognised and left alone.
- Two text-recognition engines read the card.
- Horizontal and vertical number layouts are both handled.
- No card, no change: an image without an Aadhaar number comes back unchanged.
Now the masking itself.
STEP 04 · MASK
The first 8 digits go. The last 4 stay.
The first eight digits are covered with a solid block, in the format of a masked Aadhaar. The last four stay readable so the card can still be matched to a person. The QR code is covered completely.
- 8 of 12 digits hidden, the last 4 kept.
- QR code masked as well.
- Same format back: a JPEG comes back as a JPEG, a PNG as a PNG.
The masked copy goes back where it came from.
STEP 05 · DELIVER
The masked copy goes straight back to your system.
Your application collects the masked image through the API, or DocVault replaces the stored file with its masked version. Through the API, each result is released once, to the request that made it, then erased.
- Same file, masked: the format and layout are preserved.
- Single-use results, tied to the request that made it.
- A clear result for every file: masked, no Aadhaar found, or why it was skipped.
And then it's forgotten.
STEP 06 · FORGET
Nothing to leak, because nothing was kept.
Your image is held in memory only, never saved to disk or a database. We never store the Aadhaar number, your file name, or anything read from the card. An audit log records each request, never its content.
- No image storage: memory only, erased once the result is collected.
- No numbers stored: not the full number, not the last four.
- An audit log: time, source, file type and size, outcome.