E ExamMaster

Artificial Intelligence · AI Foundations

Proxies and Privacy

In AI because what a dataset reveals is a property of correlations and joins, not of which columns were deleted — the working knowledge behind feature review and privacy…

Deleting a column does not delete its information, and stripping names does not anonymise a table. Both failures have the same root: data is correlated, so what you removed can be rebuilt from what you kept. This lesson makes that concrete enough to audit — with a probe model for proxies and counting arithmetic for re-identification.

  • Artificial Intelligence
  • Medium level
  • 5 concepts

1Proxy features

A proxy is a feature that carries another feature's information through correlation. Drop the sensitive column — community, gender, age — and a model can rebuild much of it from what remains: in India, pincode alone narrows community sharply, and school attended, purchasing patterns and employment history each leak more.

This is why 'we do not use that attribute' — sometimes called fairness through unawareness — is a statement about the schema, not about the model. The fit optimises through whatever paths predict the label, and a proxy path is as good as a direct one.

Feature review is therefore an engineering task with one concrete question per column: what else could this be standing in for, and would the decision survive that being said out loud?

Figure. The sensitive attribute never enters the model, and its information still does: each middle column correlates with it and feeds the score, so the dashed path is live although no direct arrow was ever coded. Dropping the community column removes the node, not the correlations.

You delete the applicant's gender column and the gap between groups barely moves. What is the likeliest explanation?
  1. The gap was measurement noise from the start
  2. The model memorised the deleted column during an earlier run
  3. Other columns still carry that information, so the model rebuilds it without ever seeing the one you removed
  4. The deletion has not taken effect because the model was not refitted

Correlated columns act as stand-ins. Occupation, postcode and career gaps between them can reconstitute the attribute, which is why dropping it is a gesture rather than a fix.

2Auditing for proxies with a probe

You do not have to argue about proxies; you can measure them. Fit a small probe model that predicts the sensitive attribute from the feature set you intend to ship, and read its held-out AUC: 0.5 means the features carry roughly nothing about the attribute, and the further above 0.5 it sits, the more faithfully the attribute can be rebuilt.

The probe is diagnosis, not cure. A high AUC does not say which feature to drop — often no single deletion helps, because the signal is spread — but it turns 'we removed the column' into a tested claim with a number on how much of the attribute the pipeline still sees.

Figure. Hold the sensitive column out as the probe's label. Fit a simple classifier from the shipped features to that label on a held-out split. AUC 0.5 means the features carry roughly nothing; the distance above 0.5 is how much of the attribute they reconstruct.

The probe audit

  1. Hold the attribute outTake the sensitive column as the probe's label; it never enters the shipped model.
  2. Fit the probeTrain a simple classifier — logistic regression is enough — from the shipped features to that label, with a held-out split.
  3. Read the AUC0.5 is no signal; the distance above 0.5 is how much of the attribute the features reconstruct.

Coding lab. Probe for a proxy runs in the app, with checks on your output.

3Re-identification: privacy under joins

Stripping names and IDs from a table removes labels, not identity. The columns that remain — postal area, date of birth, gender — are quasi-identifiers: individually common, jointly close to unique. Re-identification is a join: line the released table up against any other source sharing those columns, an electoral roll or a leaked customer file, and the 'anonymous' rows get their names back.

This is a well-replicated result rather than a stunt: a handful of quasi-identifiers singles out most people in most populations. The arithmetic below shows why — the number of possible combinations dwarfs the number of people available to share any one of them.

The consequence for anonymisation claims: they are claims about your release joined with every dataset that exists now or later, which is why serious privacy work reasons about what an adversary could hold, not about what your table looks like alone.

Figure. Pincode, date of birth and sex are jointly close to unique. One urban pincode of about 50,000 adults against 365 × 80 × 2 = 58,400 combinations leaves about 0.86 people per cell — most occupied cells are unique. Join the released table with an electoral roll and the names come back.

Why three fields are nearly a name

A released table keeps pincode, date of birth and sex. One urban pincode holds about 50,000 adults; take an 80-year adult age range.

  • Possible birth dates ≈ 365 × 8029,200
  • With sex: 29,200 × 2 combinations58,400
  • People per combination = 50,000 / 58,400≈ 0.86
  • Average occupancy below one personmost occupied cells are unique

Pro tip. The unit of privacy is the combination, not the column. Every field added multiplies the number of cells and divides the count of people who share yours.

Names and IDs are stripped, leaving postcode, date of birth and job title. Why is 'anonymised' too strong a word for the result?
  1. That combination is close to unique for a great many people once it is joined against any other source
  2. The remaining columns still read as personal in tone
  3. Anonymisation requires encryption, and none was applied here
  4. Postcodes count as identifiers in law wherever they appear

Re-identification is a property of combinations, not of single columns. Each field looks harmless and their conjunction narrows the population to one.

4k-anonymity and where it breaks

The classical defence is k-anonymity: generalise the quasi-identifiers — pincode to district, birth date to year — until every combination that appears in the release is shared by at least k people. An attacker who joins on those columns now lands on a crowd of k, not on a person.

It breaks in known ways. If all k records sharing a combination also share the sensitive value — the homogeneity attack — the attacker learns the secret without identifying anyone. And k-anonymity says nothing about an adversary who already knows their target is in the table.

The modern successor is differential privacy: add calibrated noise to released statistics so that any one person joining or leaving the data changes the output distribution by at most a budgeted amount. It holds against arbitrary side knowledge, at the price of noisier answers — the trade the field has largely accepted for aggregate releases.

Each defence answers a different adversary; none retires the others.

Release defences
DefenceGuaranteeBreaks when
Strip identifiersNone — labels removedAny join on quasi-identifiers
k-anonymityHide in a crowd of kThe whole crowd shares the secret
Differential privacyBounded per-person influenceNoise budget set too loose

5Collect less, keep less, say why

Every field you do not collect is a field you cannot leak, cannot be compelled to hand over, and never have to defend in a re-identification analysis. Data minimisation is the design habit of collecting only what the named use needs, and it is the cheapest privacy control there is, because it applies before any engineering.

Retention is the same control on the time axis: data kept past its use accumulates risk with no offsetting value, so real deployments set deletion dates when data arrives, not when somebody remembers it. Consent completes the triangle by naming the use — and a use not named is a use not consented to, so repurposing support logs into training data is a new collection, not a technicality.

Figure. Name the specific decision a field feeds. Collect the coarsest version that serves it — district, not pincode; age band, not birth date. Attach a retention limit on arrival and make deletion the default.

Before you collect

  1. Name the useWrite the specific decision or feature this field feeds; 'might be useful' is not a use.
  2. MinimiseCollect the coarsest version that serves it — district, not pincode; age band, not birth date.
  3. Set the clockAttach a retention limit on arrival, and make deletion the default rather than a project.

Notes

  • Proxies, probe audits, re-identification arithmetic, k-anonymity and minimisation.
  • Dropping a sensitive column removes the node, not the correlations that rebuild it.
  • A handful of quasi-identifiers is jointly close to unique for most people.

Exam traps & shortcuts

  • Audit with a probe before shipping: a held-out AUC for predicting the sensitive attribute from your features is the fastest honest proxy check.
  • Generalise quasi-identifiers at collection time — a birth year serves most models as well as a birth date and removes most of the join surface.
  • Treat every new join of two datasets as a new privacy review; re-identification lives in the joins, not in the tables.

Recap

This lesson in brief:

Proxy features
Correlated columns rebuild a dropped attribute; unawareness is a schema fact, not a model fact.
Probe audit
Predict the sensitive attribute from shipped features; the held-out AUC above 0.5 measures the rebuild.
Re-identification
Quasi-identifiers are jointly near-unique, so anonymisation is a claim about every joinable dataset.
Defences
k-anonymity hides you in a crowd of k; differential privacy bounds any one person's influence on the release.

Practise Proxies and Privacy

Reading is free and needs no account. Practice, mocks and progress live in the app.

  • 2 quick checks with worked explanations
  • Timed mocks scored with the real marking scheme
  • Readiness tracked per topic, kept on your device
Continue with Google — freeNo card, no trial. Works offline once installed.