├── CONTRIBUTING.md ├── LICENSE ├── README.md └── pr_template.md /CONTRIBUTING.md: -------------------------------------------------------------------------------- 1 | # Contributing to Awesome Differential Privacy 2 | 3 | Thank you for considering contributing to Awesome Differential Privacy! This document outlines some guidelines to follow for contributing to this repository. 4 | 5 | ## General Format 6 | 7 | Please maintain the following general format when adding entries to the list: 8 | 9 | - [Repository/Resource Name](Link) - Brief description of the repository/resource. 10 | 11 | ## Adding Entries 12 | 13 | If you have a repository, resource, or any other relevant material related to differential privacy that you think would be valuable to include, feel free to submit a pull request. Make sure to adhere to the format mentioned above. 14 | 15 | ## Corrections and Updates 16 | 17 | If you notice any errors or outdated information in the list, or if you have suggestions for improvements, please open an issue or submit a pull request with your proposed changes. 18 | 19 | ## Contribution Guidelines 20 | 21 | - Make sure the suggested addition fits within the theme of the list. 22 | - Provide a brief and clear description for each addition. 23 | - Verify that the suggested addition hasn't already been included in the list. 24 | - Ensure that all links are working properly. 25 | - Avoid submitting promotional or irrelevant content. 26 | 27 | We appreciate your contributions to making Awesome Differential Privacy a comprehensive resource for the community! 28 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | Creative Commons Legal Code 2 | 3 | CC0 1.0 Universal 4 | 5 | CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE 6 | LEGAL SERVICES. DISTRIBUTION OF THIS DOCUMENT DOES NOT CREATE AN 7 | ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS 8 | INFORMATION ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES 9 | REGARDING THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS 10 | PROVIDED HEREUNDER, AND DISCLAIMS LIABILITY FOR DAMAGES RESULTING FROM 11 | THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS PROVIDED 12 | HEREUNDER. 13 | 14 | Statement of Purpose 15 | 16 | The laws of most jurisdictions throughout the world automatically confer 17 | exclusive Copyright and Related Rights (defined below) upon the creator 18 | and subsequent owner(s) (each and all, an "owner") of an original work of 19 | authorship and/or a database (each, a "Work"). 20 | 21 | Certain owners wish to permanently relinquish those rights to a Work for 22 | the purpose of contributing to a commons of creative, cultural and 23 | scientific works ("Commons") that the public can reliably and without fear 24 | of later claims of infringement build upon, modify, incorporate in other 25 | works, reuse and redistribute as freely as possible in any form whatsoever 26 | and for any purposes, including without limitation commercial purposes. 27 | These owners may contribute to the Commons to promote the ideal of a free 28 | culture and the further production of creative, cultural and scientific 29 | works, or to gain reputation or greater distribution for their Work in 30 | part through the use and efforts of others. 31 | 32 | For these and/or other purposes and motivations, and without any 33 | expectation of additional consideration or compensation, the person 34 | associating CC0 with a Work (the "Affirmer"), to the extent that he or she 35 | is an owner of Copyright and Related Rights in the Work, voluntarily 36 | elects to apply CC0 to the Work and publicly distribute the Work under its 37 | terms, with knowledge of his or her Copyright and Related Rights in the 38 | Work and the meaning and intended legal effect of CC0 on those rights. 39 | 40 | 1. Copyright and Related Rights. A Work made available under CC0 may be 41 | protected by copyright and related or neighboring rights ("Copyright and 42 | Related Rights"). Copyright and Related Rights include, but are not 43 | limited to, the following: 44 | 45 | i. the right to reproduce, adapt, distribute, perform, display, 46 | communicate, and translate a Work; 47 | ii. moral rights retained by the original author(s) and/or performer(s); 48 | iii. publicity and privacy rights pertaining to a person's image or 49 | likeness depicted in a Work; 50 | iv. rights protecting against unfair competition in regards to a Work, 51 | subject to the limitations in paragraph 4(a), below; 52 | v. rights protecting the extraction, dissemination, use and reuse of data 53 | in a Work; 54 | vi. database rights (such as those arising under Directive 96/9/EC of the 55 | European Parliament and of the Council of 11 March 1996 on the legal 56 | protection of databases, and under any national implementation 57 | thereof, including any amended or successor version of such 58 | directive); and 59 | vii. other similar, equivalent or corresponding rights throughout the 60 | world based on applicable law or treaty, and any national 61 | implementations thereof. 62 | 63 | 2. Waiver. To the greatest extent permitted by, but not in contravention 64 | of, applicable law, Affirmer hereby overtly, fully, permanently, 65 | irrevocably and unconditionally waives, abandons, and surrenders all of 66 | Affirmer's Copyright and Related Rights and associated claims and causes 67 | of action, whether now known or unknown (including existing as well as 68 | future claims and causes of action), in the Work (i) in all territories 69 | worldwide, (ii) for the maximum duration provided by applicable law or 70 | treaty (including future time extensions), (iii) in any current or future 71 | medium and for any number of copies, and (iv) for any purpose whatsoever, 72 | including without limitation commercial, advertising or promotional 73 | purposes (the "Waiver"). Affirmer makes the Waiver for the benefit of each 74 | member of the public at large and to the detriment of Affirmer's heirs and 75 | successors, fully intending that such Waiver shall not be subject to 76 | revocation, rescission, cancellation, termination, or any other legal or 77 | equitable action to disrupt the quiet enjoyment of the Work by the public 78 | as contemplated by Affirmer's express Statement of Purpose. 79 | 80 | 3. Public License Fallback. Should any part of the Waiver for any reason 81 | be judged legally invalid or ineffective under applicable law, then the 82 | Waiver shall be preserved to the maximum extent permitted taking into 83 | account Affirmer's express Statement of Purpose. In addition, to the 84 | extent the Waiver is so judged Affirmer hereby grants to each affected 85 | person a royalty-free, non transferable, non sublicensable, non exclusive, 86 | irrevocable and unconditional license to exercise Affirmer's Copyright and 87 | Related Rights in the Work (i) in all territories worldwide, (ii) for the 88 | maximum duration provided by applicable law or treaty (including future 89 | time extensions), (iii) in any current or future medium and for any number 90 | of copies, and (iv) for any purpose whatsoever, including without 91 | limitation commercial, advertising or promotional purposes (the 92 | "License"). The License shall be deemed effective as of the date CC0 was 93 | applied by Affirmer to the Work. Should any part of the License for any 94 | reason be judged legally invalid or ineffective under applicable law, such 95 | partial invalidity or ineffectiveness shall not invalidate the remainder 96 | of the License, and in such case Affirmer hereby affirms that he or she 97 | will not (i) exercise any of his or her remaining Copyright and Related 98 | Rights in the Work or (ii) assert any associated claims and causes of 99 | action with respect to the Work, in either case contrary to Affirmer's 100 | express Statement of Purpose. 101 | 102 | 4. Limitations and Disclaimers. 103 | 104 | a. No trademark or patent rights held by Affirmer are waived, abandoned, 105 | surrendered, licensed or otherwise affected by this document. 106 | b. Affirmer offers the Work as-is and makes no representations or 107 | warranties of any kind concerning the Work, express, implied, 108 | statutory or otherwise, including without limitation warranties of 109 | title, merchantability, fitness for a particular purpose, non 110 | infringement, or the absence of latent or other defects, accuracy, or 111 | the present or absence of errors, whether or not discoverable, all to 112 | the greatest extent permissible under applicable law. 113 | c. Affirmer disclaims responsibility for clearing rights of other persons 114 | that may apply to the Work or any use thereof, including without 115 | limitation any person's Copyright and Related Rights in the Work. 116 | Further, Affirmer disclaims responsibility for obtaining any necessary 117 | consents, permissions or other rights required for any use of the 118 | Work. 119 | d. Affirmer understands and acknowledges that Creative Commons is not a 120 | party to this document and has no duty or obligation with respect to 121 | this CC0 or use of the Work. 122 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Awesome Differential Privacy [![Awesome](https://awesome.re/badge.svg)](https://awesome.re) 2 | 3 | list of differential-privacy related repositories (and a bit more) 4 | 5 | ## Contents 6 | - [Code and Projects](#code-and-projects) 7 | - [Learn](#learn) 8 | - [Read](#read) 9 | - [Industry Articles](#industry-articles) 10 | - [YouTube](#youtube) 11 | 12 | ## Code and Projects 13 | - [OpenDP - Developing Open Source Tools for Differential Privacy](https://opendp.org/) 14 | - [Google's differential privacy library](https://github.com/google/differential-privacy) 15 | - [Opacus - Training PyTorch models with differential privacy](https://github.com/pytorch/opacus) 16 | - [Implementing TensorFlow with differential privacy](https://github.com/tensorflow/privacy) 17 | - [Diffprivlib: The IBM Differential Privacy Library](https://github.com/IBM/differential-privacy-library) 18 | - [JAX-Privacy - Algorithms for Privacy-Preserving Machine Learning in JAX](https://github.com/deepmind/jax_privacy) 19 | - [Harvard University Privacy Tools Project](http://privacytools.seas.harvard.edu/) 20 | - [Google's Private Reporting Algorithms](https://github.com/google/rappor) 21 | - [Tumult Analytics - Advanced platform to deploy Differential Privacy](https://docs.tmlt.dev/analytics/latest/index.html) 22 | - [PyDP - OpenMinded's python version of Google's library](https://github.com/OpenMined/PyDP) 23 | - [PipelineDP - OpenMinded's framework for non-experts](https://github.com/OpenMined/PipelineDP) 24 | - [MW - synthetic data](https://github.com/mrtzh/PrivateMultiplicativeWeights.jl) 25 | - [GUPT - Data Mining Platform](https://github.com/prashmohan/GUPT) 26 | - [Easy differential privacy in R](https://github.com/brubinstein/diffpriv) 27 | - [Dataflow analysis & differential privacy for SQL queries](https://github.com/uber/sql-differential-privacy) 28 | - [Differential Privacy package for WEKA](https://github.com/NidhiKat/DPWeka) 29 | - [ARX - open source data anonymization tool](https://github.com/arx-deidentifier/arx) 30 | - [diffpriv - Easy differential privacy in R](http://www.bipr.net/diffpriv/) 31 | - [DP-XGBoost - Private Machine Learning at Scale](https://github.com/sarus-tech/dp-xgboost) 32 | - [Qrlew - The SQL-to-SQL Differential Privacy layer](https://qrlew.github.io/) 33 | - [Breaking Privacy in Real-World Differentially Private Synthetic Data](https://amanpriyanshu.github.io/SynthLeak/) 34 | - [Fast-Differential-Privacy - A Faster way of training PyTorch models with Differential Privacy ](https://github.com/awslabs/fast-differential-privacy) 35 | 36 | ## Learn 37 | - [The Algorithmic Foundations of Differential Privacy - Book](https://www.cis.upenn.edu/~aaroth/Papers/privacybook.pdf) 38 | - [Gautam Kamath - A Course In Differential Privacy](https://www.youtube.com/playlist?list=PLmd_zeMNzSvRRNpoEWkVo6QY_6rR3SHjp) 39 | - [BIU winter school - Differential Privacy: From Theory to Practice](https://www.youtube.com/playlist?list=PL8Vt-7cSFnw1li73YXZdTaiAeXFkmWWRh) 40 | - [CS 860 - Algorithms for Private Data Analysis - Fall 2020](http://www.gautamkamath.com/CS860-fa2020.html) 41 | - [Secure and Private AI - Udacity](https://www.udacity.com/course/secure-and-private-ai--ud185) 42 | - [Damien Desfontaines - A friendly, non-technical introduction to differential privacy](https://desfontain.es/blog/friendly-intro-to-differential-privacy.html) 43 | - [Programming Differential Privacy - Online book about differential privacy, for programmers](https://programming-dp.com/) 44 | - [Towards Data Science - Differential Privacy in Deep Learning](https://towardsdatascience.com/differential-privacy-in-deep-learning-cf9cc3591d28) 45 | 46 | ## Read 47 | - [Wikipedia](https://en.wikipedia.org/wiki/Differential_privacy) 48 | - [A Primer for a Non-technical Audience](http://privacytools.seas.harvard.edu/files/privacytools/files/pedagogical-document-dp_0.pdf) 49 | - [Differential privacy for dummies](https://github.com/frankmcsherry/blog/blob/master/posts/2016-02-03.md) 50 | - [Introducing TensorFlow Privacy](https://blog.tensorflow.org/2019/03/introducing-tensorflow-privacy-learning.html) 51 | - [Introducing Opacus](https://ai.facebook.com/blog/introducing-opacus-a-high-speed-library-for-training-pytorch-models-with-differential-privacy/) 52 | - [An illustrated primer](https://github.com/frankmcsherry/blog/blob/master/posts/2016-02-06.md) 53 | - [Win-Vector Blog](http://www.win-vector.com/blog/2015/11/our-differential-privacy-mini-series/) 54 | - [The Promise of Differential Privacy - A Tutorial on Algorithmic Techniques](https://www.microsoft.com/en-us/research/wp-content/uploads/2011/10/PID2016981.pdf) 55 | - [Visualizing the accuracy-privacy trade-off - Demo](https://priyakalot.github.io/ViP-demo/) 56 | - [Laplacian Noisy Counting mechanism illustratioin](https://georgianpartners.shinyapps.io/interactive_counting/) 57 | 58 | ## Industry Articles 59 | - [Apple - Learning with Privacy at Scale](https://machinelearning.apple.com/2017/12/06/learning-with-privacy-at-scale.html) 60 | - [Apple - Differential Privacy](https://www.apple.com/privacy/docs/Differential_Privacy_Overview.pdf) 61 | - [Google - Deep Learning with Differential Privacy](https://ai.google/research/pubs/pub45428) 62 | - [Microsoft - Privacy and accuracy: How Cynthia Dwork is making data analysis better](https://blogs.microsoft.com/ai/privacy-and-accuracy-how-cynthia-dwork-is-making-data-analysis-better/) 63 | - [Microsoft - Collecting telemetry data privately](https://www.microsoft.com/en-us/research/blog/collecting-telemetry-data-privately/) 64 | - [How One of Apple's Key Privacy Safeguards Falls Short](https://www.wired.com/story/apple-differential-privacy-shortcomings/) 65 | - [Googles Differential Privacy May be Better Than Apples](https://www.macobserver.com/analysis/google-apple-differential-privacy/) 66 | - [Privacy and machine learning: two unexpected allies?](http://www.cleverhans.io/privacy/2018/04/29/privacy-and-machine-learning.html) 67 | 68 | ## YouTube 69 | - [The Definition of Differential Privacy - Cynthia Dwork](https://www.youtube.com/watch?v=lg-VhHlztqo) 70 | - [Tutorial on Differential Privacy](https://www.youtube.com/watch?v=ekIL65D0R3o) 71 | - [A Practical Beginners' Guide to Differential Privacy](https://www.youtube.com/watch?v=Gx13lgEudtU) 72 | - [Accessing Data while Preserving Privacy](https://www.youtube.com/watch?v=GBw07xJyc0c&t=20s) 73 | - [Minutephysics - Protecting Privacy with MATH (Collab with the Census)](https://www.youtube.com/watch?v=pT19VwBAqKA) 74 | 75 | ## Star History 76 | 77 | 78 | 79 | 80 | -------------------------------------------------------------------------------- /pr_template.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | **[https://github.com/menisadi/awesome-differential-privacy]** 6 | 7 | **[list of differential-privacy related repositories, research papers and learning materials. Differential privacy is the growing field of mathematicali proven privacy in statistical analyses. As such it is a crucial topic, and is increasingly essential for ethical data handling in research and industry.]** 8 | 9 | ### By submitting this pull request I confirm I've read and complied with the below requirements 🖖 10 | 11 | **Please read it multiple times. I spent a lot of time on these guidelines and most people miss a lot.** 12 | 13 | ## Requirements for your pull request 14 | 15 | - [ ] Don't open a Draft / WIP pull request while you work on the guidelines. A pull request should be 100% ready and should adhere to all the guidelines when you open it. **Instead use [#2242](https://github.com/sindresorhus/awesome/issues/2242) for incubation visibility**. 16 | - [ ] **Don't waste my time.** Do a good job, adhere to all the guidelines, and be responsive. 17 | - [ ] **You have to review at least 2 other [open pull requests](https://github.com/sindresorhus/awesome/pulls?q=is%3Apr+is%3Aopen).** 18 | Try to prioritize unreviewed PRs, but you can also add more comments to reviewed PRs. Go through the below list when reviewing. This requirement is meant to help make the Awesome project self-sustaining. Comment here which PRs you reviewed. You're expected to put a good effort into this and to be thorough. Look at previous PR reviews for inspiration. **Just commenting “looks good” or simply marking the pull request as approved does not count!** You have to actually point out mistakes or improvement suggestions. Comments pointing out lint violation are allowed, but does **not** count as a review. 19 | - [ ] You have read and understood the [instructions for creating a list](https://github.com/sindresorhus/awesome/blob/main/create-list.md). 20 | - [ ] This pull request has a title in the format `Add Name of List`. It should not contain the word `Awesome`. 21 | - ✅ `Add Swift` 22 | - ✅ `Add Software Architecture` 23 | - ❌ `Update readme.md` 24 | - ❌ `Add Awesome Swift` 25 | - ❌ `Add swift` 26 | - ❌ `add Swift` 27 | - ❌ `Adding Swift` 28 | - ❌ `Added Swift` 29 | - [ ] Your entry here should include a short description of the project/theme of the list. **It should not describe the list itself.** The first character should be uppercase and the description should end in a dot. It should be an objective description and not a tagline or marketing blurb. It should not contain the name of the list. 30 | - ✅ `- [iOS](…) - Mobile operating system for Apple phones and tablets.` 31 | - ✅ `- [Framer](…) - Prototyping interactive UI designs.` 32 | - ❌ `- [iOS](…) - Resources and tools for iOS development.` 33 | - ❌ `- [Framer](…)` 34 | - ❌ `- [Framer](…) - prototyping interactive UI designs` 35 | - [ ] Your entry should be added at the bottom of the appropriate category. 36 | - [ ] The title of your entry should be title-cased and the URL to your list should end in `#readme`. 37 | - Example: `- [Software Architecture](https://github.com/simskij/awesome-software-architecture#readme) - The discipline of designing and building software.` 38 | - [ ] No blockchain-related lists. 39 | - [ ] The suggested Awesome list complies with the below requirements. 40 | 41 | ## Requirements for your Awesome list 42 | 43 | - [ ] **Has been around for at least 30 days.**
That means 30 days from either the first real commit or when it was open-sourced. Whatever is most recent. 44 | - [ ] Run [`awesome-lint`](https://github.com/sindresorhus/awesome-lint) on your list and fix the reported issues. If there are false-positives or things that cannot/shouldn't be fixed, please [report it](https://github.com/sindresorhus/awesome-lint/issues/new). 45 | - [ ] The default branch should be named [`main`, not `master`](https://www.zdnet.com/article/github-to-replace-master-with-alternative-term-to-avoid-slavery-references/). 46 | - [ ] **Includes a succinct description of the project/theme at the top of the readme.** [(Example)](https://github.com/willempienaar/awesome-quantified-self) 47 | - ✅ `Mobile operating system for Apple phones and tablets.` 48 | - ✅ `Prototyping interactive UI designs.` 49 | - ❌ `Resources and tools for iOS development.` 50 | - ❌ `Awesome Framer packages and tools.` 51 | - [ ] It's the result of hard work and the best I could possibly produce. 52 | **If you have not put in considerable effort into your list, your pull request will be immediately closed.** 53 | - [ ] The repo name of your list should be in lowercase slug format: `awesome-name-of-list`. 54 | - ✅ `awesome-swift` 55 | - ✅ `awesome-web-typography` 56 | - ❌ `awesome-Swift` 57 | - ❌ `AwesomeWebTypography` 58 | - [ ] The heading title of your list should be in [title case](https://capitalizemytitle.com/) format: `# Awesome Name of List`. 59 | - ✅ `# Awesome Swift` 60 | - ✅ `# Awesome Web Typography` 61 | - ❌ `# awesome-swift` 62 | - ❌ `# AwesomeSwift` 63 | - [ ] Non-generated Markdown file in a GitHub repo. 64 | - [ ] The repo should have `awesome-list` & `awesome` as [GitHub topics](https://help.github.com/articles/about-topics). I encourage you to add more relevant topics. 65 | - [ ] Not a duplicate. Please search for existing submissions. 66 | - [ ] Only has awesome items. Awesome lists are curations of the best, not everything. 67 | - [ ] Does not contain items that are unmaintained, has archived repo, deprecated, or missing docs. If you really need to include such items, they should be in a separate Markdown file. 68 | - [ ] Includes a project logo/illustration whenever possible. 69 | - Either centered, fullwidth, or placed at the top-right of the readme. [(Example)](https://github.com/sindresorhus/awesome-electron) 70 | - The image should link to the project website or any relevant website. 71 | - **The image should be high-DPI.** Set it to a maximum of half the width of the original image. 72 | - Don't include both a title saying `Awesome X` and a logo with `Awesome X`. You can put the header image in a `#` (Markdown header) or `

`. 73 | - [ ] Entries have a description, unless the title is descriptive enough by itself. It rarely is though. 74 | - [ ] Includes the [Awesome badge](https://github.com/sindresorhus/awesome/blob/main/awesome.md#awesome-badge). 75 | - Should be placed on the right side of the readme heading. 76 | - Can be placed centered if the list has a centered graphics header. 77 | - Should link back to this list. 78 | - [ ] Has a Table of Contents section. 79 | - Should be named `Contents`, not `Table of Contents`. 80 | - Should be the first section in the list. 81 | - Should only have one level of [nested lists](https://commonmark.org/help/tutorial/10-nestedLists.html), preferably none. 82 | - Must not feature `Contributing` or `Footnotes` sections. 83 | - [ ] Has an appropriate license. 84 | - **We strongly recommend the [CC0 license](https://creativecommons.org/publicdomain/zero/1.0/), but any [Creative Commons license](https://creativecommons.org/choose/) will work.** 85 | - Tip: You can quickly add it to your repo by going to this URL: `https://github.com///community/license/new?branch=main&template=cc0-1.0` (replace `` and `` accordingly). 86 | - A code license like MIT, BSD, Apache, GPL, etc, is not acceptable. Neither are WTFPL and [Unlicense](https://unlicense.org). 87 | - Place a file named `license` or `LICENSE` in the repo root with the license text. 88 | - **Do not** add the license name, text, or a `Licence` section to the readme. GitHub already shows the license name and link to the full text at the top of the repo. 89 | - To verify that you've read all the guidelines, please comment on your pull request with just the word `unicorn`. 90 | - [ ] Has [contribution guidelines](https://github.com/sindresorhus/awesome/blob/main/awesome.md#include-contribution-guidelines). 91 | - The file should be named `contributing.md`. The casing is up to you. 92 | - It can optionally be linked from the readme in a dedicated section titled `Contributing`, positioned at the top or bottom of the main content. 93 | - The section should not appear in the Table of Contents. 94 | - [ ] All non-important but necessary content (like extra copyright notices, hyperlinks to sources, pointers to expansive content, etc) should be grouped in a `Footnotes` section at the bottom of the readme. The section should not be present in the Table of Contents. 95 | - [ ] Has consistent formatting and proper spelling/grammar. 96 | - The link and description are separated by a dash.
Example: `- [AVA](…) - JavaScript test runner.` 97 | - The description starts with an uppercase character and ends with a period. 98 | - Consistent and correct naming. For example, `Node.js`, not `NodeJS` or `node.js`. 99 | - [ ] Does not use [hard-wrapping](https://stackoverflow.com/questions/319925/difference-between-hard-wrap-and-soft-wrap). 100 | - [ ] Does not include a CI (e.g. GitHub Actions) badge.
You can still use a CI for linting, but the badge has no value in the readme. 101 | - [ ] Does not include an `Inspired by awesome-foo` or `Inspired by the Awesome project` kinda link at the top of the readme. The Awesome badge is enough. 102 | 103 | **Go to the top and read it again.** 104 | --------------------------------------------------------------------------------