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.tfand enter your project id, default zone and default region. - in the
terraform/folder runterraform init - Run
terraform planto create an execution plan to preview the changes that Terraform makes to your infrastructure. - Run
terraform applyto 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.txtpip install -r requirements.txtThe 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