We recently gave a workshop on k-anonymity (+l-diversity and t-closeness) and differential privacy, you can find the iPython notebooks and slides here:
In the workshop we implement the "Mondrian algorithm" to produce a k-anonymous dataset. We then look at the problems of this approach (i.e. missing diversity in the sensitive attribute) and try to fix it using l-diversity (which is also not optimal) and finally t-closeness. The third notebook includes an implementation of a differentially private "randomized response" scheme, showing how it changes the data and how we can take into account the added noise when working with the randomized data.
I think it's important to keep in mind that k-anonymity and differential privacy are not algorithms but mathematical privacy definitions. To implement them, you need a suitable method like the "Mondrian" algorithm or a randomized response scheme.
If you have any questions or suggestions for improvements please open an issue or PR on Github!
Looks like that's just a wrapper around the Have I Been Pwned API, of which there are many examples. 1Password built it into their password manager which is probably one of the best integrations for it.
If you’re curious about the matter, there’s an alternative technique called differential privacy that adds randomization to the data, and is able to provide guarantees that individual records cannot be identified. k-anonymity is subject to e.g. linkage attacks of the kind that differential privacy seeks to eliminate.
Bonus: The differential privacy algorithm is so simple. "When you're about to insert some data, flip a coin. If it's heads, insert it as-is. If it's tails, insert a random value."
ARX [1, 2] is an open source software that (among other features) supports most of the methods mentioned in this thread. Full disclosure: I'm one of the developers of ARX.
Follow-ups:
- k-map: https://desfontain.es/privacy/k-map.html
- l-diversity: https://desfontain.es/privacy/l-diversity.html
- δ-presence: https://desfontain.es/privacy/delta-presence.html
- differential privacy: https://desfontain.es/privacy/differential-privacy-awesomene...