Apache Airflow for financial services

Self-hosted Apache Airflow 3 for banks, insurers and payment companies, with scheduling controls, secrets, access and recovery planned for the evidence your audits and supervisors ask for.

On this page

Why Apache Airflow 3 fits financial batch pipelines you must control

A finance team's nightly reconciliation, regulatory reporting run and ledger load often depend on a scheduler that few people understand and that nobody wants to change. Apache Airflow is a practical option for moving those batch jobs onto infrastructure you control, because the project is licensed under the Apache License 2.0 and has no paid edition from the Apache Software Foundation. Your costs are the infrastructure, the people who run it and any partner work you buy, not a license fee that changes the cost of the software itself. The first decision is the version. Airflow 2 reached end of life on April 22, 2026, so it receives no fixes, and a new regulated deployment should start on Airflow 3, first released on April 22, 2025, with the current patch release listed as 3.3.2.

Airflow 3 also changes the architecture you would be approving. The webserver is replaced by an API server started with airflow api-server, the DAG processor runs as a separate component, and task code no longer touches the metadata database directly. Those changes affect how you isolate teams, where you place secrets and what you can show an auditor about who ran what. The project's own guidance is that SQLite is for testing only and that PostgreSQL or MySQL is recommended for production, so confirm your metadata database platform, its backup approach and its support status against the prerequisites before you size anything. Check your current DAGs against the upgrade guide if you are migrating from Airflow 2, since the guide requires Airflow 2.7 or later before the move.

This page covers what changes for a regulated buyer: how the scheduling and access controls map to SOX and ICFR evidence, what DORA expects from ICT service contracts and exit plans, how segregated teams and enterprise vault secrets fit the design, and how Airflow can run alongside mainframe-era schedulers during a phased cutover. Treat the sections that follow as a checklist to take into your own risk assessment, and ask any implementation partner to show how each control is evidenced in your environment rather than in a generic reference setup.

Which financial requirements shape the Airflow build

This table maps each financial requirement to the source that sets it, what it asks of a self-hosted Airflow deployment, and where teams usually miss it. Read it as a list of design questions to settle before build, not as a compliance determination. Auditors, supervisors and the card brands decide the actual scope for your organization.

RequirementWhat the source asksWhat it means for the Airflow build
SOX Section 404 IT general controlsSEC Release 33-8810 names program development, program changes, computer operations and access to programs and data as example IT general control areasTreat DAG code changes as controlled changes with review and approval records, restrict who can deploy DAGs and alter scheduler settings, and keep run history for scheduled jobs that feed financial reporting. Auditors decide which areas apply.
DORA Article 28(3) registerA register of information covering all contractual arrangements for ICT servicesList the Airflow deployment and every supporting service it depends on, such as the metadata database, container registry, secrets vault and cloud provider, with owner and contract reference for each.
DORA Article 28(8) exit strategyDocumented, tested exit strategies and transition plans for ICT services supporting critical or important functionsKeep DAG code in your own version control and export schedules and metadata in a usable form. Document how pipelines would move to another scheduler, and test that plan rather than writing it once.
DORA Article 30(2) contract termsICT service contracts state where services are provided and data processed, give advance notice of changes, and cover data return on terminationAsk any implementation or support partner to confirm hosting location, data handling, change notice and data return terms in writing. Self-hosting keeps Airflow inside your infrastructure, but the contract still needs these terms.
FTC Safeguards Rule MFA16 CFR 314.4(c)(5) requires multi-factor authentication for any individual accessing any information system unless the Qualified Individual approves an equivalent control in writingApply MFA to the Airflow UI, API server and any administrative access path through your identity provider. Record any approved equivalent control in writing. This applies to non-bank institutions under FTC jurisdiction.
PCI DSS v4.0.1 scopeApplies where systems store, process or transmit cardholder data or could affect the security of the cardholder data environmentKeep payment data out of DAG code, logs and XCom values where possible. If a pipeline touches cardholder data, it may fall inside the cardholder data environment, which brings the Airflow hosts, database and network paths into scope. Confirm scope with your QSA.
Swift Customer Security Controls FrameworkSwift users must have the controls independently assessed and attest compliance annually in KYC-SA; the framework lists 32 controls, 26 mandatory and 6 advisoryIf Airflow pipelines prepare, route or reconcile payment messages, the systems that connect to Swift fall within the controls. Keep such pipelines in a segregated environment with restricted access, and confirm with your Swift assessor which components are in scope.
Segregation of duties and access evidenceAuditors test whether access to programs and data is appropriate and approved, using IT general control evidenceMap Airflow roles to job functions such as DAG author, operator and administrator. Confirm that the auth manager and role mapping you choose can produce access lists that a reviewer can sign off on.

How SOX-relevant batch jobs become controlled DAGs

SEC guidance names four IT general control areas that management may need to evaluate for a SOX Section 404 assessment: program development, program changes, computer operations, and access to programs and data. For an Airflow estate, those areas map onto DAG code promotion, scheduled job records, run logs, and who can change the scheduler and its configuration. The guidance (Release 33-8810) also says management only needs to evaluate the ITGCs necessary for the proper and consistent operation of controls that address financial reporting risks, so the first task is to identify which DAGs feed financial statement balances. A nightly ledger reconciliation DAG is in scope. A marketing attribution job usually is not. Agree that list with your auditors and your finance controllers before you design anything else.

Because no SEC rule or PCAOB standard publishes a fixed IT general control catalog, the control set is yours to define and your external auditor will test against it. A practical design treats each in-scope DAG as a change item. Code lives in a version-controlled repository, changes go through review, and only tagged versions reach the production Airflow environment. Airflow 3 separates the DAG processor from the API server and scheduler, so the promotion pipeline should deploy DAG bundles from an approved source rather than letting anyone copy files onto a running component. Confirm with your team how DAG delivery is configured in your chosen deployment model before you write the control narrative.

On the operations side, evidence comes from three places: the metadata database that records DAG runs and task instances, the task logs your retention policy keeps, and the audit trail of who changed connections, variables and user roles. Restrict write access to the scheduler, the metadata database and the secrets backend to a small operations group, and separate that group from DAG authors. Confirm how your chosen auth manager maps roles, and whether your retention settings keep run history long enough for the period an auditor samples. Record the answers in the control narrative, because the auditor will ask for them.

Airflow components and settings that matter for banks and insurers

A bank or insurer running Airflow for regulated batch jobs makes a handful of platform decisions early: the metadata database, scheduler and executor layout, how components are separated, who can sign in, where secrets live, and what task code is allowed to touch. Each choice affects change control, access and recovery evidence later.

PostgreSQL as the metadata database

The metadata database holds DAG run state, task history and connections, so it is the first thing an auditor or recovery plan will ask about. The production guide recommends PostgreSQL or MySQL, and the Airflow 3.3.2 prerequisites list PostgreSQL 14 to 18 and MySQL 8.0, 8.4 and Innovation releases. MariaDB is not supported, and SQLite is for testing only because it can lose data. Confirm the version you will run, and plan backups and restore tests for this database as part of your recovery evidence.

Multiple schedulers with row-level locks

Airflow can run more than one scheduler at the same time, coordinating through database row-level locks. This gives resiliency when one scheduler fails, but it also means the database must handle the extra locking load and that scheduler health must be monitored. For month-end or regulatory batches, ask how a failed scheduler is detected and how quickly work resumes, and test that behavior in a non-production environment before relying on it.

Executor choice and mixed executors

The executor decides where tasks run: KubernetesExecutor, CeleryExecutor and LocalExecutor are the common choices, and the executor list also includes EdgeExecutor and AWS Batch and ECS executors. Since Airflow 2.10.0, several executors can run in one deployment. The hybrid CeleryKubernetesExecutor and LocalKubernetesExecutor are no longer supported as of Airflow 3.0.0, so any design that depended on them needs a different split before migration. Map each batch class to an executor and document that mapping for change records.

Separate DAG processor and API server

In Airflow 3 the webserver is replaced by an API server started with the airflow api-server command, and the DAG processor must run as its own component. Each process can be scaled, restarted and access-controlled separately, which helps when you need to show that users who change DAG code are not the same people operating the control plane. Plan the process layout, service accounts and network paths before the first production deployment.

Auth manager and identity provider

Airflow 3 uses the Simple auth manager by default, which is not suited to a bank's access model. Only one auth manager can be active at a time, set by the auth_manager option. The FAB auth manager comes from the FAB provider package, and Keycloak is available through its own provider. Decide which identity source is authoritative for Airflow roles, map those roles to DAG-level permissions, and confirm the chosen provider with your identity team before the build starts.

Enterprise vault and Task SDK boundaries

Connections and variables should be read from your enterprise vault through a secrets backend, not stored in the metadata database. Separately, Airflow 3 blocks task code from using database sessions or models directly and requires the REST API or Task SDK instead. These rules limit what a DAG author can change in shared state, so confirm which vault your security team has approved, test the secrets backend in staging, and treat any task that bypasses the SDK as a finding to review.

Segregating teams, environments and duties in one Airflow

A single Airflow deployment serves several teams, and separation is enforced through DAG folder structure, Airflow 3 auth manager roles and naming conventions. Access is granted per team and per DAG or team scope, so a finance reporting team cannot change a payments reconciliation DAG unless its role allows it. This option has the lowest run cost because one scheduler, metadata database and API server are maintained, but it concentrates risk: a misconfigured role or a shared connection can reach more pipelines than intended.

  • Access model: Roles are mapped from your identity provider to Airflow permissions, with DAG-level access where your Airflow version and auth manager support it. Confirm the exact granularity for your chosen auth manager before you rely on it.
  • Evidence produced: One access review covers all teams, and one set of logs records changes to DAGs, connections and variables. Auditors will ask how you prove that team boundaries held, so keep role exports and review sign-offs.
  • Connection sharing: Shared connections and secrets backends mean one team's credentials may be readable by another team's DAG author unless you scope them. Plan connection naming and backend paths per team.
  • Operational cost: The platform team owns folder standards, role reviews and onboarding for every team. Costs rise with team count, not with infrastructure.
  • Blast radius: A scheduler or database fault stops every team's pipelines at once.

Before committing, ask your auditors whether role-based separation within one system is sufficient for the in-scope financial reporting processes.

What DORA expects from change and recovery in pipeline platforms

DORA has applied since January 17, 2025 to 20 types of financial entity, from credit and payment institutions to insurers, and it applies directly without national transposition. For an Airflow deployment, the duties that matter most sit in Chapter V on ICT third-party risk. Article 28(3) requires a register of information covering every contractual arrangement for ICT services, so the platform's open-source components, hosting providers, managed database services and any partner that installs or supports Airflow each need a recorded entry. Article 28(8) requires documented and tested exit strategies and transition plans for ICT services that support critical or important functions. A payment or month-end reconciliation DAG will usually fall into that category, so the exit plan should name the Airflow metadata database, DAG repository, secrets references and the scheduling logic that would have to move if the platform changed.

Article 30(2) requires every ICT services contract to state where services are provided and data processed, to give advance notice of changes, and to cover data return on insolvency or termination. When Airflow runs in your own accounts, the location question is largely answered by your own infrastructure, but a partner's support access, remote logging or a hosted container registry still needs to be written into the contract. Backups of the metadata database (PostgreSQL or MySQL, not SQLite), DAG bundles and configuration should be stored in locations named in the agreement, and restore tests should be scheduled and recorded. The restore test is the evidence that turns a backup into a recovery capability. Confirm with your compliance team which of these items your competent authority expects in the register and in the exit plan, since the regulation itself does not prescribe a format.

DORA sets no certification scheme. Nothing in the Regulation lets a vendor or a partner certify that an Airflow deployment is DORA compliant, and the only authority-issued attestation the Regulation provides for is that a threat-led penetration test met its requirements under Article 26(7). Treat any claim of DORA certification for a platform or a service as a warning sign. What your team can produce is evidence: the register entries, the tested exit plan, backup and restore records, and change records for DAG and platform upgrades. Supervisors assess that evidence against the Regulation, so the reader should ask a delivery partner to show how each artifact is produced, who owns it after handover, and how it is kept current as Airflow releases move on.

How a financial services Airflow rollout runs

The sequence moves scheduled jobs from an existing scheduler into self-hosted Airflow 3 in a controlled way, so each stage produces evidence that change, access and recovery controls were applied before production depends on the new platform.

  1. Inventory schedules and dependencies

    Your team and the DeployOpen engineers list every batch job, its owner, its upstream and downstream dependencies, its data classification, and the controls that depend on its output, such as reconciliations or regulatory extracts. The output is a job inventory that marks which jobs support financial reporting or critical functions, since those will need the strictest change and recovery handling. Done when each job has a named owner and a documented dependency map that your risk and audit contacts have reviewed.

  2. Confirm the upgrade path

    If any existing Airflow exists, the team confirms the installed version. Airflow 3 requires Airflow 2.7 or later before the upgrade, and the upgrade guide recommends moving to the latest 2.x first. DAG code is checked with the Ruff AIR301 and AIR302 rules, and task code is reviewed for direct database session or model use, which Airflow 3 no longer allows. Done when every DAG has a recorded check result and the blocking findings have an owner and a fix plan.

  3. Build the platform on the chosen runtime

    DeployOpen builds the Airflow 3 environment in your infrastructure, using the executor, metadata database, DAG delivery method and container approach your architecture review selected. The build uses supported PostgreSQL or MySQL versions for the metadata database, separates the API server from the DAG processor, and avoids the SQLite backend outside testing. Done when the environment passes build and smoke tests, and the configuration, versions and image sources are recorded in version control.

  4. Wire secrets and single sign-on

    Connections and credentials are moved to your enterprise vault, and the chosen auth manager is connected to your identity provider with role mappings that match segregated duties between developers, operators and approvers. Access to production DAGs and connections is tested with accounts from each role. Done when a sample of credential retrieval and login attempts behaves as the access design requires, and the test results are stored with the change record.

  5. Run the new scheduler in parallel

    Migrated jobs run on Airflow alongside the existing scheduler for a period your written scope sets, with outputs compared against the legacy results for accuracy, timing and failure handling. Differences are logged and resolved before any job is switched. Done when each job shows matching outputs across the parallel window, and every discrepancy has a documented cause and resolution.

  6. Execute a controlled cutover

    Jobs move to Airflow in agreed groups, with a change ticket, approval from the business and technology owners, a rollback plan and a recovery test for the metadata database and DAG repository. Legacy schedules are disabled only after the group is confirmed working. Done when each group has an approved change record, a tested rollback path, and a confirmed cutover log.

  7. Collect post-cutover evidence

    After cutover, the team gathers evidence for auditors and supervisors: change records, access reviews, run logs, alert history, backup and restore results, and the register entries for the ICT services involved. Gaps are assigned owners and dates in your own tracking system. DeployOpen prepares this evidence, but auditors and certification bodies decide whether controls are effective. Done when the evidence pack is filed and reviewed by your compliance lead, and open gaps have named owners.

Questions finance teams ask before hiring an Airflow partner

What drives the cost of a self-hosted Airflow engagement?

The cost follows the written scope, which sets the number of environments, the executor and worker model, the number of data sources and secrets backends, the identity integration, and the number of DAG families to migrate or build. Part of the cost is one-time: architecture, installation, hardening, integration and cutover. Part recurs: upgrades, patching, backups, monitoring and on-call support, which can be covered by a retainer. Ask any partner for a quote that separates these two groups and lists the assumptions behind each line. DeployOpen does not publish a price list, and a quote follows from the agreed written scope.

Can our data engineering team run Airflow in-house without a partner?

Often yes, if the team already operates Kubernetes or VM-based services, has a database administrator, and can staff a change process that meets internal control expectations. The harder parts for a bank are usually not the installation. They are the metadata database design, secrets integration with the enterprise vault, separation of duties between DAG authors and platform administrators, and evidence of change control. Airflow 3 also changed the architecture: the API server and the DAG processor are separate components, and task code must use the REST API or Task SDK instead of database sessions. Compare the skills you have against that list before deciding.

What does the bank need to provide during the engagement?

Plan for named owners on the bank side for the platform, security, change management, and each business process whose jobs move to Airflow. Access is needed to the target environments, the vault, the identity provider and source and target systems, typically through accounts approved in advance. Change windows must be agreed for cutover and for any production scheduler that runs in parallel. Representative data samples, with masking approved by your data protection team, are needed to build and test DAGs. Ask each partner to list these dependencies in the scope document, with the person responsible and the date each one is needed.

How long does a rollout take, and what sets that timeline?

The duration depends on the scope, not on a standard template. The main drivers are the number of job families and their dependencies, how many upstream and downstream systems must be connected, the vault and identity integrations, the approval path for production changes, and whether the bank runs a parallel period before cutover. Parallel running on jobs that feed regulatory or financial reporting usually takes longer than a clean build because outputs must be reconciled. Ask for a timeline tied to written milestones and to named dependencies on the bank side, rather than a single duration.

Does Airflow issue audit reports or attestations for SOX or DORA?

No. Apache Airflow is open-source software and does not issue audit reports, attestations or certifications. Independent auditors, and for Section 404 the external auditor, test internal controls, and the bank's management performs its own assessment. DeployOpen prepares systems, controls and evidence for those assessments, such as job scheduling controls, change records, access reviews and logging, but it does not issue audit reports. Discuss with your auditors which evidence they will request and in what form before the design is finalized.

How is coexistence with a mainframe or enterprise scheduler handled?

Coexistence is usually staged. Teams first inventory the jobs, their dependencies and their outputs, then classify which jobs move, which stay, and which are triggered across the boundary. Cross-scheduler triggers, shared file or database handoffs, and calendar differences are the usual sources of failure, so they are designed and tested explicitly. Parallel runs compare outputs before any job is retired on the legacy scheduler. Ask the partner to describe how dependency state, failure notifications and reruns work across both systems, and who owns each boundary during the transition.

Which Airflow version and license should a bank plan around?

Apache Airflow is released under the Apache License 2.0, and the project itself offers no paid edition. Airflow 3 was first released on April 22, 2025, and Airflow 2 reached end of life on April 22, 2026, after which it receives no fixes. A new deployment should start on Airflow 3. Ask the partner to confirm the supported Python, PostgreSQL and Kubernetes versions against the current prerequisites before finalizing the build, and to name who will apply patch releases and security fixes after go-live.

Compliance evidence DeployOpen prepares and what auditors decide

DeployOpen prepares systems, controls and evidence for compliance assessments, but it does not issue audit reports, attestations or certifications. For an Airflow deployment in a bank, insurer or payment company, that means DeployOpen can configure the scheduler, metadata database, DAG delivery path, secrets backend and access model so they can be examined, and can organize the records an assessor will ask for. The opinion itself comes from the assessor the organization engages, whether an external auditor, a Qualified Security Assessor or the internal audit function. Ask early which assessor will test each control and what format they expect the evidence in, because that decides how the deployment should log and retain change and access records.

PCI DSS scope is the first question to settle when cardholder data passes through a pipeline. The standard applies to entities that store, process or transmit cardholder data or could affect the security of that environment, so a DAG that moves card transactions into a reporting warehouse, or a worker that can reach the cardholder data environment, can bring the Airflow hosts, their database and their secrets into scope. The payment brands decide who must validate and the assessment type, a Report on Compliance by a Qualified Security Assessor or a Self-Assessment Questionnaire, and each produces an Attestation of Compliance. Confirm the assessment type with your acquirer or the relevant brand before designing network segmentation, because the answer changes how much of the Airflow estate must be tested. The PCI Security Standards Council FAQ on enforcement explains why the Council itself does not make this call.

Swift users face a separate attestation. Under the Swift Customer Security Controls Framework, the controls must be independently assessed and the organization attests compliance each year in the KYC-SA application, and Airflow hosts that initiate or handle Swift messages fall within that framework. Confirm with your Swift security officer which architecture components are in scope, then decide whether Airflow workers that touch payment files run in a segregated zone with their own credentials and logs. DeployOpen can prepare the evidence for that zone, including access reviews and job change records, but the attestation is the institution's own statement, submitted through Swift and supported by the independent assessor.

How DeployOpen scopes and delivers Airflow for regulated finance

DeployOpen plans, builds, documents and supports self-hosted Apache Airflow inside the infrastructure you control, including the cloud accounts, data centers or air-gapped networks your payment, banking and insurance workloads run in. Engagements start with a written scope that fixes deliverables and timelines before any build work begins.

How we scope

  • Map which batch jobs feed financial reporting, payments or regulatory submissions, and which of them need change and access evidence.
  • Agree the Airflow 3 target version, metadata database, executors and deployment platform in a written scope before work starts.
  • Define the controls each team needs, including who can change DAGs, who can read connections and where logs are retained.

How we build

  • Install Airflow 3 with PostgreSQL or MySQL as the metadata database, separate DAG processor and API server components, and planned worker capacity.
  • Connect secrets to your enterprise vault and set up single sign-on through the auth manager your identity provider supports.
  • Test scheduler failover, DAG delivery from version control and restore of the metadata database before cutover to production.

How we hand over

  • Document the architecture, configuration, role model, runbooks and the change procedure your audit and operations teams will follow.
  • Deliver control evidence such as access reviews, job run logs and change records in a format your internal audit and external auditors can review.
  • Run a handover session with your platform, data and security teams so they can operate the environment without DeployOpen.

How we support

  • Plan Airflow version upgrades around the published support windows, starting with checks of DAG code for Airflow 3 compatibility.
  • Offer ongoing support, upgrades and continuous testing as a retainer, with scope agreed in writing.
  • Confirm with your compliance and risk teams which regulatory assessments and third-party reviews the environment must be ready for, since DeployOpen prepares evidence but does not issue audit reports or certifications.

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.