Open source data pipelines for GDPR: what the regulation asks of your data flows
If your pipelines copy personal data from source systems into analytics stores, you are the one who must show minimization, retention limits and control over transfers. The GDPR does not prescribe any tool, including open-source orchestrators such as Apache Airflow or Dagster or ingestion tools such as Airbyte. It does require specific controls: storage limitation under Article 5(1)(e), which says personal data may be kept only for as long as necessary and in a form that permits identification of data subjects; pseudonymisation and encryption as security measures under Article 32(1)(a); and a record of processing activities under Article 30, which lists purposes, categories of data subjects and data, recipients, third-country transfers and, where possible, erasure time limits. Each of these has to be designed into the pipeline itself, because a warehouse cannot later reconstruct which fields were copied and why.
In practice, the first decisions are about the pipeline design, not the platform. Which source fields are actually needed in the warehouse, where pseudonymisation happens (before data leaves the source or in a staging layer), where the separately held additional information is stored and who can access it, and which retention rule each target table follows. The EDPB's Guidelines 01/2025 on pseudonymisation state that pseudonymised data remain personal data where they can be attributed using additional information, so the key material and the re-identification path must be controlled as carefully as the data. Confirm with your DPO how each dataset is classified before you build the flow, and record the answers in your Article 30 record.
DeployOpen plans and implements these controls and prepares the evidence for them inside your own infrastructure: data-flow documentation, pipeline configuration, access and secret handling, retention jobs, and records that map each flow to its legal basis and storage period. DeployOpen does not issue audit reports, attestations or certifications, and the GDPR requires none. Certification under Article 42 is voluntary and does not reduce your responsibility. Ask any implementation partner which control records they will hand over, how those records stay current as DAGs and connectors change, and who in your organization signs off on the retention and transfer decisions.
Which GDPR requirements map to which pipeline controls
This table links each GDPR obligation relevant to data pipelines to the concrete pipeline action, the configuration that implements it and the evidence an assessor would expect to see. Read each row as a question to put to your own pipeline design: if the control is missing, the obligation is likely unmet for that data flow. The main takeaway is that most GDPR duties for pipelines are met through orchestration, transformation and lineage settings, not only through policy documents.
| Requirement | Pipeline control | Evidence to keep |
|---|---|---|
| Storage limitation (Article 5(1)(e)) | Retention jobs in Airflow or Dagster that delete or aggregate records once the stated purpose ends, scheduled per dataset and run after each load | DAG or asset definitions with retention parameters, run logs showing deletions, and a dated retention schedule per dataset |
| Storage periods in notices (Articles 13(2)(a) and 14(2)(a)) | Retention periods held as configuration values that match the periods published in privacy notices, with a check that flags datasets without one | Notice text mapped to dataset identifiers, plus change records when a period is revised |
| Pseudonymization (Articles 4(5) and 32(1)(a)) | Tokenization or keyed hashing in transformation tasks before data reaches the warehouse, with the key or mapping table stored in a separate secrets store and restricted access | Transformation code, key custody records, and access logs showing who can reverse tokens |
| Pseudonymized data remains personal data (EDPB Guidelines 01/2025) | Treat pseudonymized outputs as personal data in access control, retention and transfer rules, since the key sits in the same environment | Data classification tags on pseudonymized tables and access policies that match them |
| Records of processing (Article 30(1)) | Dataset ownership, purpose and category tags in DataHub or OpenMetadata, linked to each pipeline and destination | Catalog entries showing purpose, data categories, recipients and retention for every pipeline output |
| Processor records (Article 30(2)) | Documented categories of processing for each client, with pipelines that serve processor roles tagged separately | Processing inventory, security measure summary and transfer register kept per controller |
| Lineage and transfer tracking (Articles 30 and Chapter V) | Column-level lineage from source to warehouse, with any external connector or destination flagged as a third-country transfer where it applies | Lineage graphs exported on request, transfer register and transfer impact assessments where relevant |
| Transport security (Article 32(1)(a)) | TLS on Kafka listeners and SASL authentication, with ACLs that limit each producer and consumer to its own topics; confirm that allow.everyone.if.no.acl.found is not enabled | Broker listener configuration, ACL listings from the cluster metadata, and periodic access reviews |
| Archiving and research exception (Article 89(1)) | Longer retention only for datasets approved for archiving, statistics or research, with separate storage, access restrictions and minimization applied | Documented exception per dataset, approval record and technical safeguards applied to the archive |
Which open-source platforms fit each pipeline stage
A GDPR-aligned pipeline needs a scheduler for retention, a way to model datasets, connectors that limit what leaves each source, a transport layer, a controlled transfer path, and a catalog that records where personal data went. The platforms below cover these stages, and each one brings a licensing or operational check to make before you commit.
Apache Airflow for retention jobs
Airflow turns storage limitation into scheduled, monitored deletion jobs that purge or pseudonymize records once their defined retention period ends. Run history and failure alerts give you evidence that jobs ran and whether they succeeded. Use PostgreSQL or MySQL for the metadata database, because the default SQLite backend is for testing only. Confirm that deletion also reaches backups, staging copies and downstream warehouse tables, since a DAG that deletes from one table does not cover the rest.
Dagster for asset-based pipelines
Dagster models pipelines as software-defined assets, so every dataset that holds personal data has a named definition, owner and set of dependencies. That makes it practical to attach retention rules to specific assets and to see which downstream assets a deletion or re-run affects. The trade-off is modeling effort: teams must agree on asset boundaries before retention can be enforced per dataset. Dagster is Apache-2.0 licensed, so confirm how your chosen version handles partial re-materialization after a deletion.
Airbyte for ingestion connectors
Airbyte connectors pull data from SaaS tools and databases into self-hosted destinations, and the stream and field selection you configure is your main minimization control at ingestion. Sync only the fields the purpose requires, and document which columns are excluded. The platform repository is under the Elastic License 2.0, which restricts offering the software as a hosted or managed service. Confirm with counsel that your internal use fits those terms, and check the license of each connector you deploy.
Apache Kafka for secured transport
Kafka carries personal data between systems, so transport controls matter as much as the data model. Enable SSL/TLS on listeners and authenticate clients with SASL, choosing a mechanism your identity platform supports, such as SCRAM or OAUTHBEARER. Topic retention settings define how long events persist, which makes them a storage limitation control in their own right. KRaft clusters restrict resources without ACLs to super users by default, so write explicit ACLs for personal data topics. Supported releases are 4.3.1 and 4.2.2.
Apache NiFi for controlled transfer
NiFi moves files and records between network zones or organizations with explicit routing, back pressure and provenance, which suits transfers that cross trust boundaries. Provenance records what moved, when and to which destination, supporting transfer documentation and the record-keeping duties in Article 30 of the GDPR. Field masking, dropping or hashing in flow processors is a minimization step you design, test and version. Confirm the current release, license terms and provenance retention settings with the project and your own build before you fix a version.
DataHub or OpenMetadata for lineage
DataHub and OpenMetadata, both Apache-2.0 licensed, record ownership, classifications and lineage, which supports the records of processing and the question of where personal data went. Tag personal data fields at the source, attach retention policies to them and confirm that lineage runs from source through staging to the warehouse. Connector coverage and column-level lineage depth vary by source system, so test both platforms against your own estate. Confirm that the lineage view covers every transfer you must document.
How storage limitation is enforced in the pipeline
Article 5(1)(e) of the GDPR requires personal data to be kept in a form that permits identification of data subjects for no longer than is necessary for the purposes of the processing. In a pipeline, that means retention must be set per dataset and enforced by scheduled jobs, not left to a quarterly clean-up request. For each dataset, the team should record the purpose, the storage period or the criteria used to set it (the same information privacy notices must state under Articles 13(2)(a) and 14(2)(a)), and then encode it as a parameter in the orchestrator. In Apache Airflow or Dagster, that usually means a dated purge task per table or partition, with its run history kept as evidence that it executed and what it removed.
The copies that persist are rarely the ones people plan for. Staging tables that were meant to hold a single load, intermediate files written to object storage between extraction and transformation, failed-run residues, and backfill outputs can all keep identifiable records long after the source record was deleted. Warehouse partitions in ClickHouse or a lakehouse table are another place where history quietly accumulates. Article 89(1) permits longer storage only for archiving in the public interest, scientific or historical research or statistical purposes, and only with appropriate technical and organisational measures, so a retention exception should be a documented decision with its own owner, not a default setting. Ask your partner to list every location where each dataset is written, including temporary paths, and to show the purge job that covers each one.
The EDPB's news item of 18 February 2026 on the challenges hindering the full implementation of the right to erasure is a useful reference for what auditors and supervisors will ask. The practical test is whether a deletion or rectification request reaches every downstream copy, including replicas, aggregates derived from identifiable rows, and exports. Pipelines should carry a stable subject identifier that lets deletion jobs locate records across staging, warehouse and extracts, and should log each propagated deletion. Confirm with your partner how deletions are applied to append-only stores and to backups, and what happens when a late-arriving batch re-inserts a record that was already erased.
Pseudonymization options and what each still leaves in scope
Tokenization replaces an identifier such as a national ID, email address or account number with a random token. The mapping between token and original value is stored in a separate vault, which is the only place the original value can be recovered. Under Article 4(5), data that can be attributed to a person with additional information remain personal data, and the mapping table is that additional information. The EDPB Guidelines 01/2025 on pseudonymisation state the same point, so a tokenized warehouse is still in scope of the GDPR, including the obligations on storage limitation, records of processing and transfers.
- Vault placement: Run the vault in a separate network zone with its own access controls, logging and backup, not in the warehouse project.
- Token generation: Use random tokens rather than reversible encodings, so tokens cannot be reconstructed from the input.
- Access paths: Limit detokenization to named services and roles, and log every call.
- Lifecycle: Define how vault entries are deleted when a retention period ends, since deleting the warehouse copy alone does not remove the link.
- Pipeline stages: Tokenize as early as the ingestion layer so raw identifiers do not land in staging or logs.
Confirm with your security team who owns the vault keys, how they are rotated and where backups of the vault are held.
Keyed hashing, such as HMAC with a secret key, produces a fixed value for each input so records can still be joined across tables without showing the identifier. The output is deterministic, which is useful for analytics but also means anyone holding the key and a candidate value can recompute the hash. Article 4(5) requires the key to be kept separately and protected with technical and organisational measures. If the key sits next to the warehouse, the data remain personal data and the protection offered is limited.
- Key separation: Store the key in a dedicated secrets service, not in DAG code, environment files or the warehouse.
- Input space: Low-entropy identifiers, such as short phone numbers, can be guessed and recomputed, so review what is hashed.
- Key rotation: Rotating the key breaks joins with older data, so plan the migration before the first load.
- Scope of joins: Use different keys per dataset or purpose to limit linkage across systems.
- Documentation: Record the key owner and the purpose of each hashed field in the record of processing.
Confirm the key management design and the candidate values an attacker could enumerate with your security team before approving the approach.
Field-level encryption encrypts selected columns, such as contact details or free-text notes, so that only services holding the decryption key can read them. The rest of the table stays queryable. Article 32(1)(a) lists encryption and pseudonymisation among appropriate security measures, so this approach supports the security obligations. It does not remove the data from scope, because the controller or a processor can decrypt the values. The key is the additional information, and it must be stored and governed separately from the ciphertext.
- Key hierarchy: Use envelope encryption with data keys wrapped by a key encryption key held in a key management service you control.
- Pipeline handling: Decide where decryption happens, since decrypting in a transformation job exposes plaintext in memory and logs.
- Connector support: Confirm which connectors can read encrypted fields and whether they need custom code.
- Queries: Encrypted columns cannot be filtered or joined in the usual way, so define which analyses need plaintext.
- Key loss: Losing the key makes the data unreadable, so test key recovery as part of operations.
Confirm with your security team who may decrypt, where keys are generated and how key access is logged.
Aggregation replaces individual records with totals or counts over groups, so that no row describes one identifiable person. It is the approach closest to anonymization, but it only works when the output cannot be linked back to a person by any means reasonably likely to be used. Small groups, repeated queries and combinations of attributes can re-identify people, so the result must be assessed rather than assumed. Where the aggregated output is generated from identifiable source data, the source data and the pipeline still fall within the GDPR and its records.
- Minimum group sizes: Suppress or merge cells below a threshold your privacy team sets, and document the rule.
- Query controls: Restrict fine-grained drill-down in the dashboard layer, especially for small populations.
- Source retention: Keep the identifiable source only as long as the purpose requires and set erasure rules for it.
- Repeated releases: Track what has already been published, since combining releases can reveal individuals.
- Lineage: Record which pipeline produced each aggregate so the transformation is traceable.
Confirm the disclosure thresholds and the re-identification assessment with your privacy and security teams before the output reaches analysts or external parties.
Building records of processing from pipeline metadata
Pipeline metadata can supply most of the fields a controller must record under Article 30(1), but it cannot be the record itself. The controller owns the written record of processing activities, which must name its contact details, purposes, categories of data subjects and personal data, categories of recipients, third-country transfers, erasure time limits where possible, and a general description of Article 32 security measures. In a self-hosted stack, the practical question is which of those fields already exist in machine-readable form. DAG definitions in Airflow, asset definitions in Dagster, connector configurations in Airbyte and the tags and owners in a catalog such as DataHub or OpenMetadata can carry purpose, data category, source system, destination and owner. Lineage then shows which downstream tables a personal data field reaches, which is the evidence needed to list recipients and to confirm that a transfer did or did not occur.
Map each Article 30(1) field to a named source before you build anything. For example, a team could require every DAG or asset to carry a purpose tag, a data_category tag drawn from a controlled list, and a retention_days value, then have a scheduled export pull those values into the record. This is an illustrative pattern, not a feature of any product. Test it with the data protection team, because lineage captures movement, not intent: it cannot tell you why a field was collected or whether a legal basis exists. Erasure limits are often the weakest link, since they depend on retention jobs that must actually run. Confirm that the warehouse retention logic matches the value stated in the record and in privacy notices under Articles 13(2)(a) and 14(2)(a).
Processor records under Article 30(2) are a different document. A DeployOpen-style implementation partner or an internal platform team acting for a client is usually a processor for the pipeline work, so it must record the categories of processing it carries out for each controller, any third-country transfers and, where possible, a general description of its security measures. Do not reuse the controller's metadata for that purpose. Agree with the controller who maintains which record, where it is stored, and how changes to DAGs, flows or connectors trigger an update. Pipeline metadata supports both records but does not replace the written, approved documents that a supervisory authority will ask to see.
Evidence auditors and supervisors ask for from data pipelines
This table lists the evidence a GDPR assessor or supervisory authority is likely to ask for from a self-hosted pipeline, the component that produces each item, and what to check before the request arrives. Treat every row as an input to an independent assessment, since none of these artifacts is a certification or audit report by itself.
| Evidence | Producing component | What the reader should confirm |
|---|---|---|
| Pipeline inventory with stated purposes and data categories | Orchestrator DAG or asset catalog (Airflow, Dagster) plus a maintained register kept with the DPO | Each pipeline names its purpose, source systems, personal data fields and recipient warehouse |
| Retention job definitions and run logs | Scheduled purge or expiry tasks in Airflow or Dagster, with run history in the orchestrator metadata database | Retention periods match the criteria in privacy notices, and failed purge runs trigger alerts |
| Pseudonymization key access logs | Vault or key management service audit trail and pipeline service account logs | Who can read the mapping table or secret, and whether the mapping is stored separately from the pseudonymized dataset |
| Lineage exports showing where personal data flows | DataHub or OpenMetadata lineage graph, exported on a schedule | Lineage covers every hop from source to warehouse, including staging and backup copies |
| Kafka ACL and TLS configuration | Kafka cluster configuration, StandardAuthorizer ACL records and listener settings | Topics carrying personal data have restricted ACLs, and no listener is unencrypted |
| Transfer inventory for third-country recipients | Connector configuration register and network egress rules in the pipeline platform | Every connector that sends data outside the EEA is listed with the transfer mechanism relied upon |
| Change approval records for DAGs and flows | Git history, pull request reviews and deployment pipeline logs for orchestrator code | Changes that alter personal data fields or destinations carry documented privacy review |
| Breach-response runbooks aligned with Articles 33 and 34 | Incident runbook owned by the security team, tested against pipeline failure scenarios | Named roles, timelines for supervisory notification and criteria for informing data subjects are written down and rehearsed |
What pipeline tooling alone does not satisfy
Self-hosting a pipeline gives you control over where personal data flows, but it does not decide whether the flow is lawful or whether the record is complete. The cards below cover the legal and organizational work that sits around the pipeline and that no orchestrator, connector or warehouse can perform for you.
Lawful basis and privacy notices
Every personal data field that a pipeline copies needs a documented lawful basis for that purpose. Articles 13 and 14 require privacy notices to state the storage period or the criteria used to set it, so a pipeline that retains data longer than the notice says creates a gap. Check that each source-to-warehouse flow maps to a notice and that the notice is updated when a new source or purpose is added.
Data subject requests across copies
Access, rectification and erasure requests must reach every copy of a person's data, including staging tables, Kafka topics, retained raw files, backups and warehouse replicas. A pipeline with ten landing points needs a documented map of where each identifier lives and a tested procedure to delete or correct it at each one. Ask your partner how replays and backfills avoid reintroducing data that was erased.
Transfer assessments under Chapter V
Chapter V governs transfers to third countries, and that includes remote support access, vendor telemetry, container image pulls and backups stored outside the EU or EEA. Self-hosting removes some transfers but not all. Where a transfer remains, the controller needs a documented assessment, and the EDPB Recommendations 01/2020 describe how to assess supplementary measures. Confirm which connectors phone home and which support staff can reach production data.
Staff training and governance
Pipelines are changed by engineers, analysts and vendors, and each change can add a new personal data field to a flow that was approved for something else. Define who may approve a new source or column that carries personal data, require a privacy review in the change process, and train pipeline owners on minimization and pseudonymization decisions. Ask who owns the record of processing entries that the pipeline feeds.
Pending changes to the GDPR
As of October 2026 the GDPR text has not been amended, but the Omnibus IV proposal (procedure 2025/0130(COD)) has a text agreed in interinstitutional negotiations and awaits Parliament's first-reading vote, and the Digital Omnibus proposal (procedure 2025/0360(COD)) awaits committee decision. Pipeline designs should be reviewed against the text in force at go-live and again when either procedure concludes. Keep the record of processing and the retention rules as versioned documents.
Lawfulness is not a tool setting
Pseudonymized data remains personal data when it can be attributed back to a person with additional information, and the EDPB's pseudonymization guidelines say the GDPR imposes no general obligation to pseudonymize. A pipeline that hashes identifiers has not thereby made the dataset anonymous or outside the regulation. Treat the pipeline as one control within a documented decision on purpose, necessity and retention, and verify that the key material is kept separately from the warehouse.
Questions buyers ask before hiring help for GDPR pipelines
What drives the cost of a GDPR-focused pipeline implementation?
The main drivers are the number of source systems, the number and complexity of connectors, the retention rules that must be built into each dataset, how encryption keys and pseudonymization secrets are managed, and how deep the lineage capture must go. Each source adds mapping work and testing. Each retention rule adds a deletion or expiry job that must be verified. Key management adds decisions about who holds the keys and where they are stored. Costs fall into two groups. One-time costs cover design, connector setup, data mapping, testing and documentation of the records of processing. Recurring costs cover infrastructure, upgrades, monitoring and support. Ask any partner for a quote that lists each source, each retention rule and each recurring service separately, so you can see which items move the total.
How long does a GDPR pipeline project take?
Duration depends on scope, not on a fixed template. The number of sources, the number of personal data categories, the state of existing documentation, and the number of teams that must approve retention and transfer decisions all change the timeline. Work that is often underestimated includes agreeing the purposes and time limits for each dataset with the business owners, and testing that deletion or pseudonymization actually runs as designed. No figure applies to every project. Confirm the phases, the milestones and the dependencies in the written scope before work starts, and ask which items depend on the client's legal or data owner reviews.
What does the client need to provide for the engagement?
The client needs to provide several inputs that cannot be supplied by the implementation team alone:
- Data owners for each source system who can confirm what personal data is held and why.
- Legal or privacy input on purposes, lawful basis, storage periods and transfer restrictions, which determine the retention and pseudonymization rules.
- Network access and accounts in the source systems, the warehouse and the infrastructure where the platform will run, including change approval for production.
- Decisions on who may hold pseudonymization keys and where the additional information must be kept separately.
The records of processing under Article 30 are drafted from these inputs. The controller remains responsible for the content of those records. Confirm each input, its owner and its due date in the written scope.
Can an internal team run a self-hosted GDPR pipeline without outside help?
Yes, an internal team can run a self-hosted pipeline if it has the skills and the infrastructure. Apache Airflow 3.3.2 is released under Apache-2.0, so there is no license fee from the project itself. Its prerequisites list Python 3.10 to 3.14, PostgreSQL 14 to 18 or MySQL 8.0, 8.4 or Innovation releases, and Kubernetes 1.30 to 1.35 for Kubernetes-based deployments. The project does not support MariaDB as a metadata database, advises against SQLite in production, and recommends at least 4 GB of RAM. The production deployment guide warns that the default SQLite backend can lead to data loss. Internal teams should confirm that they can own upgrades, backups, access control and evidence collection before taking the platform on.
Is GDPR certification required before a pipeline can process personal data?
No. The GDPR requires no certificate for processing personal data. Article 42 provides for voluntary certification, issued for at most three years by accredited certification bodies or supervisory authorities. Certification does not reduce the controller's or processor's responsibility for compliance. What a pipeline needs in practice is documented purposes, storage periods, a record of processing activities, security measures such as pseudonymization and encryption under Article 32, and transfer controls. An implementation partner can prepare these systems and evidence for review. Independent auditors and certification bodies issue any audit report or certificate, and DeployOpen does not issue either.
How do pseudonymization and retention rules change pipeline effort?
Each rule adds design, code and testing work. Pseudonymization must keep the additional information needed to re-identify data separate and protected, as Article 4(5) requires. The EDPB Guidelines 01/2025 on pseudonymisation state that pseudonymized data that can be attributed with additional information remain personal data, so the pipeline still falls under the GDPR. Retention rules require a deletion or expiry process in each layer, from staging to the warehouse, plus backups and logs. Ask a partner how they test that deletion reaches every copy and how they document the erasure time limits in the record of processing.
What should a buyer confirm about the partner's testing and handover?
Ask for a written description of how pipelines are tested, deployed and documented, how deletion and pseudonymization are verified, and what handover includes. A fixed-scope engagement should list the deliverables, such as configuration, runbooks, data mapping and the records of processing inputs. Ask whether ongoing upgrades, monitoring and testing are covered by a separate retainer. Confirm the support model for the Airflow or Kafka upgrade path, because unsupported versions receive no fixes. Ask for references to the handover documents, not to specific clients, and confirm that every item appears in the written scope before work starts.
How a GDPR pipeline program moves from inventory to evidence
The sequence turns a loose set of data flows into pipelines whose retention, pseudonymization, transfers and deletion behavior are designed, tested and documented before they run in production. Each phase produces an artifact that the next phase depends on, so the evidence pack reflects what the pipelines actually do.
Inventory data flows and map purposes
The controller and the DeployOpen team list every source system, pipeline, staging area and warehouse table that carries personal data, then record the purpose, the categories of data subjects and personal data, the recipients and any third-country location for each flow. The step is done when every flow has a named owner and a purpose that matches the entries the organization keeps under Article 30. Gaps found here often change the scope of later phases, so they are resolved before design begins.
Design retention and pseudonymization rules
For each category of personal data, the team sets an erasure time limit or the criteria used to set it, which feeds the record of processing and the privacy notice. It also decides where pseudonymization happens, which fields are replaced with tokens, and where the separately stored additional information is kept and who can access it. The output is a written retention and pseudonymization specification that the data owners approve.
Build and configure the pipelines
Engineers implement the ingestion, transformation and loading jobs in the organization's own infrastructure, with pseudonymization applied before data reaches analytical stores and with credentials, encryption and access controls set according to the design. Configuration is kept in version control so every change to a flow can be traced. The step closes when pipelines run in a non-production environment and the configuration matches the specification.
Test deletion and backfill behavior
The team runs test cases that remove a data subject's records from raw, staging and warehouse layers, confirms that derived tables and caches are cleaned up, and checks that a backfill or replay does not reintroduce records that should have been erased. Retention jobs are tested against the time limits in the specification. The step is done when each test result is recorded and every failure has an agreed fix or a documented exception.
Assemble the evidence pack
The team collects the inventory, the specification, the version-controlled configuration, test records, access lists, transfer documentation and the processing record entries into one package indexed by data flow. The package states what the controls do and how they were verified, without claiming an outcome that only an independent auditor or supervisory authority can give. Your compliance lead reviews it and confirms it matches the environment.
Monitor retention and access in production
After go-live, the pipelines run with monitoring for failed erasure jobs, retention runs that did not complete, unexpected new fields or destinations, and access to pseudonymization keys. Changes to flows pass through the same review as the original design, and the processing record and evidence pack are updated when a flow changes. The step is complete when alerts have named owners and a documented response path.
Which primary sources to read before scoping
Before you write a single pipeline requirement, read the GDPR text itself, starting with the GDPR on EUR-Lex. Article 5(1)(e) on storage limitation, Article 30 on records of processing and Article 32 on security of processing are the provisions that translate directly into pipeline design: they decide how long staging tables may hold identifiable data, what each pipeline must document about its recipients and transfers, and which technical measures your orchestrator and connectors must support. Note that the GDPR has no audit or certificate requirement, so the controls you build are the evidence you will later show your data protection officer or a supervisory authority.
Next, read the EDPB Guidelines 01/2025 on pseudonymisation, which were adopted in January 2025 as a version for public consultation, so confirm whether a final version has since been published. Their central point for pipeline architects is that pseudonymised data remain personal data while the additional information needed to re-identify them exists. In practice, that means the key table or tokenization service must sit in a separate, access-restricted zone from the warehouse, and the pipeline's pseudonymization step should be tested as a control, not assumed to work. Finally, read the EDPB Guidelines 9/2022 on personal data breach notification and the Kafka security overview. The breach guidance shapes how quickly your monitoring must detect a compromised connector or exposed staging bucket, because notification clocks start at awareness. The Kafka overview explains that security is optional and that clusters can run mixed secured and unsecured listeners, so confirm in writing that every topic carrying personal data uses encrypted, authenticated listeners before you sign off the design.
How DeployOpen scopes, builds and supports GDPR-ready pipelines
DeployOpen plans, implements, hardens, documents and supports self-hosted open-source platforms inside the client's own infrastructure. For GDPR-ready pipelines, that means agreeing in writing which personal data fields flow from each source to the warehouse, then building retention, pseudonymization and transfer controls into the pipelines and the records that describe them.
How we scope
- Written scope lists each source system, destination warehouse and the personal data categories each pipeline carries.
- Scope records retention periods per dataset and the criteria used to set them, for the privacy notice and processing record.
- Scope names the transfer points, including any connector or support access that reaches outside the client's network.
How we build
- Pipelines are configured to drop, mask or pseudonymize identifying fields before data reaches analytical storage.
- Pseudonymization keys and mapping tables are stored separately from the warehouse with restricted access and their own controls.
- Deletion and retention jobs are scheduled in Airflow or Dagster and tested against the agreed erasure time limits.
How we hand over
- Handover includes a data flow inventory mapping each pipeline to its purpose, data categories, recipients and storage location.
- Runbooks cover retention jobs, erasure requests that must reach downstream copies, and failure handling for scheduled deletes.
- Documentation supplies evidence material for the client's processing record, which the controller maintains and owns.
How we support
- Ongoing support, upgrades and continuous testing are available as a retainer after handover.
- Upgrades of Airflow, Kafka and connector images are planned against each project's published support and end-of-life dates.
- Regular review of pipeline changes checks whether new fields or destinations alter the documented data flows and records.

