K-Anonymity: no names in this table, and it still names people

Twenty support tickets, exported for analysis with every name stripped. Coarsen the columns until each customer hides in a crowd of at least five, and watch what each turn of the dial costs you in answers. k is the size of the smallest crowd; k = 1 is a person.

Names removed ✓
1

The export · click a row to try to find them

#AgeRoleCityIndustryRevenue Issue (free text, never generalised)Crowd

The Issue column travels with every export and no dial touches it. One of these tickets undoes a dial all by itself; find it.

The linkage attack · one search away

Click a row above. This box shows what someone with a search engine and LinkedIn could do with it.

What the table can still tell you

Distinct groups the analyst can still see
"Which city should get the new support hub?"
Customers singled out (crowd of 1)

"De-identified" and "anonymised" are different claims. Removing names removes one column; identity lives in the combination of the ordinary ones, which is why the raw export opens with seven customers in crowds of one. Anonymity here is bought with precision, and the analyst who turns the dials is choosing which business questions die: that trade is the job, not a side effect. And k-anonymity is a floor, not a guarantee: everyone in a crowd can still share the thing you wanted hidden, outside data can shrink a crowd, and free text leaks around every dial you own.