List of implementations of differentially private analyses

From Wikipedia, the free encyclopedia
Jump to navigation Jump to search

Template:SHORTDESC:

Since the advent of differential privacy, a number of systems supporting differentially private data analyses have been implemented and deployed. This article tracks real-world deployments, production software packages, and research prototypes.

Real-world deployments

[edit | edit source]

Name Organization Year Introduced Notes Still in use?
OnTheMap: Interactive tool for exploration of US income and commute patterns.[1][2] US Census Bureau 2008 First deployment of differential privacy Yes
RAPPOR in Chrome Browser to collect security metrics[3][4] Google 2014 First widespread use of local differential privacy No
Emoji analytics; analytics. Improve: QuickType, emoji; Spotlight deep link suggestions; Lookup Hints in Notes. Emoji suggestions, health type usage estimates, Safari energy drain statistics, Autoplay intent detection (also in Safari)[5] Apple 2017 Yes
Application telemetry[6] Microsoft 2017 Application usage statistics Microsoft Windows. yes
Flex: A SQL-based system developed for internal Uber analytics[7][8] Uber 2017 Unknown
2020 Census[9] US Census Bureau 2018 Yes
Audience Engagement API[10] LinkedIn 2020 Yes
Labor Market Insights[11] LinkedIn 2020 Yes
COVID-19 Community Mobility Reports[12] Google 2020 Unknown
Advertiser Queries[13] LinkedIn 2020
U.S. Broadband Coverage Data Set[14] Microsoft 2021 Unknown
College Scorecard Website IRS and Dept. of Education 2021 Unknown
Ohm Connect[15] Recurve 2021
Live Birth Dataset[16][17] Israeli Ministry of Health 2024 Yes

Production software packages

[edit | edit source]

These software packages purport to be usable in production systems. They are split in two categories: those focused on answering statistical queries with differential privacy, and those focused on training machine learning models with differential privacy.

Statistical analyses

[edit | edit source]
Name Developer Year Introduced Notes Still maintained?
Google's differential privacy libraries[18] Google 2019 Building block libraries in Go, C++, and Java; end-to-end framework in Go,.[19] Yes
OpenDP[20] Harvard, Microsoft 2020 Core library in Rust,[21] SDK in Python with an SQL interface. Yes
Tumult Analytics[22] Tumult Labs[23] 2022 Python library, running on Apache Spark. Yes
PipelineDP[24] Google, OpenMined[25] 2022 Python library, running on Apache Spark, Apache Beam, or locally. Yes
PSI (Ψ): A Private data Sharing Interface Harvard University Privacy Tools Project.[26] 2016 No
TopDown Algorithm[27] United States Census Bureau 2020 Production code used in the 2020 US Census. No

Machine learning

[edit | edit source]
Name Developer Year Introduced Notes Still maintained?
Diffprivlib[28] IBM[29] 2019 Python library. Yes
TensorFlow Privacy[30][31] Google 2019 Differentially private training in TensorFlow. Yes
Opacus[32] Meta 2020 Differentially private training in PyTorch. Yes

Research projects and prototypes

[edit | edit source]
Name Citation Year Published Notes
PINQ: An API implemented in C#. [33] 2010
Airavat: A MapReduce-based system implemented in Java hardened with SELinux-like access control. [34] 2010
Fuzz: Time-constant implementation in Caml Light of a domain-specific language. [35] 2011
GUPT: Implementation of the sample-and-aggregate framework. [36] 2012
ϵKTELO: A framework and system for answering linear counting queries. [37] 2018

See also

[edit | edit source]

References

[edit | edit source]
  1. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  2. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  3. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  4. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  5. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  6. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  7. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  8. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  9. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  10. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  11. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  12. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  13. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  14. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  15. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  16. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  17. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  18. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  19. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  20. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  21. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  22. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  23. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  24. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  25. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  26. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  27. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  28. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  29. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  30. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  31. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  32. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  33. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  34. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  35. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  36. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  37. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).