The hardware and bandwidth for this mirror is donated by dogado GmbH, the Webhosting and Full Service-Cloud Provider. Check out our Wordpress Tutorial.
If you wish to report a bug, or if you are interested in having us mirror your free-software or open-source project, please feel free to contact us at mirror[@]dogado.de.

DPSynth

License: MIT Lifecycle: stable R-CMD-check CRAN status Downloads

Differentially Private Synthetic Data with Guaranteed Utility

R package implementing differentially private (DP) synthetic data generation for tabular data, with standardized utility evaluation and empirical disclosure risk auditing.

Authors: Mukul Bijalwan (mukulbijalwan555@gmail.com), Gunjan Aggarwal, Mukul Jain

Features

Installation

# install.packages("remotes")
remotes::install_github("MukulBijalwan/DPSynth")

Quick start

library(DPSynth)

data(adult_sample)
set.seed(1)
res <- dp_synthesize(adult_sample, method = "copula",
                     epsilon = 2.0, delta = 1e-6, n_synth = 1000)
print(res)
head(res$synthetic_data)

Privacy model

A generator G is (ε, δ)-DP if for all neighbouring datasets D ~ D′:

Pr[G(D) = S] ≤ e^ε · Pr[G(D′) = S] + δ

The entire synthetic dataset is the output; DPSynth privatizes the model parameters with calibrated noise, after which sampling is post-processing and consumes no additional budget.

Note on formal guarantees

Bounds derived from the data itself (e.g., min/max clamping bounds by default in dp_gmm_synth) are not themselves differentially private. For formal end-to-end guarantees, supply public/domain bounds via the bounds argument.

License

MIT © 2026 Mukul Bijalwan

These binaries (installable software) and packages are in development.
They may not be fully stable and should be used with caution. We make no claims about them.
Health stats visible at Monitor.