Data pipelines in air-gapped networks

Running ingestion and orchestration with no internet access means offline image and connector updates, controlled transfer between zones and monitoring that never calls a SaaS service. This page sets out the requirements, the platforms that fit and what to ask a partner.

On this page

Why air-gapped pipelines need a different build for data teams

An air-gapped pipeline is built around three things: offline artifacts (connector images, orchestrator packages and rule sets that arrive by approved transfer rather than by download), a controlled transfer point between the isolated zone and the rest of the estate, and self-hosted monitoring that does not send logs or telemetry to a SaaS service. The platform choice follows from how well each candidate supports those three needs, not from feature lists alone. Data still has to move from source systems to a warehouse such as ClickHouse while there is no internet path, so the pipeline team has to plan for every package, image and model-free dependency before the first run, not during an incident.

Most open source orchestrators and connectors assume that workers can pull packages, container images and plugins from public registries at install time or on upgrade. That assumption breaks quietly: a connector image that was never mirrored, a Python dependency that resolves to a newer version than the one you tested, or a health check that calls an external endpoint will all fail only after deployment. Licensing adds a second constraint. Some vendors reserve offline or air-gapped deployment for paid editions, and some tools restrict paid features to enterprise directories, so the reader should confirm in writing which edition and license terms cover an isolated install before selecting a tool. Ask the vendor and the implementation partner to list every external call the pipeline makes at install, startup and run time.

Treat the selection as a decision to make now: confirm which orchestrator (for example Apache Airflow or Dagster), which ingestion tool and which transfer mechanism will be used, and check each one against the network zone model your security team already uses. Then run a dry run that mirrors a single source-to-warehouse flow using only the offline artifacts and the approved transfer path, and record what failed. That test will show whether the design holds before budgets and delivery dates are fixed.

Which requirements an air-gapped pipeline must meet and where they come from

This table maps each requirement that shapes an air-gapped pipeline to the source that creates it and the consequence for the build. Read it as a starting list for your regulator, auditor and security team, since whether a given rule applies depends on your sector, your assets and your data. The main takeaway is that package verification, remote access paths and container image supply all need to be designed in from the first sprint, not added at go-live.

RequirementSource of the requirementWhat it means for the build
Verify integrity and authenticity of every package carried across the boundaryNERC CIP-013-2, supply chain risk management, for bulk electric system operatorsRecord checksums and signatures for each connector, DAG, flow and image. Confirm with your auditor which artifacts count as vendor software and patches.
Interactive remote access passes through an Intermediate System with encryption and MFANERC CIP-005-7, electronic security perimeters, where operational data is involvedRoute vendor and engineer access to pipeline consoles through a controlled jump point. Confirm with your compliance lead whether pipelines touch in-scope BES Cyber Systems.
Detect and disable active vendor remote access sessionsNERC CIP-005-7, electronic security perimetersLog vendor sessions into orchestrator and NiFi admin interfaces and provide a tested way to end them. Confirm the method your auditor expects.
Automatic event logging for AI systems over their lifetimeEU AI Act Article 12(1), record-keeping for high-risk AI systemsApplies only if the pipeline feeds a high-risk AI system. Capture ingestion, transformation and model input events in the offline log store.
Retention of automatically generated logs for at least six monthsEU AI Act Article 19(1), unless other law sets a different periodSize the offline log store for at least six months of retention for in-scope AI systems. Confirm longer periods with your legal team.
Pre-pull Kubernetes and container images to a private registryKubernetes kubeadm documentation: config images list, pull and the --image-repository flagMirror every control plane, orchestrator, database and connector image into an internal registry before cutover. Each update becomes a transfer cycle, so plan the update calendar.
Supported runtimes and databases must stay current in an offline networkVendor support lifecycles, for example Airflow 2 end of life on April 22, 2026 and NiFi 1.28.1 end of support on December 8, 2024Choose versions still in support and plan upgrades through the offline transfer path. Confirm support windows with each vendor before selecting a version.
Offline updates must come from a controlled media or transfer pathVendor offline guidance, for example Security Onion's airgap mode and Wazuh's offline installation guideDefine how packages reach the isolated zone, who approves each transfer, and how the transfer is recorded. Confirm which vendor components support offline updates.

Which open source platforms fit an isolated network and why

Air-gapped pipelines depend on whether each platform installs from offline media, updates from a controlled mirror, and keeps its license terms compatible with a self-run deployment. The cards below cover the orchestrators, ingestion, visualization and lineage tools that most often appear in these designs, with the checks to run before committing.

Apache NiFi for controlled transfer

NiFi is Apache-2.0 licensed with no paid edition from the project, which keeps licensing simple inside a closed network. It is the usual choice for moving files and records across a boundary with provenance and flow-level control. Use the 2.x line only. The project states that 1.x cannot be maintained further, and 2.x requires Java 21 at minimum. Confirm which authentication method your boundary will use, since NiFi supports LDAP, OpenID Connect, SAML 2.0 and X.509 client certificates, while Kerberos is deprecated.

Apache Airflow for scheduled batch

Airflow is Apache-2.0 and fits air-gapped batch scheduling well because DAGs, images and dependencies can all be mirrored internally. Plan the metadata database early: PostgreSQL is the production choice, and SQLite is for testing only. Airflow 2 reached end of life on April 22, 2026, so any existing 2.x estate needs a migration plan that includes the 3.x upgrade path. Confirm your Kubernetes version falls within the supported range before building the cluster offline.

Dagster for asset-based orchestration

Dagster is Apache-2.0 licensed and models pipelines as software-defined assets, which helps when an isolated team needs to see what each table depends on before it refreshes. Its asset lineage supports review without an external catalog service. Check how your team will package code releases, since every new library version must be carried across the boundary and verified. Dagster is a reasonable fit where engineers want code-first testing rather than a visual flow builder.

Airbyte for connector ingestion

Airbyte's platform repository is under the Elastic License 2.0, which has terms on providing the software to third parties as a managed service. An internal deployment for your own staff is a different question from a commercial offering, so confirm the license terms with counsel before adopting it. Connector images must be mirrored, versioned and scanned like any other artifact. Ask the vendor or partner which connector images you can rebuild offline and how upgrades are tested.

Apache Superset for internal dashboards

Superset is Apache-2.0 licensed and can run entirely on internal infrastructure, which makes it a practical front end for reporting inside an isolated network. Confirm that the dashboards, metadata database and any cached data stay inside the boundary. Metabase is a common alternative, but its air-gapped deployment is offered on the Enterprise plan, so budget for that tier if you prefer it. Verify the rest of the stack, including SSO and row-level security, against your access model.

DataHub or OpenMetadata for lineage

Both DataHub and OpenMetadata are Apache-2.0 metadata catalogs that record lineage, ownership and data discovery across pipelines. In an isolated network, lineage is what lets auditors trace a figure back through each transfer and transformation. Confirm that the catalog's search index, ingestion agents and connectors all run locally and do not call external services for metadata or telemetry. Choose one based on which connectors cover your sources, and test that the chosen tool can ingest from your orchestrator without internet access.

How an air-gapped pipeline rollout runs in phases

The sequence moves an ingestion and orchestration platform from an inventory of sources and update paths into a network where every image, connector and package has been verified, transferred and tested before the pipelines depend on it. Each phase closes with a written output that the next phase relies on.

  1. Inventory sources, zones and update paths

    DeployOpen works with your data engineering, network and security teams to list every source system, destination warehouse, and network zone the pipelines will cross. The team records which zones have no internet access, which approved media or transfer gateways exist, and who signs off on bringing software across the boundary. The output is a written data flow inventory with a zone diagram and an update path for each component, including Airflow or Dagster, the connectors, the message broker if one is used, NiFi, the metadata database and the warehouse. The step is done when the security team has approved the transfer method in writing.

  2. Build the offline artifact set

    On a connected build host, the team assembles the complete bill of materials: container images, Helm charts or manifests, Python packages for DAG dependencies, connector packages, JDBC drivers and documentation. Each item is pinned to a version and checked against its published hash or signature before it is copied to transfer media. Connector versions are chosen to match the orchestrator release line you plan to run, and the team confirms which vendor release line each component belongs to. The output is a signed manifest listing every artifact, its version, its hash and its source, which becomes the reference for every later update cycle.

  3. Install the platform from a private registry

    The artifacts are loaded into a private container registry inside the isolated zone, and the platform is installed from that registry only. For Kubernetes-based deployments, the control plane and cluster images are staged so that cluster creation points at the internal registry rather than public hosts. The metadata database is a production-grade PostgreSQL or MySQL instance with backups, not a test SQLite file, and the team confirms that the chosen database versions are on the orchestrator's supported list. Secrets, connection credentials and TLS certificates are issued from the internal certificate authority. The output is a running platform with a documented install record, and the step is done when a test DAG or flow executes end to end with no outbound calls.

  4. Test controlled transfer and cross-zone flows

    The team exercises the real transfer path: moving a signed artifact bundle across the boundary, verifying hashes on arrival, and rejecting any file that fails. Where NiFi moves data between zones, flows are tested with representative payloads, including malformed records, schema changes and large files, and with the transfer controls the security team specified. The team confirms that flow definitions and DAG code are promoted through the same approved change process as application code. The output is a test report covering transfer success and failure cases, latency observed in the isolated environment, and the list of defects fixed before go-live. The step is done when the security team accepts the report.

  5. Set up monitoring, runbooks and the first offline update

    Monitoring is configured inside the isolated zone using tools that run locally, so job status, task failures, queue depth, resource use and data freshness are visible without a SaaS dashboard. The team writes runbooks for failed runs, backfills, certificate rotation, connector failures and the procedure for taking a new signed bundle across the boundary. Then the first offline update cycle is run from start to finish against a non-production copy, with the results recorded. The output is a handover pack containing the runbooks, alert rules, the artifact manifest, the update log and a list of items the client's own operations team must confirm before taking over support.

How offline connector and image updates work in practice

Offline updates run as a recurring cycle, not a one-time install. Each cycle pulls and verifies new images and connector packages outside the boundary, carries them across the transfer point, loads them into the private registry, tests them in a staging zone and only then promotes them to production. Verification matters here because NERC CIP-013-2 expects supply chain processes to address the integrity and authenticity of vendor software and patches, and the same discipline applies to Airflow images, Python dependencies, NiFi archives and Airbyte connector images carried across the boundary. Record the checksum or signature, the source and the approver for every artifact so the transfer log can be shown to an assessor. Confirm with each vendor which artifacts it publishes for offline use and how it signs them.

Airflow upgrade planning starts with the version calendar. Airflow 2 reached end of life on April 22, 2026, and after that date it gets no fixes, so any air-gapped Airflow 2 deployment is running without security patches. Airflow 3 is the supported line, with 3.3.2 as the current patch release. Check the Airflow 3.3.2 prerequisites against your staging hosts, including the supported Python, PostgreSQL and Kubernetes versions, and remember that the hybrid CeleryKubernetesExecutor and LocalKubernetesExecutor are no longer supported from Airflow 3.0.0. Plan the upgrade as a staged change: test DAG compatibility in the staging zone, then promote the matching image and dependency set together. Patches within a supported line still need the same cycle, so budget for them as recurring work.

NiFi 1.x needs a planned migration. The NiFi project states that 1.x cannot be maintained further because its Jetty 9.4, Spring Framework 5.3 and AngularJS 1.8 dependencies cannot be upgraded in that line, and the migration guidance requires upgrading to 1.27.0 before moving to 2.0.0. The flow configuration also changes from flow.xml.gz to flow.json.gz, and the variable registry expression language scope is replaced by an ENVIRONMENT scope. Inventory every flow, parameter context and controller service before you start, and confirm with the NiFi release notes which of your processors and Python extensions are affected. Keep applying security patches to whichever line you run until the migration is complete, and confirm the current patch releases on the Apache NiFi download page.

Monitoring pipelines without SaaS tooling

Pipeline health in an isolated zone starts with the orchestrator's own status data. Apache Airflow ships a web UI that shows DAG runs, task states, retries and scheduler health, and it stores that history in its metadata database, which you host in the zone. Apache NiFi exposes component status, queue depths, back pressure and bulletins through its own interface and reporting tasks. Dagster provides run and asset status in its UI. Those built-in views need no external service. The open question is what sits on top of them: a metrics store such as Prometheus, a dashboard tool and an alert router each need to be installed from offline packages, and their exporters and integrations need to be confirmed.

  • Built-in status first: Airflow and NiFi both surface run and component state without any extra service, so confirm which views you need before adding tooling.
  • Alert routing offline: Confirm that your alert router can send notifications to an internal mail relay or chat server, and that it does not depend on a vendor cloud endpoint.
  • Offline packages: Mirror every container image, Helm chart and Python package for the metrics stack into the zone's registry before installation.
  • Failure coverage: Alert on scheduler heartbeats, failed task counts and NiFi bulletins, not only on CPU or disk.
  • Scheduler behavior: Airflow can run more than one scheduler, so confirm that alerts still fire if one instance stops.

Ask the implementation partner to show, in writing, which metrics each pipeline emits, where alerts go during an outage and how the monitoring stack itself is updated from offline media.

What auditors ask for from an isolated pipeline

This table maps the evidence an assessor typically asks for from an isolated data pipeline to what each item shows and which component produces it. Read it as a checklist to build before the first transfer, not after an audit request arrives. Confirm retention periods and evidence formats with your auditor before design is locked.

EvidenceWhat it showsComponent that produces it
Verified package and image inventory with hashesExactly which connector images, packages and rules were carried across the boundary, and that each matches the vendor's published checksumTransfer process and internal artifact registry; confirm hash method with the auditor
Transfer logs for each importWhen each media set crossed the boundary, who approved it, and what was accepted or rejectedNiFi flows or scripted transfer jobs in the controlled zone
Orchestrator run historyEvery scheduled and manual run, its status, duration and retries for the pipeline in scopeApache Airflow metadata database or Dagster run storage
Failure records and remediation notesFailed runs, root cause, backfills performed and who signed off on reprocessingOrchestrator alerts, incident tickets and backfill logs
NiFi provenance for transformed dataLineage of each record or flow file from source through each transformation to destinationApache NiFi provenance repository
Change records for DAGs and flowsWho changed which pipeline code or flow, when, and under which approvalGit repository for DAGs, NiFi Registry or flow registry client, and the change ticket system
Retained pipeline logsTask, scheduler and NiFi application logs kept for the period the auditor requiresCentral log store inside the isolated network; confirm retention with the auditor

What buyers ask before an air-gapped pipeline build

What makes an air-gapped pipeline build cost more than an online one?

The main extra cost is the offline supply chain: every container image, package, connector and rule set has to be fetched on an internet-connected side, verified, moved across the boundary and loaded into internal registries and repositories. Each step adds engineering, review and approval effort that an online build skips. Other drivers include building and maintaining an internal mirror, designing the transfer process with the security team, and testing every update in the isolated environment before it reaches production. Ask any partner to split the quote into design, mirror and transfer tooling, connector and pipeline work, and recurring update cycles, so you can see which parts are one-time and which recur. Also confirm whether any commercial editions or connectors are needed, since air-gapped support is often a paid feature in other products.

How long does an air-gapped data pipeline project take?

The timeline is set by the number of sources, the approval path for moving files across zones, and how many network zones the data crosses. Work usually starts with an inventory and a transfer design, then moves to building the internal mirror, deploying the orchestrator and connectors, and running a full test cycle offline. Security review and change approval often take longer than the engineering itself, so start those early. No duration applies to every environment, so request a schedule from your partner that lists milestones, dependencies on your approvers and the scope agreed in writing before work begins.

Can our internal team run an air-gapped pipeline without an outside partner?

A team with Linux, Kubernetes or container operations, database administration and orchestrator experience can run the platform once it is built, provided it has a documented update procedure and tested rollback. The harder skills are offline package management, transfer validation and keeping a mirror current, which many teams have not practiced. Check three things before deciding: whether at least two people can operate the orchestrator and the transfer path, whether on-call coverage exists for failed batch jobs, and whether someone owns the approval step for each update. A partner can build the platform, document it and provide support under a retainer if you want continuity after handover.

Which open-source licenses restrict offline or hosted use of pipeline tools?

Most core orchestration projects are open source without a paid edition from the project itself. Apache Airflow and Apache NiFi are licensed under Apache-2.0, and Dagster is also Apache-2.0. Airbyte's platform repository is licensed under the Elastic License 2.0, which restricts providing the software to third parties as a hosted or managed service, so confirm how your use fits that wording with your counsel. Metabase is AGPL outside its enterprise directory, and its air-gapped deployment is offered on its Enterprise plan. Review each component separately, including connectors, because a connector's license can differ from the platform's license.

How do we update connectors, images and orchestrators without internet access?

Updates follow a controlled transfer cycle: the upgrade is downloaded on a connected system, its checksums and signatures are verified, the artifacts are copied into the isolated zone through your approved transfer path, loaded into internal registries and package repositories, and tested in a staging copy before production. Apache Airflow 2 reached end of life on April 22, 2026, and gets no fixes, so plan migrations to the 3.x line. NiFi 1.x can no longer be maintained, so NiFi 2 is the line to plan for. Ask your partner for a written update calendar, a rollback procedure and an owner for each approval.

What do we need to provide before an air-gapped pipeline build starts?

The engagement needs four inputs from your side:

  • Network diagrams showing every zone, boundary device and approved transfer path
  • A source and destination inventory with data classifications, owners and volumes
  • A list of named approvers for transfers, changes and production access
  • Access to existing registries, identity systems and monitoring so the build can reuse them

For utilities or industrial sites, also provide the operational technology boundary rules, since NERC CIP-005-7 requires interactive remote access to pass through an Intermediate System with multi-factor authentication. Agree these inputs and the scope in writing before work begins.

What to ask an implementation partner before signing

Start with the boundary, because every other risk in an air-gapped pipeline passes through it. Ask the partner to describe, step by step, how a container image, connector package, Airflow provider or NiFi NAR file is verified before it crosses into the isolated zone: who signs the transfer manifest, which checksums or signatures are recorded, where the hashes are stored, and who can override a failed check. Ask how the partner keeps a software bill of materials for every carried artifact, since NERC CIP-013-2 expects procurement processes to address verification of software integrity and authenticity for vendor software and patches. Ask for a sample transfer record from a past or illustrative engagement, labeled as illustrative, so you can judge whether it would survive an auditor's questions.

Next, ask how the partner handles version lifecycles without internet access. Airflow 2 reached end of life on April 22, 2026 and gets no fixes, and NiFi 1.x can no longer be maintained because of its Jetty, Spring and AngularJS dependencies, so both lines need a dated upgrade path that is planned around the offline transfer cycle. Ask which Airflow and NiFi versions they would deploy today, how they would confirm each patch is published and mirrored into the enclave, and what happens to a flow built on NiFi 1.x that needs the 1.27.0 step before 2.0.0 and the move from flow.xml.gz to flow.json.gz. Then ask how an offline update is tested: whether there is a staging copy of the enclave, how DAGs and flows are regression tested against a mirrored source, and how a rollback image is kept on hand. Ask who owns on-call when the network is isolated and whether the on-call runbook works without vendor support portals or external alerting.

Finally, ask about cross-zone NiFi flows and written scope. Request the partner's configuration for authentication (for example, client certificates or OpenID Connect against a directory inside the enclave), the way the UI is bound and exposed, how cluster state is coordinated, and how flows that move data from the high zone to the low zone are reviewed and approved. Ask who holds the keys for the transfer and how credentials for source systems are rotated without internet access. Before signing, ask the partner to show the written scope: the list of platforms, the artifacts in and out of the boundary, the named responsibilities for on-call and patching, the test plan, the handover documents and the evidence each deliverable produces. Scope that is not written down cannot be checked after the engagement starts.

How DeployOpen scopes and supports air-gapped pipelines

Does DeployOpen build and run data pipelines inside our own air-gapped network?

Yes. DeployOpen plans, implements, hardens, documents and supports self-hosted open source platforms inside the client's own infrastructure, including air-gapped networks, meaning the client's own cloud accounts, data centers or isolated environments. The work covers the orchestrator, connectors, metadata store, registries used for offline images and packages, and the monitoring stack. Before any work begins, the team confirms which source systems, destinations and network zones are in scope, because an isolated enclave changes almost every design decision, from how images arrive to how alerts leave the network. Ask any partner to show which parts of the stack run without outbound connections and how they were tested.

How is the scope of an air-gapped pipeline engagement agreed?

Most DeployOpen engagements are fixed-scope, with scope, deliverables and timelines agreed in writing before work starts. For an air-gapped pipeline, a useful written scope names the platforms (for example Airflow, Dagster, Airbyte, Kafka or NiFi), the source and destination systems, the transfer points between zones, the offline update process, the monitoring and alerting targets, the hardening baseline, the documentation set and the handover acceptance criteria. It should also state what the client must provide, such as hardware, approved software intake, network diagrams and named owners. Anything not listed is a change request, so agree on how changes are priced and approved before signature. Illustrative example: a scope that omits the offline package intake process will leave the team unable to patch after go-live.

What does a DeployOpen quote depend on for air-gapped pipeline work?

DeployOpen does not publish a price list, and a quote follows from the written scope. The main drivers are the number of platforms and pipelines, the number of source systems and connectors that must be built or validated offline, how many network zones and transfer points exist, the depth of hardening and testing required, and the documentation and evidence the client expects. Costs fall into one-time work (design, installation, hardening, initial pipeline build, testing and handover) and recurring work (upgrades, offline update cycles, monitoring, and support). Ask for the quote to separate these, to list assumptions about the environment, and to state what happens if the client's network team changes the transfer process mid-project.

Can our own team run the air-gapped pipelines without an ongoing partner?

Many organizations can, provided they have skills in the chosen orchestrator, Linux and container operations, and the offline update process, and they have staff on call. The open source platforms in this stack carry no license fee, but the labor to operate them is real. Apache Airflow and Apache NiFi are Apache-2.0 projects with no paid edition from the project itself, so the cost of running them is staff time, infrastructure and any support contract the client chooses. A DeployOpen retainer covers ongoing support and upgrades, and a fixed-scope project can end with a documented handover so internal staff take over. Decide early which model fits, because an upgrade calendar that nobody owns is the most common reason pipeline stacks drift out of support.

What do ongoing support and upgrade retainers cover for offline pipelines?

Ongoing support and upgrades are available as retainers. For offline pipelines, that usually means reviewing vendor release notes, preparing and testing new images and packages in a staging enclave, moving them through the approved transfer process, applying the upgrade in a planned window, and checking that connectors, DAGs and flows still run. Support can also cover monitoring tuning, access reviews, backup restore tests and incident response. The support scope should state response expectations in writing, which DeployOpen would define in the agreement rather than assume. Ask whether the retainer includes a version support review, because upstream end-of-life dates, such as the Airflow 2 end of life on April 22, 2026, force upgrades whether or not anyone planned them.

Does DeployOpen test the security of the pipeline stack?

DeployOpen runs security testing across applications and APIs, cloud and infrastructure, AI systems and agents, and red teaming. For an air-gapped pipeline stack, that testing can target the orchestrator web interface and API, authentication configuration, secrets handling for source credentials, the transfer and import path between zones, container images and their provenance, and the exposure of monitoring endpoints. Test plans should be agreed in writing, with clear rules of engagement and a remediation process. Note that testing can only confirm what is in scope on the test date, so re-testing after upgrades is a separate item to include in the scope or retainer.

What compliance evidence does DeployOpen prepare for an air-gapped pipeline?

DeployOpen prepares systems, controls and evidence for compliance assessments, but it does not issue audit reports, attestations or certifications. Independent auditors and certification bodies perform those assessments. Evidence typically includes architecture and data-flow diagrams, the list of offline packages and images with their checksums, the transfer procedure and approval records, configuration baselines, access and change records, backup and restore test results, and alerting and monitoring configurations. For utilities, NERC CIP-013-2 asks for supply chain processes that verify software integrity and authenticity, which maps directly to the package intake step. Confirm with your assessor which artifacts they expect before the build starts, because retrofitting evidence is slower and less reliable than collecting it during delivery.

What should I ask an air-gapped pipeline partner before signing?

Ask for the scope in writing, including platforms, source systems, network zones and transfer points, and ask how each offline update is tested before it reaches production. Ask who performs the upgrades after go-live, how the partner documents the environment, and what evidence will exist at handover. Ask whether security testing is included, which parts of the stack will be tested, and how retests after upgrades are scoped. Ask how the partner will handle a licensing question, such as whether a connector or module requires a paid edition for air-gapped use, since some vendors reserve offline deployment for paid tiers. Finally, ask for references in the form the partner is permitted to share, and for the named engineers who would do the work.

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.