(ε, δ)-differential privacy · Rényi divergence accounting

Synthetic data with a budget you can audit

DPSynth generates production-shaped tabular data while spending a privacy budget it can itemise. Reconstruction, linkage and membership inference are bounded by arithmetic rather than by policy.

Joint distribution fidelityWasserstein 0.038 · marginal accuracy 0.97
REAL DATASETtwo attributes, 13 bins each252550507575attribute Battribute A
SYNTHETIC OUTPUTsame marginals, sampled privately252550507575attribute Battribute A
Target budgetε = 0.50 Failure probabilityδ = 1×10−6 RDP composition gain8.4× Against naive compositionorders α ∈ [1.5, 64] Synthetic training97.2% AUROC
Privacy spend as slices are generatedtight composition under sequential sampling
036912116324864naive compositionRényi accounting8.4× budget headroomε spentsynthetic slices generated

01 — the accountingWhy the budget survives the second column

A single noisy query is easy to bound. A table is not: generate twenty columns sequentially and the loss compounds. Naive composition adds each release's cost, and the total crosses a usable budget long before the data is useful.

DPSynth tracks loss in the Rényi divergence domain instead, accumulating over orders α ∈ [1.5, 64] and taking the tightest bound available at each step. The shaded area above is the headroom that buys — 8.4 times more usable slices at the same ε, which is the difference between a toy synthetic table and one a model can train on.

02 — the threat modelThree attacks, bounded

Reconstruction

Whether an adversary can recover the rows that were in the training set. Bounded by the noise mechanism, not by access control.

Linkability

Whether a record can be tied to the same individual across two releases. Each release spends from the same accounted budget.

Membership inference

Whether the presence of one person can be detected from the output. The property ε is defined against exactly this.

git clone https://github.com/KELLERBABG/Differential-Privacy-Synthesizer.git
cd Differential-Privacy-Synthesizer && pip install -e .
python -m dpsynth --input data.csv --epsilon 0.5 --delta 1e-6
DPSynth · Keller Systemsrepository  /  kellersystems.dev