Hover a dot to see the record. Click to play the attacker.
Click a person to play the attacker: who in the released table could they be?

Workplace privacy lab: k-anonymity and differential privacy

Generalise quasi-identifiers

Released-table metrics

classes-
k achieved-
unique (raw gen.)-
suppressed-
avg risk-
max risk-
info loss NCP-
utility-
salary exposed-
records-
Risk = 1 / class size (prosecutor model). Utility = (1 - mean certainty penalty) x share of records kept. "Salary exposed" = people in a class whose salaries differ by under $15k: the attacker learns salary without knowing who is who.

Differential privacy: release of average salary

group-
true mean-
released-
noise scale b-
releases0
total budget used0

Privacy vs utility

Dots: ladder from raw to fully generalised data at the current k and suppression. White marker: your current settings. Lower-right is private but less useful.

Expected DP error vs budget

Laplace mechanism, bounded mean of salary in [$20k, $200k]: sensitivity = range / n, noise scale b = sensitivity / epsilon (Dwork et al. 2006). k-anonymity: Sweeney 2002. All data are synthetic.