Skip to content

l-diversity is distinct-only; document/optionally add entropy-l or t-closeness (skewness attack) #6

Description

@cognis-digital

Summary

deidproof implements distinct l-diversity (the count of distinct sensitive
values per equivalence class). It does not offer entropy l-diversity or
recursive (c,l)-diversity, nor t-closeness. Distinct l-diversity is known
to be vulnerable to a skewness attack: a class can have l distinct values yet
be 99% one value, still leaking the sensitive attribute in practice.

Why it matters

A steward who gates only on distinct-l can ship a class that is technically
"2-diverse" but effectively homogeneous (e.g. 49 Negative + 1 Positive).
The README/docs should either (a) state clearly that only distinct l-diversity
is computed and what it does/does not defend against, or (b) add an entropy-l
and/or t-closeness metric behind a flag.

Suggested direction

  • Short term: document the limitation in docs/ADVANCED.md and the l-diversity
    docstring.
  • Longer term: add --l-metric {distinct,entropy} to the CLI and a
    l_diversity(..., metric=...) parameter, computing Shannon entropy per class
    and reporting min entropy. Optionally add a t-closeness check comparing
    each class's sensitive-value distribution to the global distribution.

This is a genuine methodological gap, not a bug in the current (correct) distinct
implementation.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions