Dataset privacy-risk scanner
A reproducible privacy-engineering study that measures re-identification risk in tabular data and compares 128 generalisation and suppression policies against analytical utility.

Project definition
Problem statement
Removing names and contact fields does not necessarily make a table anonymous. Combinations such as age, sex, education, occupation, marital status, race, and country can isolate a record and support linkage with outside information.
A release decision must balance disclosure risk with utility. Stronger generalisation and suppression can protect rare records while damaging retention, distributions, and downstream analysis.
Project objectives
- Measure equivalence-class size, uniqueness, prosecutor risk, discernibility, l-diversity, entropy diversity, and t-closeness.
- Compare compact, extended, and full attacker-knowledge models on one pinned licensed dataset.
- Evaluate 128 age-banding, category-grouping, and suppression policies.
- Extract the non-dominated privacy-utility frontier and test selected policies on a held-out prediction task.
- Validate structural risk through a controlled record-linkage experiment.
- Keep the Laplace count experiment separate from any claim about transformed microdata.
Project structure
Project components
Verified data acquisition
Downloads the official UCI Adult archive only after explicit licence acceptance and validates its SHA-256 digest.
Disclosure metric engine
Calculates equivalence classes, k-related risk, sensitive-value diversity, distributional closeness, and discernibility.
Policy evaluator
Runs all 128 declared generalisation and suppression combinations and retains every result.
Controlled linkage
Measures exact-match precision and recall under three attacker-knowledge scenarios with bounded age noise.
Utility evaluator
Measures row retention, marginal Jensen-Shannon distance, logistic accuracy, and AUROC.
Evidence and reporting
Builds aggregate CSV and JSON results, labelled figures, editable documents, PDFs, and repository acceptance evidence.
Methodology
Project workflow
- 01Acquire and verify
Accept the documented licence, download the pinned archive, and confirm its digest.
- 02Build the analytical frame
Apply the declared parsing and missing-value rule to obtain 45,222 complete records.
- 03Measure baseline risk
Compare compact, extended, and full quasi-identifier models.
- 04Evaluate policies
Run all transformation candidates and extract four non-dominated policies.
- 05Test attacks and utility
Run controlled linkage, distributional utility, held-out prediction, and the separate count mechanism.
- 06Validate the release
Regenerate figures and documents, run tests and audits, and verify all retained evidence.
Demonstration scenario
The student runs the pinned Adult case study, shows how full quasi-identifiers make 41.17 percent of records unique, compares the 128 transformation policies, explains the four-point privacy-utility frontier, and then uses the controlled linkage results to show why richer attacker knowledge increases recoverability.
Engineering
Tools and method
- Scientific Python package
- Typed modules for configuration, data acquisition, privacy metrics, transformation, linkage, utility, and experiment orchestration.
- Statistical layer
- Pandas, NumPy, and SciPy for grouping, distribution comparison, aggregation, and seeded randomized experiments.
- Predictive layer
- A reproducible scikit-learn logistic pipeline for held-out task-specific utility.
- Evidence layer
- Aggregate CSV and JSON outputs with ten paired PNG and SVG figures and no source rows.
- Release layer
- Pinned dependencies, automated tests, Docker validation, editable Word documents, PDFs, and machine-readable acceptance checks.
Testing
Evaluation
Evaluation measures
- Unique-row and below-k fractions across three attacker-knowledge models
- Maximum and mean prosecutor risk, discernibility, l-diversity, entropy diversity, and t-closeness
- Privacy and utility values for all 128 candidate policies and the four-point Pareto frontier
- Controlled-linkage precision and recall under compact, extended, and full quasi-identifiers
- Row retention, marginal distribution shift, held-out accuracy, and AUROC
- Laplace count median and 95th-percentile error across five epsilon values
- Repeatability through 18 tests, 96 percent branch coverage, dependency audit, and container validation
Project boundaries
- The supplied full experiment uses the UCI Adult dataset under CC BY 4.0 and requires explicit licence acceptance.
- The reported values apply only to the declared dataset, cleaning rule, attacker views, policy grid, linkage model, and seed.
- The scanner supports privacy review and does not certify anonymity, legal compliance, or unrestricted release safety.
- The transformed microdata is not claimed to be differentially private. The Laplace experiment covers one bounded count query only.
- Raw and row-level source data is not included in the repository, report evidence, or storefront.
Included
- 01Complete statistical disclosure-risk and utility analysis workflow
- 02Three quasi-identifier threat models and 128 evaluated transformation policies
- 03Controlled record-linkage, predictive-utility, and Laplace count experiments
- 04Retained aggregate evidence with ten project figures in PNG and SVG
- 05Complete source code in a private GitHub repository
- 0685-page project documentation in PDF and editable Word formats
- 0717-page setup and demonstration guide in PDF and editable Word formats
Project record
No information is collected on this page.
- Permanent project ID
- GP-CY-0RMFOKB
- Catalogued
- 21 Aug 2026
- Completed
- 26 Aug 2026
- Verified
- 26 Aug 2026
- Demonstration
- Included in repository
Handover
After purchase
- 01Payment is confirmed
The project is marked unavailable and cannot be purchased again.
- 02Repository access is granted
The buyer's submitted GitHub account receives access to the private repository.
- 03The purchase record is delivered
The certification sheet is prepared from the reviewed buyer details and sent privately by email.