Skip to content

GitLab

  • Projects
  • Groups
  • Snippets
  • Help
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in
U
User docs
  • Project overview
    • Project overview
    • Details
    • Activity
    • Releases
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 0
    • Issues 0
    • List
    • Boards
    • Labels
    • Service Desk
    • Milestones
  • Merge Requests 0
    • Merge Requests 0
  • CI / CD
    • CI / CD
    • Pipelines
    • Jobs
    • Schedules
  • Operations
    • Operations
    • Incidents
    • Environments
  • Packages & Registries
    • Packages & Registries
    • Package Registry
    • Container Registry
  • Analytics
    • Analytics
    • CI / CD
    • Repository
    • Value Stream
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Members
    • Members
  • Collapse sidebar
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
  • PEP Public
  • User docs
  • Wiki
  • Home

Last edited by Kai van Lopik Feb 09, 2021
Page history

Home

PEP is an acronym for "Polymorphic Encryption and Pseudonymization", which hints at its features and at the technology on which it is based.

Functionally, PEP is software for the storage and retrieval of tabular data. PEP's storage consists of a single table. This rather limited data structure is offset by some features that run-of-the-mill database systems do not normally provide:

  • PEP encrypts data both at rest and in transit, effectively providing end-to-end encryption between the data's uploader(s) and downloader(s).
  • PEP ensures that no single server or administrator or hosting party can access the data (or provide access to it) by themselves.
  • PEP pseudonymizes data to prevent multiple downloaders from blending data into a larger data set.
  • PEP keeps previous data versions available after a cell's contents are overwritten.

Because of these features, PEP is usable for the storage of any (sensitive and/or confidential) information that must be made available in a pseudonymized form, and/or that must be kept available in multiple versions that may exist over time. Its current applications include the storage and dissemination of medical data for multiple academic research projects. Because of this, some of PEP's terminology is geared toward such use.

More information on PEP's four key features can be found below. More elaborate documentation can be found by following hyperlinks.

Features

Encryption

PEP applies strong cryptography to all data stored in the system. Cryptographic keys are only made available to authorized uploaders and downloaders, who (respectively) encrypt and decrypt the data on their local machines. Thus, data cannot be accessed by the PEP system itself, by its hosting parties, by its administrators, or by anyone else that may gain access to PEP's innards.

Trust reduction

PEP is designed not to rely on any single party to safeguard data. Server components complement, check, and audit each others' actions. This ensures that data confidentiality cannot be compromised by breaching a single server. A similar "four eyes" principle applies to PEP's authorization system. Multiple administrators must cooperate to grant access, preventing any single administrator from being able to expose confidential data.

Pseudonymization

Perhaps the most central and unique feature of the system, different PEP users receive different row identifiers to refer to the same row. This prevents downloaders from blending their respective data into a single, larger data set. Thus, with its built-in pseudonymization mechanism, PEP provides some basic privacy safeguards when disseminating sensitive data such as medical or financial information.

Retention

Data stored in PEP are never overwritten. When users store data, the system also retains any data that were previously stored in the same table cell. PEP can thus reconstruct its state as it was at any point in the past, allowing the exact same data set to be retrieved multiple times. This makes PEP eminently usable for the (storage and) retrieval of data for academic replication studies.

Detailed documentation

The information in the below pages is to be merged into a more interlinked wiki structure:

  • General pepcli usage and examples
  • Pseudonymized upload of MRI data
Clone repository
  • Access control
  • Data structure
  • Glossary
  • Pseudonymization
  • Using pepcli
  • Home
  • pseudonymized upload