PrivacyPanda is a package for detecting and removing personal, private data (such as names and addresses) from pandas dataframes.
The volume of available information - personal, private information - of each and every one of us is vast and growing. This information can be used to build such a clear picture of who you are that bad actors can know you better than your partner does. In the wrong hands, this data can influence the way you shop, the way you vote, the way you think...
A necessary step to protect ourselves is to anonymize data - to strip it of any identifying features like our names or addresses. While many of the people handling private data are trustworthy, honest and ethical, we can't always trust that they will successfully scrub a dataset of any information which may be used against us.
privacypanda
aims to make data anonymization a little bit easier by providing tools to detect identifying features in pandas
dataframes and expunge them.
privacypanda
requires python of 3.7
or above and pandas >= 1.0.0
.
privacypanda
can be installed via pip with
pip install privacypanda
Alternatively, to install from source:
- clone the repository
- navigate to the project folder
- run
pip install -e .
See the example notebooks for more extensive usage. Click this link to run the example notebooks online.
With privacypanda
you can audit the privacy of your dataframe:
import pandas as pd
import privacypanda as pp
data = pd.DataFrame(
{
"privateData":
[
"an@email.com",
"AB1 1AB",
"Some other data",
],
"nonPrivateData":
[
1,
2,
3,
],
}
)
print(pp.report_privacy(data))
This prints the names of any colums in the data which break privacy, and the ways in which privacy is broken.
>>> "privateData": ["address", "email"]
All contributions are important and welcomed. Please see the contributing guide for more information.
The PrivacyPanda project is licensed with Apache 2.0. Please refer to the license for more information.