google/differential-privacy
Google's differential privacy libraries.
What it solves
This project provides tools to generate differentially private (DP) statistics over datasets, allowing users to extract meaningful aggregate data while protecting the individual privacy of the records within those datasets.
How it works
The project offers a tiered approach to differential privacy:
- DP Building Block Libraries: Low-level libraries in C++, Go, and Java that implement core noise addition primitives (like Laplace and Gaussian mechanisms) and basic aggregations (Sum, Mean, Variance, etc.).
- End-to-End Frameworks: High-level frameworks like Privacy on Beam (Go) and PipelineDP4j (JVM) that integrate these building blocks into distributed data processing pipelines (using Apache Beam or Apache Spark) to handle necessary pre-processing, such as bounding user contributions.
- Specialized Tools: Additional utilities for tracking privacy budgets (accounting library), auditing privacy guarantees (DP Auditorium), and running DP SQL queries via ZetaSQL.
Who it’s for
It is designed for data engineers and researchers who need to perform statistical analysis on sensitive data at scale, ranging from non-experts using high-level frameworks to developers needing low-level noise primitives.
Highlights
- Multi-language support: Core building blocks available in C++, Go, and Java.
- Distributed processing: Integration with Apache Beam and Apache Spark for scalable DP computations.
- Comprehensive toolset: Includes auditing, accounting, and SQL interfaces.
- Secure noise generation: Uses secure methods for generating noise to prevent certain types of privacy leaks.
Related
- Project
- Project
- Project
- Project
- Project