See also the accompanying System repository and Core repository for this system.
Differential privacy is the gold standard definition of privacy protection. This project aims to connect theoretical solutions from the academic community with the practical lessons learned from real-world deployments, to make differential privacy broadly accessible to future deployments. Specifically, we provide several basic building blocks that can be used by people involved with sensitive data, with implementations based on vetted and mature differential privacy research. In this Samples repository we provide example code and notebooks to:
- demonstrate the use of the system platform,
- teach the properties of differential privacy,
- highlight some of the nuances of the system implementation.
Notebooks on Library Usage: A set of notebooks showing how to create differentially private releases using the Core library and private analysis validator. The library and validator are both written in Rust, but the notebooks are Python and demonstrate the use of our Python bindings.
Notebooks on SQL Data Access: A set of notebooks showing how to use SQL to create differentially private reports.
Notebooks on Stochastic Evaluation: Notebooks demonstrating the use of the stochastic evaluator.
Core Library Reference: The Core Library implments the runtime validator and execution engine.
System SDK Reference:. The System SDK implements the SQL Data Access, Execution Service, and Stochastic Evaluator.
- Please use GitHub issues for bug reports, feature requests, install issues, and notebook ideas.
- Gitter is available for general chat and online discussions.
- For other requests, please contact us at [email protected].
- Note: We encourage you to use GitHub issues, especially for bugs.
Please let us know if you encounter a bug by creating an issue.
We appreciate all contributions. We welcome pull requests with bug-fixes without prior discussion.
If you plan to contribute new features, utility functions or extensions to the samples repository, please first open an issue and discuss the feature with us.
- Sending a PR without discussion might end up resulting in a rejected PR, because we may be taking the examples in a different direction than you might be aware of.