The P3-Toolbox (Purpose-Based Privacy-Preserving Toolbox) enforces purpose-based access control in cloud-native applications. It is created as part of the module "Privacy Engineering" by Dr. Frank Pallas at Technische Universität Berlin.
The toolbox is designed to be deployed on a event-driven serverless execution environment e.g. Google Cloud Functions. To simplify deployment in Google Cloud, there is a terraform configuration in the terraform folder.
- Edit
terraform/main.tf
and enter your project id, default zone and default region. - in the
terraform/
folder runterraform init
- Run
terraform plan
to create an execution plan to preview the changes that Terraform makes to your infrastructure. - Run
terraform apply
to execute the actions proposed in the terraform plan.
If you do not want to use terraform to deploy the toolbox, you can run it in any python 3.11 runtime environment. The requirements are listed in toolbox/src/requirements.txt
- Google Cloud CLI
- Terraform
- Serverless CLI
python -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
pip install -r requirements.txt
The toolbox currently supports the following features. To create a feature request, go to the list of issues and click on the “New issue” button on the right.
- Policy decision making
- Purpose policies
- Creation
- Deletion
- Modifiction
- Hierarchical organisation (purpose trees)
- Purpose limitation and exception
- Data Transformation
- Image erosion
- Image background removal
- Image downsizing
- Image blurring
- Image grayscale
Distributed under the MIT License. See LICENSE
for more information.
- Dr. Frank Pallas, Technische Universität Berlin