Data pipelines for EU data sovereignty

Self-hosted pipelines keep extraction, transformation and staging inside the EU when managed ELT services process data in US-controlled clouds. This page covers the requirements, platforms and evidence that decide it.

On this page

Why EU data sovereignty changes the pipeline design

A data team whose managed ELT or SaaS connectors send personal or confidential data through US-controlled infrastructure has a transfer problem before it has a tooling problem. The core decision is to run orchestration and staging inside the EU, keep the extraction and transformation workloads in infrastructure the organization controls, and document every transfer that remains. Under GDPR Article 44, every transfer of personal data to a third country, including onward transfers, must meet Chapter V conditions, and infringements of Articles 44 to 49 can draw fines of up to EUR 20 million or 4% of worldwide annual turnover under Article 83(5)(c). Many teams only consider storage locations, but the EDPB Guidelines 05/2021 state that remote access from a third country, even only displaying data on a screen for support or administration, is a transfer. A vendor's support engineer viewing a failed job log from abroad can therefore matter as much as where the bucket sits.

The platform choices follow from that test. Apache Airflow and Dagster are Apache-2.0 orchestrators that run in your own cluster, so the scheduler, metadata database and task logs stay where you place them. Apache NiFi suits flows that need controlled movement between zones, with its own authentication options and a loopback-only default binding until you configure access. Airbyte is attractive for connectors, but its platform repository is under the Elastic License 2.0, so confirm with counsel whether your intended use, including any offering to internal or external parties, is permitted before you build on it. Ask every platform vendor and connector provider where support sessions originate, who holds credentials for the environment, and whether any telemetry leaves the EU. Those answers, recorded per system, become the transfer register that auditors and supervisory authorities will ask for.

DeployOpen plans, implements and documents self-hosted pipelines inside your cloud accounts, data centers or air-gapped networks, including the transfer inventory, credential handling and access design described here. DeployOpen prepares systems and evidence for compliance assessments but does not issue audit reports, attestations or certifications; independent auditors and certification bodies perform those. Confirm the legal position of any residual transfer with your data protection officer and counsel, because the EU-US Data Privacy Framework rests on Commission Implementing Decision (EU) 2023/1795, whose General Court judgment is under appeal as Case C-703/25 P.

Which legal requirements shape the pipeline build

This table maps each legal requirement to what it means for where credentials, connectors, staging files and logs may run. Read it as a design checklist: each row names a rule and the pipeline component it constrains. The main takeaway is that a transfer can occur through remote support access or storage abroad, not only through a data export, so every component needs a location decision.

RequirementWhat it asks forWhat it means for pipeline components
GDPR Article 44 and onward transfersEvery transfer of personal data to a third country, including onward transfers, must meet Chapter V conditions. Fines for Articles 44 to 49 reach EUR 20 million or 4% of worldwide annual turnover under Article 83(5)(c).Each hop in the pipeline (source connector, orchestrator, staging bucket, warehouse, log store) must be mapped. Any hop that sends personal data to a third country needs a documented transfer basis.
EDPB Guidelines 05/2021 on remote access and storageRemote access from a third country, even only viewing data on a screen for support, counts as a transfer. Storage in a cloud outside the EEA also counts.Vendor support sessions, managed-service engineers and offshore monitoring can each create a transfer. Confirm access paths for connectors and orchestrator consoles, and restrict them where personal data is visible.
Schrems II and the CJEU ruling of 16 July 2020The Court invalidated the EU-US Privacy Shield but held that standard contractual clauses remained valid. Controllers must still assess whether the destination country's law allows adequate protection.Contracts with US-controlled connector or ELT vendors must rely on clauses plus a transfer assessment. Ask whether credentials or staging files are included in the vendor's data flows.
Data Privacy Framework and Case C-703/25 PThe Commission's 2023/1795 decision covers only US organizations on the Data Privacy Framework List. An appeal against the General Court's September 2025 judgment is pending as Case C-703/25 P.Do not treat DPF listing as settled for orchestration or ELT vendors. Confirm the vendor's listing status and plan a fallback design in which intermediate files stay in EU-hosted storage.
US CLOUD Act, 18 U.S.C. 2713US providers must preserve or disclose data in their possession, custody or control, wherever it is located.A managed pipeline run by a US-controlled provider may expose staging files, logs and credentials stored in the EU. Self-hosted orchestration on EU infrastructure reduces, but does not remove, this exposure for vendor-held support data.
GDPR Article 48 on third-country ordersA third-country court or authority order to disclose personal data is recognized only if based on an international agreement, such as a mutual legal assistance treaty.Requests to a vendor for pipeline logs or staging data should be routed through this test. Record the vendor's process for handling such requests in the transfer file.
Data Act Article 32 on third-country access to non-personal dataProviders must take technical, organizational and legal measures to prevent third-country governmental access to non-personal data held in the Union where it conflicts with Union or national law.Pipeline telemetry, operational datasets and metadata that are not personal data still fall under this duty. Ask providers which measures they apply to EU-held data.
Data Act Articles 25, 29 and 50 on switchingCustomers may switch to another provider or to on-premises infrastructure, with a maximum two-month notice period, a 30-day transition, and a ban on switching charges from 12 January 2027.Keep DAG and flow definitions, connector configurations and schemas in version control that you own. This keeps a move to on-premises or another provider feasible within the statutory notice and transition periods.

Where data actually leaves the EU in a managed ELT setup

The first question for any managed ELT setup is not where the database sits but where the processor's access comes from. Under the EDPB's Guidelines 05/2021, remote access from a third country counts as a transfer even when the operator only views data on a screen for support, and storage in a cloud outside the EEA is also a transfer. Chapter V analysis therefore has to follow the people and systems that can reach the data in the clear, including the vendor's support staff, its connector control plane and its telemetry pipeline, not just the storage region shown in a console. Ask each vendor, in writing, which entities can access customer data, from which countries, and under what circumstances.

Consider an illustrative case: a customers table extracted from an on-premises CRM and loaded into a warehouse in an EU region. The bytes at rest may stay in the EU, yet the connector vendor's control plane receives the connection string and sample rows for schema detection, a managed staging bucket holds Parquet files of the full table in a region outside the EU, a failed sync pushes the offending rows into a dead-letter queue that the vendor's log service retains, and a SaaS observability tool stores row counts and column names with error messages. Each of these is a copy of personal data, and each needs a documented transfer decision. Intermediate files, dead-letter queues, orchestrator logs and schema metadata all count as data for this purpose, and they often outlast the pipeline run that created them.

When you review a managed ELT service, map each component to a row in a transfer register: what data it touches, where it is processed, who can access it, and which Chapter V mechanism applies. Confirm which vendor components are optional or can be disabled, and where credentials are stored. Self-hosted orchestration such as Apache Airflow keeps the scheduler, the metadata database, task logs and connection secrets inside your own infrastructure, which moves these copies under your control. Where a vendor must remain in the path, the EU processor analysis in the EDPB guidance and the third-country access exposure under GDPR Article 48 and the CLOUD Act still need written assessment before the contract is signed.

Which orchestration and ingestion platforms fit a sovereignty build

Orchestration decides when each pipeline runs, where its credentials are read from and where its run history is written, so it is usually the first component to place inside the EU boundary. Apache Airflow 3.3.2 and Dagster 1.13.26 are both licensed under Apache-2.0, which allows self-hosting without a license fee paid to the project. The choice between them depends mainly on how your engineers author, test and deploy pipelines.

  • Airflow metadata database: Airflow runs on PostgreSQL 14 to 18 or MySQL 8.0, 8.4 or Innovation releases. MariaDB is not supported as a metadata database, and SQLite is for testing only.
  • Airflow version currency: Airflow 2 reached end of life on April 22, 2026 and receives no fixes, so new sovereignty builds should start on Airflow 3.
  • Scheduler resilience: Airflow can run more than one scheduler at the same time using database row-level locks. Plan database high availability alongside it, because the metadata store becomes a single point of failure.
  • Dagster asset model: Dagster 1.13.26 organizes work around data assets, which suits teams that track tables and models as first-class objects. Confirm its deployment components and where it stores run metadata against your architecture.

Confirm which executor your workload needs before design, because CeleryKubernetesExecutor and LocalKubernetesExecutor are no longer supported from Airflow 3.0.0.

Deployment patterns that keep credentials and intermediate files in the EU

Sovereignty in a pipeline depends less on the warehouse than on the components around it: the scheduler's metadata, the secrets store, the staging area and the network paths. The cards below cover the decisions that determine whether extraction, transformation and staging stay inside EU accounts, and what evidence shows it.

Self-hosted scheduler with EU metadata

Airflow stores DAG runs, task states, connections and variables in a metadata database. For a sovereignty design, that database belongs in EU accounts, on PostgreSQL or MySQL, since the production guidance recommends one of them over the default SQLite backend. Confirm which region hosts the database, its backups and any replicas, and who holds administrative access. Connection records can reveal source systems and credential references, so treat the metadata store as sensitive data.

Secrets backend the organization controls

Source system passwords, API tokens and warehouse keys should not be stored as plain connection entries in a scheduler database that a managed vendor operates. Use a secrets backend that the organization runs in its own EU environment, and have the orchestrator resolve secrets at runtime. Check that task logs do not echo secret values, that rotation does not require redeploying DAGs, and that the backend's own audit log is retained where your auditors can read it.

EU object storage for staging

Intermediate files from extraction are often the largest unmanaged copy of personal data in a pipeline. Place staging buckets in EU regions under the organization's own accounts, with encryption keys held in the same jurisdiction. Set lifecycle rules so staged files are deleted after the load completes or after a defined retention window that the data protection team approves. Confirm that replication, versioning and cross-account sharing do not copy objects outside the EEA.

Airflow executor choice

The executor decides which machines run tasks and therefore where transient data and credentials are loaded. KubernetesExecutor and CeleryExecutor both keep task execution on infrastructure the organization controls when deployed in EU clusters. The hybrid CeleryKubernetesExecutor and LocalKubernetesExecutor are no longer supported as of Airflow 3.0.0, so any design built on them needs a migration plan. Confirm that worker images, queues and autoscaling nodes all sit in approved regions.

NiFi cluster coordination

NiFi clusters coordinate state and leader election either through an embedded or external ZooKeeper ensemble or through Kubernetes ConfigMaps and Leases. Coordination data is small, but it reveals cluster topology and flow state, so place it in the same EU boundary as the flows. Use an authentication provider such as OpenID Connect or LDAP, and confirm that the UI does not bind beyond the intended network. Plan NiFi 2.x from the start, since the 1.x line can no longer be maintained.

Egress allow-listing as proof

A written data flow map is weaker evidence than the network itself. Pipeline workers, schedulers and NiFi nodes should only reach approved EU endpoints, with default-deny egress rules, logged DNS resolution and proxy records. Any SaaS connector, package mirror or telemetry endpoint that appears in the logs becomes a transfer to document under GDPR Chapter V, or a flow to remove. Ask the partner to test egress with the pipeline running and to keep the allow-list under change control.

How a sovereignty migration from a managed ELT service runs

The sequence moves extraction, transformation and staging into the organization's own EU infrastructure in controlled stages, with each remaining transfer assessed and documented before cutover. Each phase closes with a written output that the data protection, security and engineering owners can review.

  1. Inventory transfers and map data flows

    The team lists every connector, scheduled sync, staging location and support access path that touches data in the managed ELT service, including vendor-side logs, support sessions and backups. Data engineers, the platform owner and the vendor's contract owner contribute, with DeployOpen running the discovery workshops. The step closes with a data flow map showing source, processing location, storage location, operator location and every party with potential access. It is done when each flow has an owner and no flow is unexplained.

  2. Classify each flow by data sensitivity

    Each mapped flow is tagged by data category, including whether it contains personal data, special category data, financial records or non-personal data, and by the business purpose it serves. The data protection officer and the business owners confirm the classification, since it sets how strict the later transfer assessment must be. Flows that carry no personal data can follow a lighter review path, but the classification must still be recorded. The output is a signed classification register that the rest of the migration references.

  3. Assess each remaining transfer under Chapter V

    For every flow that would still leave the EU or be reachable from a third country, the controller documents the transfer basis under Chapter V of the GDPR and reviews it against the EDPB Guidelines 05/2021, including remote access for support and storage outside the EEA. The assessment also covers the vendor's exposure to third-country authority requests, a point the EDPB guidance says controllers should evaluate before engaging such a processor. Legal counsel signs off on the assessment, and the output is a transfer register with one decision per flow: eliminate, keep with documented basis, or escalate.

  4. Decide the target architecture

    The team selects the self-hosted components for each stage, such as Airflow or Dagster for orchestration, Airbyte or NiFi for ingestion, and the target warehouse, and records where credentials, intermediate files and logs will be held. Each choice is checked against the license terms and the operational skills the organization will keep in house. Targets are confirmed against the Apache Airflow version life cycle so no component is chosen on an end-of-life line. The output is an architecture decision record with a hosting location, key custody model and a list of open licensing questions.

  5. Run pipelines in parallel and reconcile

    The new self-hosted pipelines are built and run alongside the managed connectors against the same sources, writing to a separate staging area. Row counts, checksums, schema matches and business totals are compared on a defined schedule, and each difference is traced to a cause, such as a timezone rule or a dropped column. Engineers and finance or domain owners both sign off on reconciliation results before anything moves to production. The step is complete when the agreed reconciliation criteria have been met for the agreed period.

  6. Cut over and decommission managed connectors

    The team switches downstream consumers to the self-hosted outputs, disables the managed connectors and revokes the vendor's credentials to the source systems. Access to the vendor console is removed, and the team confirms that scheduled jobs and webhooks no longer run on the vendor side. The vendor is asked in writing to delete or return data held for the migration and to confirm the deletion, and the contract exit terms are checked. The output is a cutover record, a credential revocation log and the vendor's deletion confirmation.

  7. Review transfers and controls on a schedule

    The transfer register, data flow map and access lists are reviewed on a fixed schedule and whenever a connector, region or vendor changes. The review also tracks regulatory developments that could affect transfer bases, such as the pending appeal in Case C-703/25 P concerning the Data Privacy Framework. Security testing of the pipeline hosts and orchestrator is repeated after material changes. The recurring output is an updated register, a review record signed by the controller and a list of actions with owners.

Evidence that shows where data flowed and why

This table maps each evidence item an assessor or supervisor may ask for to what it proves and the component that produces it. Read it as a checklist for designing the pipeline so the evidence is generated by default, not reconstructed later. DeployOpen prepares this evidence, and independent auditors or supervisors decide whether it is sufficient.

Evidence itemWhat it provesComponent that produces it
Transfer register and records of processingEvery flow of personal data leaving the EU, including onward transfers, and the legal basis for eachDocumentation maintained by the controller, mapped to pipeline DAGs and flows
Data flow diagramsWhich systems, staging areas and warehouses each dataset passes through, and where each hop is hostedOrchestrator metadata and lineage catalog such as DataHub or OpenMetadata, checked against infrastructure inventory
Airflow run and task logsWhen each job ran, what it read and wrote, and whether it failed or was retriedApache Airflow scheduler, task logs and metadata database
NiFi provenance and audit recordsRecord-level origin, transformations and destinations for flows crossing network zonesApache NiFi provenance repository and user action audit log
Secret access logsWhich service accounts and users read database or cloud credentials, and whenVault or equivalent secrets manager configured for the orchestrator, plus Airflow connection access records
Egress configurationThat pipeline workers can reach only approved EU endpoints and that no unapproved outbound path existsFirewall and proxy rules, Kubernetes network policies, and DNS allowlists kept under change control
Vendor and processor assessmentsWhich connectors, managed tools and support providers touch data, and whether third-country law or remote access appliesContract register and transfer impact assessments held by the controller, with supplier attestations
Retained logs against the six-month minimumThat logs for a high-risk AI system were kept at least six months, as Article 19(1) of the EU AI Act requiresLog retention policy and storage in the organization's own infrastructure, sized to the retention period
Change records for DAGs and flowsWho approved each pipeline change and that code matched the reviewed versionGit history, pull request approvals and deployment pipeline records

Keeping the option to switch providers under the Data Act

The Data Act gives customers a right to switch away from a data processing service, including to on-premises ICT infrastructure, and that right is the main reason to keep pipeline orchestration in your own hands. Under Regulation (EU) 2023/2854, the switching rights in Articles 25, 29 and 50 apply since 12 September 2025, with a maximum two-month notice period and a 30-day transition. Switching charges are banned from 12 January 2027. The practical question for a data team is whether the pipelines can actually move. A managed ELT service that holds the DAGs, connector configurations and run history in its own proprietary format makes a 30-day transition difficult to meet in practice, whatever the contract says.

Open-source orchestration changes that calculation because the logic lives in files you control. Confirm for each pipeline that the DAG code (Python for Apache Airflow, asset definitions for Dagster), connector configuration, environment variables and secret references are stored in your own version control and can be redeployed to a different scheduler without the vendor's tooling. Check which parts exist only in a UI or a metadata database: Airflow connections, variables and run history sit in the metadata database, so decide what to export, in what format, and how often. For NiFi, a flow exported from the canvas is a file you can keep under version control, and the flow configuration format changed in NiFi 2.0, so test the export and re-import path before you need it. Write these checks into a runbook and rehearse them at least once.

Portability also has a time dimension. Apache Airflow 2 reached end of life on April 22, 2026, so an Airflow 2 deployment gets no fixes, and the Airflow version life cycle table is the source to confirm current status for any version you run. Airflow 3 is the line to plan around, and the upgrading guide lists changes that affect existing DAGs, so budget the upgrade as a planned engineering task rather than an emergency. Ask your implementation partner for a written upgrade path that covers the Python and Kubernetes prerequisites of the target release, a test environment that runs the production DAGs, and a rollback plan. An exit you cannot execute on schedule is not an exit, so treat these upgrade paths as part of the switching plan.

Questions to ask an implementation partner before signing

Which data transfers will you remove and which will you document?

A good partner separates the two in writing before any build starts. Transfers that can be removed usually involve a managed ELT connector, a hosted orchestrator or a SaaS monitoring tool that sits outside the EU, and these are replaced with components that run in your own EU accounts or data centers. Transfers that cannot be removed, such as a vendor's remote support session or a license check that sends data abroad, must be listed with the purpose, the data categories and the legal basis for each. Ask for the proposed list of removals and retained transfers before you sign, and check it against the GDPR transfer rules in Chapter V, including Article 44 on onward transfers.

Where does support access to the pipeline stack come from?

Ask for a written description of every route into the environment: who connects, from which country, through which bastion or VPN, and what they can see on screen. The EDPB Guidelines 05/2021 treat remote access from a third country as a transfer, even when the person only displays data for support, so a support engineer working from outside the EEA counts. Require that support sessions use EU-hosted jump points, that access is logged, and that vendor staff are named in the transfer register. Confirm the same rules for upgrades and emergency fixes.

How are credentials and staging files isolated from foreign-controlled services?

The answer should name where each secret lives, who can read it and where intermediate files are written. In a self-hosted Airflow or NiFi deployment, connection secrets can sit in a secrets backend inside your EU network, and staging buckets or volumes can be restricted to EU-located storage with encryption keys you control. Ask whether any secret, token or temporary extract passes through a SaaS control plane, a managed scheduler or a US-hosted CI runner. Also ask how staging is purged after a run, since leftover extracts are a common source of unplanned transfers.

How will you produce the transfer register and keep it current?

Ask for the register format and the process that updates it. A usable register lists each flow, source system, destination, data categories, whether personal data is included, the processor or subprocessor involved, the country where data is stored or accessed, and the transfer mechanism relied on. The partner should derive the entries from the actual pipeline configuration and connector inventory, not from memory, and should re-run that check on every new connector or change approval. Confirm who signs off the register on your side, because DeployOpen prepares evidence for assessments but does not issue audit reports or attestations.

How do you plan for the pending Data Privacy Framework appeal?

Ask the partner to state which transfers depend on the EU-US Data Privacy Framework and which rely on standard contractual clauses or on no transfer at all. Commission Implementing Decision (EU) 2023/1795 finds adequacy only for US organizations on the Data Privacy Framework List, and an appeal in Case C-703/25 P is pending, so the status could change. A good plan keeps the register tagged by transfer mechanism, so that a change in the adequacy basis can be assessed quickly. Ask who monitors the case and how your records and contracts would be updated. The partner should not present the outcome as settled.

How will NiFi 2 or Airflow 3 upgrades be planned without breaking the sovereignty controls?

Ask for a written upgrade method that covers version support, testing and rollback. NiFi 1.x can no longer be maintained, and the migration guidance requires moving to 1.27.0 before 2.0.0 and changing flow.xml.gz to flow.json.gz. Airflow 2 reached end of life on April 22, 2026, and Airflow 3 requires DAG updates. Ask the partner to confirm that each upgrade is tested in a non-production environment, that the sovereignty checks (connectors, endpoints, secrets, staging) are rerun afterward, and that the transfer register is updated in the same change. Ask for a supported version calendar and the expected change window for each.

What does a fixed-scope quote for sovereign pipelines include?

A fixed-scope quote should list the deliverables in writing before work starts, including the source and destination inventory, the target architecture, the transfer register, the access model, runbooks and the handover plan. Ask which costs are one-time, such as design, migration and documentation, and which recur, such as hosting, licenses for any retained commercial component, staff time for upgrades and retainer support. Costs rise with the number of connectors, the number of transfers you must remove and the amount of evidence required. Ask whether the quote excludes connector development or third-party license fees, and whether ongoing support is a separate retainer.

Can our own team run the pipelines after the engagement ends?

Ask what skills the handover requires and how it is tested. Self-hosted Airflow, Dagster and NiFi are open source and can be operated by your own staff, but they need people who understand scheduling, secrets, backups and upgrades. Ask the partner for a training plan, a runbook for failure and backfill handling, and a documented exit path. Also ask how the platform could move to other infrastructure if your requirements change, since the EU Data Act gives customers switching rights to other providers or on-premises infrastructure. Confirm which parts remain dependent on the partner after handover.

How DeployOpen scopes and runs a sovereignty pipeline build

DeployOpen is a Chainscore Labs company that plans, implements, hardens, documents and supports self-hosted open-source platforms inside the client's own infrastructure, including EU cloud accounts, data centers and air-gapped networks. For a sovereignty pipeline, that means the orchestrator, connectors, staging storage and warehouse are deployed where the client already controls the hosting, and the work starts with a written scope that names every source system, every destination and every place where credentials or intermediate files will sit. Most engagements are fixed-scope, so the scope, deliverables and timeline are agreed in writing before build work begins. Ask any partner to show you the scope document format before you sign, and confirm whether it lists the EU locations of each component, the named administrators and the exit path if you later move to another platform.

The main deliverables are a transfer register and an evidence pack. The transfer register lists every flow that leaves the EU or EEA, including remote support sessions, backup replicas, vendor telemetry and any managed connector that calls an external API, along with the legal basis relied on for each. The evidence pack holds the configuration baselines for Airflow or Dagster, the secrets backend settings, network policies, access reviews and the test results from the pipeline security review. DeployOpen prepares these artifacts for your assessors and your data protection officer, but it does not issue audit reports, attestations or certifications. Confirm with your counsel which legal basis applies to each entry and whether your supervisory authority expects a specific format.

Security testing of the pipeline covers the orchestrator web interface, the scheduler and worker hosts, the connector credentials and the paths where extracted data is staged, since those are the places where a third-country administrator or an unexpected sync could expose data. Testing results feed the hardening backlog, and remediation is tracked against the transfer register so that a closed finding is reflected in the documented flows. Because open-source platforms receive upgrades on their own schedule, retainers can cover patching, version upgrades, restore tests and periodic re-testing after changes. Ask whether the retainer includes testing of each upgrade before production, what the notice period is for security releases, and who is accountable for the register after the initial build.

Sources and further reading

Talk to our team.

Tell us what you're working on, whether it's a deployment, an audit, a security test or a cyber range. You'll speak with an engineer who can help you scope it.

  • 30-minute call: free, with no obligation.
  • NDA on request: we can sign before you share details.
  • Clear next steps: a scope and plan after the call.