Invoices, KYC copies, salary sheets and customer lists pile up on office computers for years. This free program goes through those files and lists every Aadhaar number, PAN, GSTIN, bank detail and phone number it finds, so you know what you hold before you decide what to protect and what to delete.
Free and open source. It runs on your own computer, and nothing it reads is uploaded.
| File | Found | Shown as |
|---|---|---|
| Accounts/Sales_Register_FY24.xlsxrow 212 | PAN | XXXXX1234F (P) |
| KYC/Customer_KYC_2021.pdfpage 3 | Aadhaar | XXXX-XXXX-2562 |
| Vendors/Payout_Sheet.csvline 48 | IFSC | SBIN0***234 |
| HR/Salary_March.docxpara 6 | Mobile | +91-XXXXX-43210 |
Each number is checked against its official format, and Aadhaar and GSTIN against their built-in check digit, so a stray invoice or order number is not reported as someone's identity.
| Data | How it is recognised | In your report |
|---|---|---|
| Aadhaar number | Twelve digits, and the last digit must pass Aadhaar's own check-digit formula. A random twelve-digit invoice number fails it and is left alone. | XXXX-XXXX-2562 |
| PAN | The PAN format. The fourth letter tells you whose it is: a person, company, firm, trust or HUF. | XXXXX1234F (P) |
| GSTIN | The state code, the PAN inside it, and the GSTIN check digit. | 27XXXXX9603R1ZN |
| Bank IFSC code | The eleven-character format the RBI sets for branch codes. | SBIN0***234 |
| UPI ID | Payment handles such as name@okhdfcbank, kept apart from email addresses. | r***a@okhdfcbank |
| Mobile number | Indian mobile numbering: +91 or 0, then a number starting 6 to 9. | +91-XXXXX-43210 |
| Email address | Personal and office email addresses. | r***a@example.com |
| Names and addresses | Names after Mr., Dr., Shri or a "Name:" label, and postal addresses with PIN codes. The deeper scan below also finds names and addresses written without a label. | R***h K***r |
| Health details | Deeper scan only: mentions of an illness or medical condition, such as in a prescription or a leave letter. | c***t |
Files it reads: Word, PDF with selectable text, Excel, CSV, OpenDocument, RTF and plain text. The report also flags files nobody has changed in over a year or over three years, and the Desktop and Downloads folders, where stray copies tend to collect.
The normal scan is strongest on numbers and labelled fields. Contracts, CVs, emails and letters hold personal data in ordinary sentences, so the scanner has an optional deeper scan, called Local AI mode. It uses a small AI model that runs on your own computer to find names and addresses written in plain text and mentions of a medical condition. Nothing from your files is sent anywhere.
To use it, add --local-ai to the scan command, or choose Local AI Mode in the Mac app. It is slower than the normal scan and needs no special hardware. Two things to know before you start:
.\easydp-scan-windows-amd64.exe scan "D:\Letters" --local-ai --output-dir reports The DPDP Act does not ask you for a list of files. It does ask you to protect personal data and to delete it once you no longer need it, and you cannot do either for data you cannot find. These duties apply from 13 May 2027 (as of October 2026).
The full text is on our annotated copy of the Act.
Most offices only need the download for their computer. It is a single file, with no Python or other software to install first. The other ways to install, further down, are for IT teams and developers.
| Computer | Download | How to start it |
|---|---|---|
| Mac (app) | EasyDP-Scanner-macOS.zip | Unzip it and open EasyDP Scanner.app, or drag it to Applications first. You can also double-click easydp-scan.command for a guided scan. |
| Mac (Terminal) | easydp-scan-macos-universal | For Apple silicon and Intel Macs. In Terminal, run chmod +x ./easydp-scan-macos-universal once, then ./easydp-scan-macos-universal scan . |
| Windows 10 and 11 | easydp-scan-windows-amd64.exe | Run it from Command Prompt or PowerShell, as shown in step 2 below. |
| Linux | easydp-scan-linux-amd64 | Make it runnable with chmod +x, then run it from a terminal the same way as the Mac file. |
All four files are on the latest release page, with a checksums file for anyone who wants to confirm the download is genuine.
Pick it from the table above. On a Mac, the app is the simplest choice: unzip it and open EasyDP Scanner.app, and it guides you through the scan.
On Windows, the scanner is run by typing one line in Command Prompt or PowerShell, from the folder you downloaded it to. For a folder of accounts on the D: drive:
.\easydp-scan-windows-amd64.exe scan "D:\Accounts" --format html --output-dir reports To scan the Desktop, Documents and Downloads folders in one go:
.\easydp-scan-windows-amd64.exe scan --user-dirs --output-dir reports If you have not used Command Prompt before, your IT person or your CA can run it for you.
The report, scan_report.html, is saved in the reports folder. It opens in any browser without an internet connection, and you can print it or save it as a PDF.
Installed any of these ways, the command is easydp-scan, for example easydp-scan scan . --format html,json --output-dir reports. Add --local-ai for the deeper scan.
These download and run the install script from the scanner's GitHub repository. If your IT policy asks you to read a script before running it, open it there first.
macOS and Linux
curl -fsSL https://raw.githubusercontent.com/easydp-in/pii-scanner/main/scripts/install.sh | bash
# With the Local AI mode parts included
curl -fsSL https://raw.githubusercontent.com/easydp-in/pii-scanner/main/scripts/install.sh | bash -s -- --ai Windows (PowerShell)
irm https://raw.githubusercontent.com/easydp-in/pii-scanner/main/scripts/install.ps1 | iex # Run without installing
npx easydp-pii-scanner scan ./my-data
# Or install it
npm install -g easydp-pii-scanner pip install easydp-pii-scanner
# With the Local AI mode parts included
pip install "easydp-pii-scanner[ai]"
# Or run it in its own environment
pipx run easydp-pii-scanner scan .
pipx run "easydp-pii-scanner[ai]" scan . --local-ai If you use Claude Code, Cursor, GitHub Copilot or a similar assistant, paste this in and it will install the scanner and run a scan for you.
Please install and execute the EasyDP Local PII Scanner on this machine:
1. Detect the operating system (Windows, macOS, or Linux) and active shell environment.
2. Install the scanner using the fastest available method:
- If Python 3.10+ is available: `pip install "easydp-pii-scanner[ai]"` (or `pip install easydp-pii-scanner`)
- If Node.js is present: run directly with `npx easydp-pii-scanner scan .` (or `npx easydp-pii-scanner scan . --local-ai`)
- On macOS/Linux terminal: `curl -fsSL https://raw.githubusercontent.com/easydp-in/pii-scanner/main/scripts/install.sh | bash`
- On Windows PowerShell: `irm https://raw.githubusercontent.com/easydp-in/pii-scanner/main/scripts/install.ps1 | iex`
3. Verify the installation: `easydp-scan --version`
4. Run a local DPDP compliance scan on the current project or workspace:
Normal Mode: easydp-scan scan . --format html,json,cli --output-dir ./reports
Local AI Mode: easydp-scan scan . --local-ai --format html,json,cli --output-dir ./reports
(Or use `easydp-scan scan --user-dirs --output-dir ./reports` to scan Downloads, Desktop, and Documents)
5. Report the location of `./reports/scan_report.html` and summarize the PII counts discovered.
Important: EasyDP Local PII Scanner is 100% offline with zero telemetry. Never transmit, export, or send scanned file contents or reports to any remote server or external API. Only scan computers and files you are authorised to scan. A CA scanning a client's machine should have the client's permission first.
Next: see which DPDP duties apply to your business with the free DPDP checker, or work through the compliance checklist.
Yes. It is free and open source under the Apache-2.0 licence, with no signup. The full code is public on GitHub, so anyone can read what it does.
No. The scan runs on your own computer, and the files it reads and the report it writes stay there. The scanner's own tests are built to fail if it tries to connect to the internet during a scan. The optional deeper scan downloads its AI model once, on first use; that is a download to your computer, and nothing from your files goes out.
It runs on Windows 10 and 11, macOS and Linux, and is built for an ordinary office PC; no special hardware is needed. The download is a single program, so you do not need to install anything else first. Only the optional deeper scan (Local AI mode) also needs Python 3.10 or later.
It finds names and addresses written in ordinary sentences, and mentions of a medical condition, which the normal scan can miss in letters, CVs and contracts. It runs on your computer like the normal scan, is slower, and needs Python plus a one-time download of about 600 MB.
It reads PDFs that contain text you can select, along with Word, Excel, CSV, OpenDocument, RTF and plain text files. Pages scanned as images, and photos, are not among the supported files.
Yes, with the client's permission: only scan computers and files you are authorised to scan. The report is a good basis for a conversation about what the client should protect and what it can delete. It is not an audit certificate.
No. It tells you where personal data sits on the computers you scanned. Protecting it, deleting what is no longer needed and the rest of the Act's duties are still to be done, and the report is general information, not legal advice.
Report it on the scanner's GitHub page under Issues. False alarms help improve the checks for everyone.