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)

Contributing

Check the contributing guidelines.

License

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

Supported by

University of Porto INESC TEC CISUC 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.5.0.tar.gz (59.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.5.0-py3-none-any.whl (87.0 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: privkit-0.5.0.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

Hashes for privkit-0.5.0.tar.gz
Algorithm Hash digest
SHA256 5d818dee52094cceeb5e70d902f9bd9269ce9d75c978fcf120975aaa21fcf356
MD5 aaa8eae59eefe24c9e76a5d5f0adb9b3
BLAKE2b-256 d6680d113d95632981d449aa21d479330c94bdb18410addb16683ab9dd587ae7

See more details on using hashes here.

File details

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

File metadata

  • Download URL: privkit-0.5.0-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

Hashes for privkit-0.5.0-py3-none-any.whl
Algorithm Hash digest
SHA256 9602e971f2c634605dd98c3b994c0a6e69350e9b2ed7f96b33fae4f274556187
MD5 f20d9adffee5d5340815b10c3ef2300e
BLAKE2b-256 e8afa220c6b7fc50cd15f82372ffc46c96a20c5dec1d579be94a3f20da997629

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