OpenDP Library
The OpenDP Library is a modular collection of statistical algorithms that adhere to the definition of differential privacy. It can be used to build applications of privacy-preserving computations, using a number of different models of privacy. OpenDP is implemented in Rust, with bindings for easy use from Python and R.
The architecture of the OpenDP Library is based on a conceptual framework for expressing privacy-aware computations. This framework is described in the paper A Programming Framework for OpenDP.
The OpenDP Library is part of the larger OpenDP Project, a community effort to build trustworthy, open source software tools for analysis of private data. (For simplicity in these docs, when we refer to “OpenDP,” we mean just the library, not the entire project.)
The full documentation for OpenDP is located at https://docs.opendp.org.
DP Wizard
DP Wizard is an interactive tool to explore the effect of different parameter choices, and an assistant for implementing those choices with the OpenDP library. DP Wizard builds on what we’ve learned from DP Creator, but offers a simplified development and install process and a streamlined workflow.
Tumult Analytics
Tumult Analytics is a python library for writing differentially private data pipelines backed by Apache Spark. It focuses on robustness, scalability, and ease of use, and supports a wide variety of data transformations and aggregations.
Tumult Analytics is built on top of Tumult Core, which mediates access to sensitive data and means that every program and application comes with an embedded proof of privacy.
Tumult Analytics and Tumult Core are part of the OpenDP project. Documentation can be found at https://tmlt.dev/analytics/latest/index.html.
SmartNoise SDK
SmartNoise is jointly developed by Microsoft and Harvard’s Institute for Quantitative Social Science (IQSS) and the School of Engineering and Applied Sciences (SEAS) as part of the Open differential privacy (OpenDP) initiative. The project aims to connect solutions from the research community with the lessons learned from real-world deployments to make differential privacy broadly accessible.
Building upon the foundation of the OpenDP library, the SmartNoise SDK includes two Python packages:
- smartnoise-sql – Allows data owners to run differentially private SQL queries. For use, when generating reports or data cubes over tabular data stored in SQL databases or Spark, or when the data are very large.
- smartnoise-synth – Provides utilities for generating differentially private synthetic datasets. Useful when you can’t predict the workload in advance, and want to be able to share “looks like” data with collaborators.
Microsoft SmartNoise Differential Privacy Machine Learning Case Studies
OpenDP Commons
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.