Repository navigation
The Aadhaar exposure report, the branch's tables (point 4.5a) - #232
Merged
Merged
Conversation
fox pii aadhaar run reads every row of every text, number, array and JSON column for Aadhaar numbers (Verhoeff), in free text and JSON path by path. The database filters each table for the shape; one read-only transaction a table, with a time limit and a lock wait, a table it cannot read skipped and said so. Each place is kept as its column or path, the row's primary key and the number's last four digits (bb.aadhaar_runs, _columns, _places): never the number or a hash of it. Places of one number are grouped as one person in memory for the run; since when is the first run that found it, or a tracked row's created_at. A place is gone only when its table was read in full. A masked branch starts with no report. fox pii aadhaar [places], three API routes under personal-data/aadhaar (the branch's owner or an admin; running it Enterprise, reading free), the console's Aadhaar exposure page, and each run in the security log with counts. Integration 11ar and aadhaar.spec.ts.
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Point 4.5, first part: which person's Aadhaar is exposed in a branch, where, and since when.
What it does
fox pii aadhaar runreads every row of every text, number, array and JSON column for Aadhaar numbers (twelve digits, first 2–9, Verhoeff). It finds them alone, in free text, and inside JSON path by path, including a key that holds one. A card's sixteen digits or a phone number run on is not taken.fox pii aadhaarreports by column (counted in full) and by person: each number shown as UIDAI masks it (XXXX XXXX 0124), its places, and since when.fox pii aadhaar places [--person n] [--column s.t.c] [--gone]lists the rows, by primary key./api/branches/{name}/personal-data/aadhaarand a console page, Aadhaar exposure.Decisions (taken 12 Nov)
bb.aadhaar_runs,_columns,_places). Never the full number, and never a hash of it (UIDAI forbids hashes as reference keys). A JSON key holding a number is kept as*.created_aton a tracked table if that is earlier.personal-data); reading a report is free. Each run goes in the security log, with counts only.Not in this PR
Tests
aadhaar.spec.ts: a run from the page, a person's rows, no whole number on screen, the report kept on the next visit, a removed number shown as gone).🤖 Generated with Claude Code