Welcome ======= What is differential privacy? ----------------------------- Differential privacy is a rigorous mathematical definition of privacy. Consider an algorithm that analyzes a dataset and releases statistics: The algorithm is differentially private if by looking at the output, you cannot tell whether any individual's data was included in the original dataset or not. Differential privacy achieves this by carefully injecting random noise into the released statistics to hide the effects of each individual. For more background on differential privacy and its applications: * "`Designing Access with Differential Privacy `_" from *Handbook on Using Administrative Data for Research and Evidence-based Policy* * The `Resources list `_ from *differentialprivacy.org* * A shorter list of `Educational Resources `_ * OpenDP's own :doc:`theory/resources` * `Hand-On Differential Privacy `_ is co-authored by the OpenDP Library architect Why OpenDP? ----------- * OpenDP is based on a `solid conceptual framework `_ for expressing privacy-aware computations. * OpenDP is built on a Rust core for memory and thread safety and performance. * OpenDP has a process for independent review of algorithms and implementations. * OpenDP has performed well in `independent security audits `_. * OpenDP supports a range of differential privacy algorithms. * OpenDP has bindings for Python and R, both built on the same Rust core for consistency and security. * OpenDP is a community effort and is not owned or directed by a single corporation. That said, OpenDP is not the best tool for every job. In particular, it is a fairly low-level interface: There are a number of other projects which try to make it easy to add differential privacy to existing SQL interfaces or ML frameworks. One such tool is `SmartNoise SDK `_, which is built on the OpenDP library. Who is using OpenDP? -------------------- Some of the applications of OpenDP in healthcare, government, and tech include: * The `Swiss Federal Statistical Office `_ is using OpenDP to `release income statistics `_ * `Oblivious `_ has used OpenDP for major U.N. and telecom pilot projects as part of their `Antigranular `_ data privacy platform. * `OpenMined `_ is using OpenDP as part of PySyft deployments with Microsoft and DailyMotion, with pilots at multiple national statistical organizations. * `Microsoft `_ uses OpenDP and the `SmartNoise SDK `_ (which is based on OpenDP) both internally as well as for several public research projects, including the `United States Broadband Percentages Database `_. * `Spectus `_ is using OpenDP to create `privacy enhanced mobility data `_ * `LiveRamp `_ is using OpenDP to `support COVID research `_ What next? ---------- There are multiple tracks through the documentation: * New users of the library should begin with :doc:`getting-started/index`. * For Python, R, and Rust references, see the :doc:`api/index`. * If you want to understand how the fundamentals of DP are applied in OpenDP, see :doc:`theory/index`. * Finally, if you're joining the project, see :doc:`contributing/index`. .. toctree:: :hidden: getting-started/index api/index theory/index contributing/index