Introduction to privacy enhancing technologies (PET)


  • Privacy enhancing analysis can derive insights from data without seeing individual records.
  • Privacy enhancing analysis usually starts with the anonymization or pseudonymization of the data.
  • In federated data analysis the analysis moves to the data, while in classic analysis the data moves around.
  • In secure multiparty computation, computations are performed collaboratively without any one party being able to see all the raw data.
  • Techniques from differential privacy add noise to the data to make it harder to reconstruct the original records from an aggregation.
  • Privacy enhancing analyses usually stack multiple techniques on top of each other to provide multiple layers of protection.
  • Horizontal partitioning means the records are split, while in vertical partitioning the features are split.
  • Technology is only one part of the story, when doing research on privacy sensitive data.

vantage6 basics


  • vantage6 is an open source platform to execute PET analysis.
  • A client is used to interact with the system.
  • A vantage6 server orchestrates the execution of algorithms.
  • The nodes contain the data and execute the computation.
  • The algorithms in vantage6 have a federated part, running on local data, and a central part, aggregating the results.

Running a PET analysis without programming on vantage6


Managing vantage6 server via the user interface


  • Vantage6 uses a permission system to control who can do what in the system.
  • Vantage6 has default roles like Root, Collaboration Admin, Organization Admin, Researcher, and Viewer.
  • Vantage6 UI can be used to manage the entities of vantage6, like creating or deleting an organization, a user, or a collaboration.

Running a PET analysis using the Python clientThe Python client


Setting up a vantage6 node


  • Install the vantage6 CLI package by running pip install vantage6.
  • Use the v6 --help command to see the available commands of the vantage6 CLI.
  • Use the v6 node command to manage the vantage6 node instances.
  • Use the v6 node new command to create a new node configuration.
  • Use the v6 node start command to start a node.
  • Use the v6 node attach --name xxx command to show the logs of the node xxx.
  • Use the v6 node stop command to stop a node.
  • Use the v6 node set-api-key command to set a new API key of a node.
  • Use the v6 node files command to check the location of the node configuration file.
  • The commands similar to the ones presented for the node are also available for v6 server and v6 algorithm-store.

Algorithm development


  • Use v6 algorithm create to create a personalized boilerplate
  • Implement the partial functions to run on each node and the central function to aggregate the results
  • Build your algorithm into a docker image
  • Test it with the mock client and with a local v6 dev test environment
  • Publish your algorithm in the algorithm store to run it in the UI

Work on your own projectWorking on your own projectAdvanced challenges