Skip to main content

De-identification validation

These checks sample masked or seed data files in your project and test whether individuals can still be re-identified from quasi-identifiers such as ZIP, birth date and gender.

vulkro-sf scan ./force-app

Files checked: CSVs under data/, testdata/, seeds/, sampledata/ (and their hyphenated forms), *.seed.json files and *.masked.* files. The data comes from your files; nothing is pulled from a live org.

Checks​

Rule IDWhat it findsDefault threshold
k-anonymity-violationA combination of quasi-identifiers shared by fewer than k rows, so a record can be singled out.k = 5
l-diversity-violationA group sharing the same quasi-identifiers has fewer than l distinct sensitive values, so membership reveals the value.l = 2
t-closeness-violationA group's sensitive-value distribution differs from the overall distribution by more than t.t = 0.40

l-diversity-violation and t-closeness-violation run only when the CSV has a sensitive-attribute column alongside the quasi-identifiers.

Each finding names the quasi-identifier set, the threshold, the measured value and the offending group. The l and t findings also name the sensitive attribute and its distribution.

Fixing​

  • k-anonymity: generalize quasi-identifiers (age ranges, 3-digit ZIP, coarser job titles) or drop rare records.
  • l-diversity: regroup so each group spans at least l sensitive values, or drop groups that cannot.
  • t-closeness: regroup or generalize so each group's distribution is close to the whole dataset's.

Re-run after any change to masking rules, schema or quasi-identifiers.

See also: NIST SP 800-188