Keycloak for financial services

Keycloak for banks, payment firms and fintechs, covering the sign-in service design, staff access settings, and evidence that regulators and assessors ask for. Scoped to infrastructure you control.

On this page

Why Keycloak for financial services sign-in needs its own design

A financial institution rarely runs one sign-in service for one purpose. The same identity layer usually fronts customer APIs, staff consoles, payment applications and back-office tools, so a single outage or weak control touches every channel at once. That makes sign-in a critical dependency, and its design should begin from that fact. Keycloak fits this profile for a clear reason: it is open source under the Apache 2.0 license, supports OpenID Connect, OAuth 2.0 and SAML 2.0, and can run in cloud accounts, data centers or air-gapped networks that the institution controls. Customer and staff authentication then stays inside the institution's own trust boundary, and its own team decides when each component changes.

Availability is the first area where a generic deployment falls short. Keycloak documents three high availability architectures: a single cluster that can be spread across availability zones, multi-cluster deployments (v2) that run without an external Infinispan cluster, and the deprecated multi-cluster v1 design that used a separate Infinispan cluster per site. Both supported designs depend on a synchronously replicated database, so the database platform, its replication mode and its failover behavior become part of the sign-in design. Choose a database from Keycloak's supported list and confirm which PostgreSQL versions the release supports. Then run a failover test that measures how sign-in behaves during a database switch. Decide early whether a second site is a hard requirement or a recovery option, because that answer determines the architecture.

Staff access is where the PCI DSS requirement 8 settings and the FTC Safeguards Rule meet. The FTC rule requires multi-factor authentication for any individual accessing any information system, unless the institution's Qualified Individual approves an equivalent control in writing. For Keycloak, that means applying MFA to every realm and client that serves admin consoles, payment operations and privileged staff tools, and verifying each realm's second factor policy. Keycloak supports OTP policies, W3C WebAuthn, passkeys and recovery codes, so the team must decide which factors are allowed for staff, how recovery is verified and who may reset a second factor. The administration console and Administration REST API should also sit on a different hostname or context path from public frontend URLs, which keeps staff administration off the customer-facing route.

Audit evidence is the part of the design that internal reviewers and external assessors test most closely, so its settings need to be decided before go-live. Keycloak 26.8 persists login failures to the database by default. That gives the institution a record of failed sign-ins, but it also makes database retention, storage growth and access to that data design decisions. Metrics are a separate concern. Keycloak exposes Prometheus-format metrics at /metrics on its management interface when started with metrics enabled, so sign-in latency, error rates and cache health can feed the institution's existing alerting. Before go-live, confirm which authentication and administrative events must be retained, where they are forwarded, how long they are kept and who can read them. Document those answers so they map to the controls your assessor will ask about.

Change control is where a self-managed identity service most often drifts from its approved state. Keycloak plans four minor releases a year and a major release every two to three years, and the project states that breaking changes in a minor release will be opt-in. The 26.8 upgrade notes add enforced SMTP StartTLS without plaintext fallback, mandatory signature validation for backchannel logout tokens from external providers, and a recommendation to move from the deprecated multi-site feature to the stateless one. Each upgrade therefore needs a documented impact review. Keycloak also migrates its database schema automatically at startup by default, while large deployments can apply the SQL manually. The Operator documentation strongly recommends manual approval mode for operator updates. Write these choices into your change process, test every upgrade in a staging environment that mirrors production and record who approved each change.

Which financial requirements shape the Keycloak build

This table maps each financial requirement covered on this page to its source and to the part of the Keycloak build it affects. Whether a requirement applies depends on your institution's license and activities, so confirm applicability with your assessor or regulator before you design around it. The main takeaway is that MFA, admin access control, change evidence and provider contract terms drive most of the configuration and documentation work.

Requirement and sourceWhat it asks forWhat it means for the Keycloak build
PCI DSS scope (PCI Security Standards Council)Controls for systems that store, process or transmit cardholder data, or that could affect that environment.Define which Keycloak realms, clients and admin paths fall inside the cardholder data environment.
PCI DSS v4.0.1 status (PCI Security Standards Council)v4.0.1, published 11 June 2024, is the only active version, and v4.0 requirements became effective 31 March 2025.Map password, MFA and session settings to v4.0.1 and confirm the version your assessor will test against.
DORA Article 28(3) and 28(8) (EUR-Lex, Regulation (EU) 2022/2554)A register of ICT contractual arrangements, and documented, tested exit strategies for services supporting critical or important functions.Record Keycloak in the ICT register and test exporting realms, users and client configuration as part of exit.
DORA Article 30(2) (EUR-Lex, Regulation (EU) 2022/2554)Contracts state where services are provided and data processed, give advance notice of changes, and cover data return on termination.Confirm hosting locations for identity data and backups in the support contract, including data return terms.
FTC Safeguards Rule, 16 CFR 314.4(c)(5) (eCFR)Multi-factor authentication for any individual accessing any information system, unless the Qualified Individual approves an equivalent control in writing.Enforce MFA on every sign-in path, including the admin console, and file any written equivalent-control approval.
SEC ITGC areas, Release 33-8810 (SEC)Program development, program changes, computer operations and access to programs and data, relevant to SOX 404 assessments.Place realm and client changes under change control, keep admin event logs, and review admin role assignments.
Swift Customer Security Controls Framework v2026 (Swift)32 controls, 26 mandatory and 6 advisory, with independent assessment and annual attestation in the KYC-SA application.Identify which controls touch Keycloak, such as access to Swift-connected systems, and collect evidence for the assessor.

How Keycloak supports customer-facing APIs with FAPI and CIBA

In an open banking style design, Keycloak sits on the path of many customer API calls. It acts as the authorization server that issues OAuth 2.0 and OpenID Connect tokens to customer-facing apps, aggregators and licensed third parties that call your APIs. Before any profile work starts, inventory those API clients: which are public (such as mobile and browser apps) and which are confidential server-side clients, which grant types each one uses, which realms or clients hold the APIs, and which consent screens the customer sees. That inventory determines where a higher-assurance profile is needed and where the existing configuration is enough.

FAPI, the Financial-grade API security profiles published by the OpenID Foundation, tightens OAuth and OpenID Connect for financial APIs. It typically constrains client authentication, token binding or sender constraint methods, and how requests and responses are signed or protected. Keycloak's features documentation covers FAPI security profiles, but the options it exposes, their defaults and the exact behavior can change between minor releases. Confirm profile support and version behavior against the current Keycloak documentation and against the release you plan to run before you commit to a design. Any conformance claim should come from your own testing or an independent assessor, not from this page.

CIBA, Client-Initiated Backchannel Authentication, matters when the device that starts a transaction is not the device where the customer approves it. Typical cases include a merchant or call-center agent initiating a payment or a sensitive change, with the customer approving on a registered phone or app. Decide whether you need this flow at all, which party initiates it, how the approval request reaches the customer, and whether your client will poll for the result or receive a notification. Check which CIBA modes and binding message options your chosen release supports, because support in the documentation does not settle how your integration will behave end to end.

Scoping is the decision that drives effort. Separate the APIs that need FAPI requirements (for example, account information and payment initiation, if those are in your product) from internal or low-risk APIs that can stay on standard OpenID Connect. Keep the token lifetimes, client registration policy and consent handling for each tier written down. Release 26.8 notes make signature validation of backchannel logout tokens from external providers mandatory, which can affect any federated partner you connect, so review those partner integrations before upgrading. Ask any delivery partner for a written list of the profile options configured, the clients they apply to and the tests that prove them.

Operations and verification come last but determine whether the design holds. Keep the admin console and Administration REST API on a separate hostname or context path from public frontend URLs, enforce TLS on all communication, and restrict paths at the reverse proxy so customer endpoints do not expose administrative routes. Enable metrics on the management interface to watch token endpoint latency and error rates for each API tier. Build a regression suite for FAPI and CIBA behavior, and rerun it on every minor upgrade, since Keycloak says breaking changes in minor releases are opt-in and you must still confirm which options you have turned on.

Keycloak settings that matter for banks and payment firms

Keycloak ships with many settings, and a handful decide whether a sign-in service meets what bank and payment firm security teams need to show an assessor. The cards below cover staff authentication methods, interface exposure, directory and partner federation, and upgrade-time settings to configure and verify before go-live.

Phishing-resistant staff MFA

Keycloak supports W3C WebAuthn security keys and passkeys, including the conditional and modal sign-in interfaces documented in the server administration guide. For staff with administrative or payment system access, decide which authenticators are allowed, whether passkeys are permitted for workforce accounts, and how enrollment is approved. Test each sign-in path with the browsers and devices your staff actually use before rollout.

OTP policies and recovery codes

OTP policies set the algorithm, digit count, period and enrollment rules for one-time passwords, and recovery codes give staff a way back in when a device is lost. Decide which methods remain available to privileged accounts, how many recovery codes are issued, and how they are reset or revoked. Confirm that lost-device and helpdesk procedures match what the policies allow, and record who can approve overrides.

Admin and metrics on separate interfaces

Keycloak's production guide calls for TLS on all communication and a reverse proxy with path restrictions. Expose the admin console and Administration REST API on a different hostname or context path from public frontend URLs, and let the proxy route only the public paths to the internet. Metrics appear at /metrics on the management interface when Keycloak starts with --metrics-enabled=true, so confirm the scrape path is reachable only from the monitoring network.

LDAP and Active Directory federation

Workforce accounts often stay in Active Directory or an LDAP directory, and Keycloak's user federation reads them from there. Decide which attributes sync, whether group membership maps to roles, and where passwords are checked, since that depends on the authentication mode you choose. Test disabled-account handling, because a user disabled in the directory must stop signing in to Keycloak, and confirm the bind account has read-only permissions.

Partner brokering and Organizations

Identity brokering lets Keycloak accept sign-in from partner identity providers over OIDC and SAML, and the Organizations feature groups member institutions with their email domains. Link each member institution to its own identity provider and route users by domain so sign-in reaches the correct provider. Verify trust settings for each partner, including signing certificates and attribute mappings, and decide who administers each organization.

Upgrade settings to verify in 26.8

The Keycloak 26.8 upgrade notes change two items that affect bank and payment environments: SMTP connections now require StartTLS without plaintext fallback, and backchannel logout tokens from external providers must have validated signatures. Check that the mail relay supports StartTLS before cutover, and test logout with each external provider in staging. Login failures are also persisted to the database by default, so review database growth after the upgrade.

Designing the high availability sign-in service regulators expect

The first design decision for a regulated sign-in service is which of Keycloak's three documented high availability architectures you will run, and that choice should be made before any infrastructure is ordered. The first option is a single cluster, optionally spread across availability zones within one region. The second is a multi-cluster deployment under the v2 design, which does not require an external Infinispan cluster. The third is multi-cluster v1, which used a separate Infinispan cluster per site and is deprecated. Start with one question that shapes everything else: does your required resilience stop at a single zone, or must the sign-in service survive the loss of a whole region? The answer narrows the options before any vendor or partner conversation begins.

Both supported designs need a synchronously replicated database, and this is the dependency most often underestimated. Keycloak keeps realms, clients, users and persisted state, including login failure records, in its database, so the database determines whether a failover preserves or loses committed changes. With synchronous replication, a write is confirmed only after the standby holds it. This protects against silent loss of configuration or audit-relevant records, at the cost of added write latency. Across sites, that latency depends on network distance and must be measured in your environment. Ask your database team to show how replication is configured, which nodes are synchronous, and how promotion is tested.

Keycloak lists a defined set of supported production databases: MariaDB, Microsoft SQL Server, MySQL, Oracle Database, PostgreSQL 14 to 18, EnterpriseDB Advanced, Amazon Aurora PostgreSQL and Azure SQL. The built-in dev-file database is for development only and cannot carry a production sign-in service. Your choice determines which replication and failover features you depend on, which licenses you carry, and whether a managed service is offered in the regions where your data may reside. Confirm the database choice against two inputs before procurement: your disaster recovery requirements, including recovery objectives agreed with the business, and your data residency rules, which govern where replicas and backups may be placed. Do not select the database from the Keycloak list alone.

Multi-cluster v1 should not be treated as a planning choice. It is deprecated, so it should not anchor a new design, and any design built on it would require migration within the life of the platform. The Keycloak 26.8 upgrade notes recommend moving from the deprecated multi-site feature to the stateless feature, which means any existing v1 estate should be inventoried as migration work with its own test cycle. Ask the implementation team to map your target design to the current documentation. If you run the Red Hat build of Keycloak, confirm the supported stateless configuration with Red Hat before you commit to the architecture. Record which parts of the design depend on a feature that has a stated deprecation path.

Once the architecture and database are chosen, the evidence regulators tend to examine is proof that failover works. Write down each failure scenario, including loss of a node, loss of a zone, loss of the database primary and, if your design covers it, loss of a site. Run each one against a non-production copy with the same topology. Enable metrics with --metrics-enabled=true so cluster health and cache behavior are visible during each test, and keep the results with the design record. DORA Article 28(8) asks for documented and tested exit strategies for ICT services that support critical or important functions. If that article applies to your entity, the same test records may also support a later exit or transition plan.

How a financial services Keycloak rollout runs in phases

This sequence takes a Keycloak service from agreed control requirements to a sign-in service your team operates without us. Each phase produces a written artifact or tested result that the next phase depends on. Phase length depends on the scope agreed in writing before work starts.

  1. Agree scope and map controls

    Your compliance lead, security owner and DeployOpen's engineers confirm which systems sign in through Keycloak, which PCI DSS v4.0.1 requirements the staff and customer paths touch, and which evidence an assessor will ask for. The output is a control map that links each requirement, such as the identification and authentication requirements under requirement 8, to a planned setting, owner and evidence source. Ask whether the service is in or out of the cardholder data environment, since that changes the scope of the map. Done when the map is signed off in writing and the open items have owners.

  2. Design the architecture and database

    DeployOpen's architects document the topology inside your infrastructure: the Keycloak nodes, the reverse proxy, the database and the admin hostname kept separate from public frontend URLs. Keycloak supports PostgreSQL 14 to 18 and other production databases, and both supported high availability designs need a synchronously replicated database, so the database choice and its replication setup are decided here. Confirm schema migration handling, whether startup or manual SQL, and where the metrics endpoint is exposed. The output is an architecture decision record and a diagram your change board can approve. The phase closes when the design is reviewed against the control map.

  3. Integrate staff identity and MFA

    Connect the workforce directory, usually through LDAP or Active Directory user federation, and set the staff authentication flow so multi-factor authentication applies to every interactive sign-in. Keycloak documents OTP policies, WebAuthn, passkeys and recovery codes, and the choice among them should follow your access policy and what your help desk can support. The FTC Safeguards Rule requires multi-factor authentication for any individual accessing an information system unless the Qualified Individual approves an equivalent control in writing, so confirm which obligations apply to you. Restrict admin console access to a small group with its own approval path. Done when test accounts from each group pass the expected flow and failed logins are recorded.

  4. Configure customer-facing clients and APIs

    Register OpenID Connect clients for customer applications and APIs, then set redirect URIs, token lifetimes and scopes. Apply the security profile your API standards call for, such as FAPI, and confirm its requirements against the Keycloak version you run. Where a customer or partner flow needs decoupled authentication, evaluate CIBA against the channel it will run on. Keep client secrets and signing keys in your secrets store and out of realm exports. Test each client with its real consumer in a non-production environment. The output is a client inventory with owners, flows and test evidence.

  5. Test functionality, load and failover

    Run functional tests for every flow in the control map, then load tests at the peak sign-in volume your business expects. Run failover tests that stop a node, the database primary and an availability zone while sign-in continues. Confirm that sessions, token issuance and admin access behave as the design states during each event. Include a backup restore, and check that the metrics and alerts you planned actually fire. Security testing of the sign-in surface can run in this phase as well. The output is a test report with pass or fail results, assigned defects, and a retest for each failed case before cutover is approved.

  6. Cut over with a rollback plan

    Move traffic in a window agreed with your change board, starting with the lowest-risk applications and staff groups. Keep the previous sign-in path available until the rollback point has passed. Confirm the database migration state before and after the switch, and record the rollback trigger conditions in advance. Watch error rates, login failures and cache and session metrics throughout the window. Rollback is rehearsed before the window so the team can execute it under pressure. The output is a signed cutover record with timestamps, the final rollback point and the post-cutover monitoring results.

  7. Hand over runbooks and support

    Transfer operation to your team with runbooks for node replacement, database failover, certificate and key rotation, backup restore, upgrades and incident response. Plan upgrades around the Keycloak cadence of four minor releases a year, and if you run the Keycloak Operator on Kubernetes, keep its manual approval mode so updates stay under your control. Your team performs a live procedure while DeployOpen observes, and gaps found there go back into the runbooks. The output is the signed runbook set, access handover records and a support plan. Ongoing support, upgrades and testing are available as retainers.

Evidence this build produces for assessors and auditors

Each card names an evidence set that a Keycloak build can produce for a PCI DSS, SEC, DORA or Swift assessment. DeployOpen prepares the systems, controls and evidence. It does not issue reports, attestations or certifications, and a QSA, auditor or the institution's regulator decides the outcome.

PCI DSS requirement 8 baseline

The realm settings that govern staff identification and authentication: password policy, account lockout through brute force detection, session timeouts, and MFA on the admin console and staff-facing clients. Export the realm configuration after each approved change and store it as a dated baseline. Ask the QSA which evidence form they expect for your approach, and confirm each setting against the requirement text in your own copy of PCI DSS v4.0.1.

Staff authentication and login records

Per-user evidence that each staff account maps to one identity, that MFA enrollment is recorded, and that failed sign-ins are retained. Record which factor each user enrolled, whether OTP, WebAuthn or passkey, and how recovery codes are issued. Keycloak 26.8 persists login failures to the database by default, which gives a queryable history for lockout reviews. Confirm your retention period and whether admin events are enabled for account changes.

SEC ITGC access and change evidence

Evidence for access to programs and data and for change control, the areas SEC guidance names for internal control over financial reporting. Keep realm and client configuration in Git with reviewed merge requests, grant operator access to the Keycloak Operator under named roles, and set the Operator to manual approval so each upgrade passes through a recorded decision. Ask your auditor which change population and sample they will test, and confirm how long pull request and approval history is kept.

DORA register and exit plan inputs

Inputs for the register of information on ICT contractual arrangements and for a documented, tested exit plan for an identity service that supports critical or important functions. Record hosting location, data locations, administrators and the version in use. The exit plan needs realm exports, a database extraction procedure, and a re-registration list for every OIDC and SAML client. Contract terms under DORA Article 30(2) stay with your legal team, and the exit test should run against a copy of the production database.

Swift CSCF access control inputs

Access control evidence for Swift-connected environments: separation of privileges between realm administrators and application users, MFA for operator sign-in, and an admin console reachable only on a separate hostname or context path from public frontend URLs. Document which Swift controls the build supports and which remain with your operations team. Swift users have controls independently assessed and attest annually in KYC-SA. Confirm exact control IDs against the current Swift CSP list before mapping.

How to keep upgrades and operator changes under change control

Keycloak change control starts with the release cadence. Since Keycloak 26.0, the project plans four minor releases a year and a major release every two to three years, and it states that breaking changes in a minor release will be opt-in. That makes each minor upgrade a planned change with a known scope. The team reads the release notes for the target version, lists which opt-in changes it intends to enable, and records each enabled option in the change request. The current release is 26.8.1, published October 13, 2026. A team on an older 26 line should decide which intermediate minor it will land on and how long it will run there. The change calendar should set the pace, and the record should show who chose the target version and why.

The 26.8 upgrade notes contain changes that alter production behavior, so each one needs an owner before the change window. SMTP StartTLS is now enforced without plaintext fallback, so mail relays that were never tested with TLS will fail password reset and notification flows. Backchannel logout tokens from external providers must have their signatures validated, which can break logout for partners that send unsigned tokens. Login failures are persisted to the database by default, which affects database growth and retention policy. The notes also recommend moving from the deprecated multi-site feature to the stateless feature. Each item should appear in the change request with an owner, a staging test and a sign-off, so the audit trail shows that the team read the notes and acted on them.

Database migration needs a deliberate choice. By default, Keycloak migrates its database schema automatically at startup. That is convenient for small environments, but it means a schema change happens inside a node restart with no separate review. The upgrading guide suggests manual migration for large deployments, where administrators apply the SQL themselves. For a regulated sign-in service, the manual path lets a database administrator review the statements, run them in a defined window and store the script as change evidence. Confirm with the vendor how to generate the migration SQL for your exact source and target versions, whether the migration can be reversed, and which database engines and versions the target release accepts. Keycloak's supported production databases include PostgreSQL 14 to 18, so check your database version against that list before scheduling the change.

The Keycloak Operator adds a second change path. The Operator documentation strongly recommends manual approval mode for operator updates to avoid unintended automatic upgrades, so set the Operator subscription to manual and treat each approval as a change gate. The approver checks the target Keycloak version, the release notes reviewed, the staging test results and the rollback plan before approving. Configuration changes also flow through custom resources: Keycloak, KeycloakRealmImport, KeycloakOIDCClient and KeycloakSAMLClient. If clients are defined as resources in Git, a pull request and its review become the change record for client changes. If clients are edited in the admin console, that drift from the declared state should be detected and recorded. Decide which path is authoritative before the first production change.

Rollback has to be tested, not assumed. Before any production change, take a database backup, export realm configuration, and confirm that the Operator version and custom resource manifests are stored in version control. Rehearse the restore in a staging environment built from the same backup, and record the time taken and the results in the change file. For an identity service that many applications depend on, this rehearsal is the evidence that the team can return to the prior state. DORA Article 28(8) requires documented and tested exit strategies and transition plans for ICT services that support critical or important functions. The SEC's guidance on internal control over financial reporting names program changes and computer operations among the IT general control areas that assessments examine. DeployOpen can prepare runbooks, change templates and rehearsal evidence, while independent auditors decide whether the controls operate effectively.

Questions financial institutions ask before hiring help

How much does a Keycloak deployment for a bank or fintech cost?

DeployOpen does not publish a price list. A quote follows from a written scope, and the scope decides most of the cost. Keycloak is licensed under Apache 2.0, so the software itself carries no license fee, but you pay for the infrastructure it runs on, your staff time, and the implementation work. The main cost drivers are the number of realms and clients, the high availability design, the integrations with your applications and identity sources, the depth of testing, and the compliance evidence you need. Build work is typically one-time, while support, upgrades and continuous testing can run as retainers. When you request a quote, ask for line items for design, build, hardening, testing, documentation, handover, and any recurring services, along with assumptions and exclusions.

How long does a Keycloak project for financial services take?

No general duration applies, so confirm the timeline against your written scope. Duration depends on how many realms, clients and integrations are involved, whether you need a multi-site high availability design, and how much of the work is test and evidence collection. Time is also added by your own review cycles, change approval windows, and the availability of your assessor or regulator for questions. Keycloak's two supported high availability designs both require a synchronously replicated database, so the database platform and its replication setup often take longer to agree than the Keycloak configuration itself. Ask for a milestone plan with named dependencies, the review gates you must attend, and the point at which production cutover is scheduled.

What does our team need to provide for a Keycloak engagement?

Your team provides the access, decisions and approvals that the work cannot proceed without. This includes access to your cloud accounts, data centers or air-gapped network, a database platform from Keycloak's supported list, TLS certificates and DNS for public and admin hostnames, and an inventory of applications with the protocols each uses (OIDC, OAuth 2.0 or SAML 2.0). You will also need connections to user sources such as LDAP or Active Directory, a named owner for security decisions, a named owner for compliance evidence, and a change approval path. For PCI DSS work, provide network diagrams and data flows that show which systems touch the cardholder data environment. Agree these responsibilities in the written scope so delays can be assigned clearly.

Can our internal team deploy Keycloak without an outside partner?

Yes, an internal team can deploy Keycloak, because it is open source and its documentation covers installation, clustering, database setup and the Operator. The harder questions are capacity and evidence. Your team needs working knowledge of OIDC and SAML, the chosen database, and Kubernetes if you use the Operator, along with a process for upgrades. The Operator documentation strongly recommends manual approval mode for operator updates, so someone must own that approval. The Keycloak 26.8 upgrade notes also change defaults, including enforced SMTP StartTLS and persisted login failures, which means upgrades need testing. A common approach is an internal team with an outside review of the design and the evidence. Decide which parts your team can carry after handover.

How does PCI DSS scope change a Keycloak design?

If Keycloak authenticates staff who can reach the cardholder data environment, or if it could otherwise affect the security of that environment, it is likely to fall within PCI DSS scope. The current active version is PCI DSS v4.0.1, and Requirement 8 covers identification and authentication, which is where Keycloak settings such as multi-factor authentication, password and session controls, and account lifecycle are assessed. Design decisions that follow include separating the admin console and Administration REST API from public frontend URLs, placing Keycloak behind a reverse proxy with path restrictions, enabling TLS on all communication, and sending logs to a monitored location. Scope depends on your data flows, so confirm with your Qualified Security Assessor or Self-Assessment Questionnaire reviewer before the design is frozen.

How is a DeployOpen Keycloak engagement priced and agreed?

Most engagements are fixed-scope. Scope, deliverables and timelines are agreed in writing before work starts, and the quote follows from that written scope. There is no published price list. Ongoing support, upgrades and continuous testing are available as retainers, which are separate from the one-time build. When you review a proposal, check the deliverables, the assumptions about your environment, the exclusions, the acceptance criteria for each deliverable, and the process for changes requested after signing. Ask which costs are one-time and which recur, and what is included in any retainer, including response expectations if the document you receive describes them. Compare proposals on the same written scope rather than on headline totals.

What should we confirm with our assessor and our regulator?

Confirm the scope questions with your assessor first, because the scope determines the evidence you need. Ask whether Keycloak falls within PCI DSS scope, which requirements apply to your design, whether you will use the defined approach or the customized approach for any requirement, and what evidence format the assessor expects. Confirm with your regulator which regime applies. For example, DORA has applied to EU financial entities since 17 January 2025 and requires a register of information on ICT contracts, documented and tested exit strategies for ICT services that support critical functions, and specific terms in ICT service contracts. In the United States, the FTC Safeguards Rule requires multi-factor authentication for non-bank financial institutions under FTC jurisdiction unless the Qualified Individual approves an equivalent control in writing. Ask both parties which artifacts they will accept.

Which high availability design does a payment sign-in service need?

Keycloak documents three high availability architectures: a single cluster, optionally spread across availability zones, multi-cluster deployments (v2) that do not use an external Infinispan cluster, and the deprecated multi-cluster v1 that uses a separate Infinispan cluster per site. Both supported designs require a synchronously replicated database. The Keycloak upgrade notes recommend moving from the deprecated multi-site feature to the stateless feature, so a new design should avoid v1. The choice depends on your recovery objectives, the number of data centers or availability zones you control, and how well your database platform handles synchronous replication across sites. Test failover of the database and of Keycloak nodes, and document what happens to active sessions during a failover. Confirm the chosen design with your regulator if it supports a critical service.

What your team provides before a Keycloak engagement starts

Start with the control catalog and the frameworks it maps to, because they decide what Keycloak must prove as well as how it is configured. Your catalog should list each control your organization tests for staff sign-in, such as multi-factor authentication, password, session and privileged-account requirements, with the requirement ID each one satisfies. The applicable frameworks determine which of those controls are in scope. PCI DSS v4.0.1 applies if staff can reach the cardholder data environment, and its requirement 8 covers identification and authentication. Non-bank institutions under FTC jurisdiction face the Safeguards Rule's multi-factor requirement unless the Qualified Individual approves an equivalent control in writing. Confirm with your assessor and legal counsel which frameworks apply to which systems. A written list of requirement IDs, each with a named owner, lets us size the realm design and evidence work from facts.

Next, document your network and hosting constraints and your identity sources. Keycloak's production guidance calls for TLS on all communication, a reverse proxy with path restrictions, and the admin console and Administration REST API on a different hostname or context path from public frontend URLs. Tell us where the proxy can sit, whether your monitoring stack can reach the management interface and metrics endpoint, and which network zones may hold the database. On identity sources, list each LDAP or Active Directory domain, Kerberos realm, upstream OIDC, OAuth or SAML provider, and any social provider you intend to allow. Each federated source adds attribute mapping, test cases and failure modes. Pair this with a client inventory that records every application, its protocol, its redirect URIs and whether it handles payment or customer data. A client that needs a FAPI profile or backchannel logout takes more design time than a plain OIDC login.

Your database and disaster recovery standards set the high availability design before any realm is built. Keycloak supports several production databases, including PostgreSQL 14 to 18, Microsoft SQL Server, Oracle Database and Amazon Aurora PostgreSQL, and both supported high availability designs require a synchronously replicated database. Confirm which engine your standards approve, which versions your database team supports, how backups are tested, and the recovery point and recovery time your critical sign-in service must meet. State whether schema migration may run automatically at startup or whether your change process requires administrators to apply the SQL themselves, which the upgrading guide suggests for large deployments. For entities covered by DORA, Article 28(8) expects documented and tested exit strategies for ICT services that support critical functions, so the exit and transition plan belongs in your inputs too. Each of these choices changes the number of environments, test cycles and failover drills in the statement of work.

Last, provide your change calendar and the named owners for each approval. Freeze windows, change advisory board lead times and your release cadence determine when cutover and testing can happen. Keycloak plans four minor releases a year, and its Operator documentation strongly recommends manual approval mode for operator updates, so your team should decide in advance who approves each version change and when it reaches non-production. Name one owner for realm design, one for the admin role model and privileged access, one for any MFA exception, one for production go-live and one for audit evidence. Where an MFA exception is needed, the Safeguards Rule route requires the Qualified Individual's written approval, so that person must be reachable within the schedule. A gap in approvers delays every milestone that follows, so confirm these names and their availability before the kickoff date is agreed.

How DeployOpen works on this

DeployOpen plans, builds, hardens and documents Keycloak inside your own cloud accounts, data centers or air-gapped networks, so the identity service stays under your control. For financial services, the work centers on customer API authorization, staff sign-in controls and a high availability design for a sign-in service that many systems depend on. Engagements are fixed-scope, with scope, deliverables and timelines agreed in writing before work starts.

How we scope

  • We map which customer APIs, staff applications and admin paths sit behind Keycloak and which PCI DSS requirements apply.
  • The written scope names the database, the high availability design, the Keycloak version and the integration list before build starts.
  • Engagements are fixed-scope, and ongoing support or testing can follow as a retainer once the deployment is live.

How we build

  • Build the database tier first, with synchronous replication, because both supported Keycloak high availability designs depend on it.
  • Configure staff sign-in for PCI DSS requirement 8: MFA, password rules, session limits and OTP or passkey options.
  • Configure FAPI and CIBA flows for customer APIs only after confirming each is supported in your chosen release.

How we hand over

  • Deliver deployment code, the operator configuration and a runbook covering upgrades, backups and failover tests.
  • Document the control mapping: which settings answer which requirement, and the evidence each one produces for your assessor.
  • Provide inputs for your exit plan and contract register where your regulator requires them, such as DORA.

How we support

  • Keep the Keycloak Operator on manual approval mode so each upgrade is planned, tested and scheduled.
  • Review each minor release's upgrade notes, including the 26.8 items on SMTP StartTLS and backchannel logout token validation.
  • Export Prometheus metrics from the management interface and alert on sign-in failures, cache health and certificate expiry.

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.