Privkit is a privacy toolkit that provides methods for privacy analysis. It implements different data types, privacy-preserving mechanisms, attacks, and privacy/utility metrics.
Project description
Privkit: A Privacy Toolkit
Privkit is a privacy toolkit that provides methods for privacy analysis. It includes different data types, privacy-preserving mechanisms, attacks, and metrics. The current version is focused on location data and facial data. The Python Package is designed in a modular manner and can be easily extended to include new mechanisms. Privkit can be used to process data, configure privacy-preserving mechanisms, apply attacks, and also evaluate the privacy/utility trade-off through suitable metrics.
See https://privkit.fc.up.pt for a complete documentation.
Citation
If you use privkit in your work, please consider to cite:
@inproceedings{cunha2024privkit,
title={Privkit: A Toolkit of Privacy-Preserving Mechanisms for Heterogeneous Data Types},
author={Cunha, Mariana and Duarte, Guilherme and Andrade, Ricardo and Mendes, Ricardo and Vilela, Jo{\~a}o P},
booktitle={Proceedings of the Fourteenth ACM Conference on Data and Application Security and Privacy},
pages={319--324},
year={2024}
}
Installation
Privkit can be installed through this Github repository or by using pip:
pip install privkit
Then, if needed, you can run the following command to install the dependencies.
pip install -r requirements.txt
Creating a virtual environment
Note that you can create a virtual environment (pipenv), which is optional but strongly recommended, in order to avoid potential conflicts with other packages. You just need to download the Pipfile and Pipfile.lock files and run in the same directory:
pipenv install
Then you can access the virtual environment by executing:
pipenv shell
Examples
The repository https://github.com/privkit/privkit-tutorials contains practical tutorials of Privkit available as Jupyter Notebooks. This repository aims at promoting the reproducibility of results from research papers.
Getting started
import privkit as pk
data_to_load = [['2008-10-23 02:53:04', 39.984702, 116.318417],
['2008-10-23 02:53:10', 39.984683, 116.31845],
['2008-10-23 02:53:15', 39.984686, 116.318417]]
location_data = pk.LocationData()
location_data.load_data(data_to_load, datetime=0, latitude=1, longitude=2)
planar_laplace = pk.ppms.PlanarLaplace(epsilon=0.01)
planar_laplace.execute(location_data)
Contributing
Check the contributing guidelines.
License
Privkit is open-source and licensed under the BSD 3-clause license.
Supported by
|
|
|
|
|
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file privkit-0.5.1.tar.gz.
File metadata
- Download URL: privkit-0.5.1.tar.gz
- Upload date:
- Size: 59.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.10.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7c50b3c23fb91ee3a372b8d7941b009b1f3241932a12683a0d0fa43b230ff1fe
|
|
| MD5 |
392febebfae038a615a6adb252151248
|
|
| BLAKE2b-256 |
426e58bdcc15d6800572f2fb2c6f18d2e6e6f4712ee06fed5a6a3a0e61732f78
|
File details
Details for the file privkit-0.5.1-py3-none-any.whl.
File metadata
- Download URL: privkit-0.5.1-py3-none-any.whl
- Upload date:
- Size: 87.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.10.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f3bef50b20a73cffc0611ab95fa922019315a612f1dd4676a84a96cfe7372549
|
|
| MD5 |
5097373f4314ccaa7c7797aeaac98dc4
|
|
| BLAKE2b-256 |
9e2fe9d81e39c3c8c95ab2738b6368b9470ce75581589856b25752416be27b73
|