The OpenDP Commons is a community-driven layer of OpenDP based on a common differential privacy library. It consists of tools and packages for building end-to-end differentially private systems. The governance for this layer facilitates contributions and vetting by the community, as well as reviews, guidance, and guarantees for using the library and tools.
Please contact us if you are looking into building tools with OpenDP.
The diagram below illustrates how the OpenDP library is the foundation of the OpenDP Commons and how various tools are built on top.
We’ve listed projects in the OpenDP commons below.
The OpenDP library is at the core of the OpenDP project, implementing the framework described in the paper “A Programming Framework for OpenDP”.
It is written in Rust and has bindings for Python.
The OpenDP library is currently under development and the source code can be found at opendp/opendp
SmartNoise is a set of tools for creating differentially private reports, dashboards, synopses, and synthetic data releases. It includes a SQL processing layer, supporting queries over Spark and popular database engines, and a collection of synthesizers.
- Source Code and Contributions: Github
smartnoise-sql: Run differentially private SQL queries
smartnoise-synth: Generate differentially private synthetic data
DP Creator is a web-based application to budget workloads of statistical queries for public release.
Integration with Dataverse repositories will allow researchers with knowledge of their datasets to calculate DP statistics without requiring expert knowledge in programming or differential privacy.
DP Creator is currently under development and the source code can be found at opendp/dpcreator
Many of the people involved with OpenDP are also- or have been- involved with the Harvard Privacy Tools Project, and have experience building earlier iterations of differential privacy libraries.
We don’t recommend using these libraries for new projects, but we have gained much in the process of building them.