Skip to main content

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 Logo

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)

License

Privkit is open source and licensed under the BSD 3-clause license.

Acknowledgments

We would like to acknowledge the support of PRIVATEER.

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

privkit-0.2.0.tar.gz (56.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

privkit-0.2.0-py3-none-any.whl (80.8 kB view details)

Uploaded Python 3

File details

Details for the file privkit-0.2.0.tar.gz.

File metadata

  • Download URL: privkit-0.2.0.tar.gz
  • Upload date:
  • Size: 56.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.10.12

File hashes

Hashes for privkit-0.2.0.tar.gz
Algorithm Hash digest
SHA256 712894e6a8f3af39a88ed52713130a73336fd9bd1941719a6c716d2d5e2082ed
MD5 c00f62a0580ae621c42378fabea1e9c9
BLAKE2b-256 a1da210446bc8c2e8e530cc98958a9c397ef227b6cb140c57ee414d5d6aaeddf

See more details on using hashes here.

File details

Details for the file privkit-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: privkit-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 80.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.10.12

File hashes

Hashes for privkit-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 39865cafe74b857da38f6ffe0c725b45d93c6a711d4d59b7fdcae8687e2be623
MD5 424aec6db2a93c5e053f0205bf799a29
BLAKE2b-256 fa7e5908bba037c7fb2dea55ed4e2de156bf2da46c92c7cd59b7e73a79d737c2

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page