Keycloak for public sector: why agencies deploy it inside their own boundary
An agency identity lead is usually handed a sign-in service with three firm conditions: it must meet a federal or state control baseline, it must run inside a network the agency controls, and it must authenticate people against the directories the agency already runs. Keycloak can be deployed self-managed in the agency's own infrastructure to meet those conditions, because the server, its database, its signing keys, its logs and its upgrade schedule all stay under agency control with no external identity service holding them. The Apache 2.0 license lets the agency review the code it runs, but licensing does not establish compliance. The design, configuration, operation and documentation of the deployment do that.
The first change from a generic deployment is the control mapping. NIST SP 800-53 Rev. 5 is the federal control catalog, and SP 800-53B selects controls for low, moderate and high baselines: 149, 287 and 370 controls and enhancements respectively. The agency's system categorization determines which baseline applies. Most identity requirements fall in the identification and authentication family, such as IA-2 for organizational user identification and IA-5 for authenticator management. Each one needs a named Keycloak setting, such as password and OTP policies, WebAuthn or passkey enrollment, recovery code handling, session lifetimes, and LDAP, Active Directory or Kerberos federation, plus a runbook step and the evidence that proves it. Decide early which controls the hosting environment inherits and which the agency owns, because that split defines the evidence set. Confirm control IDs against the baseline profile your assessor uses.
The second change is cryptography. Public sector buyers often ask for FIPS mode by name, so the claim needs to be verified for the exact Keycloak version and distribution in use. Confirm whether FIPS mode is supported for that release, which validated cryptographic module it relies on, and whether that validation covers the Java runtime and operating system libraries beneath it. The Red Hat build of Keycloak is a supported distribution of the open source project, so ask whether its support terms and documentation cover the FIPS configuration you need. Requirements can also extend beyond the identity server. The FBI CJIS Security Policy version 6.1 requires FIPS 140-3 certified modules, or FIPS 197 AES with 256-bit keys, for criminal justice information in transit and at rest outside physically secure locations. If the sign-in path or its session data touches that information, the agency must check every link in the chain.
The third change is installation and evidence. In a disconnected network, every container image, Operator bundle and package must be fetched outside the boundary, checked for integrity, and carried in through an approved path. Kubernetes can be prepared offline by pulling images in advance and pointing installers at a private registry, and the same mirroring approach applies to Keycloak images and the Keycloak Operator. Confirm how the Operator and its Operator Lifecycle Manager catalog behave in a disconnected cluster, and set manual approval for Operator updates so no change is applied without review. Then collect evidence: configuration kept as code, TLS and reverse proxy settings, the admin console on a separate hostname, metrics enabled, logs retained, and a change record for each upgrade. DeployOpen prepares systems, controls and evidence for assessments, but it does not issue audit reports or attestations. Independent assessors and certification bodies perform that work.
Public sector identity requirements and what they mean for the Keycloak build
This table maps the public sector requirements that most often shape a Keycloak build to their source and to the configuration, evidence or scope decision each one creates. Read each row as a question to settle with the authorizing official, the contracting agency or your compliance lead before the realm design is fixed. The main takeaway is that the identity service itself is usually in scope, so authentication settings, logging and hosting location should be decided together before the realm design is fixed.
| Requirement | Source | What it means for the Keycloak build |
|---|---|---|
| NIST SP 800-53 baselines | NIST SP 800-53B, Release 5.2.0 (27 August 2025) | Agree the baseline with the authorizing official. Moderate selects 287 controls, so scope the IA and AU evidence early. |
| FISMA and OMB A-130 | FISMA; OMB Circular A-130; NIST Risk Management Framework FAQs | Keycloak becomes part of the agency system boundary and its authorization package. Inspectors general may test its settings independently. |
| Authentication controls (IA-2, IA-5, AC-7) | NIST SP 800-53 Rev. 5 control catalog | Map MFA, password policy and lockout settings to realm configuration. Keep exports of these settings as assessment evidence. |
| CJIS encryption and vulnerability scanning | FBI CJIS Security Policy v6.1 (effective 26 June 2026) | Use FIPS 140-3 validated modules or AES-256 for CJI in transit and at rest. Scan the Keycloak hosts and images at least monthly. |
| CUI on non-federal systems | 32 CFR 2002.14(h)(2), NIST SP 800-171 | Where a contractor runs Keycloak for CUI workflows, treat it as a 800-171 system. Document identification and authentication scope. |
| FedRAMP scope for cloud-hosted identity | OMB M-24-15 (25 July 2024) and FedRAMP scope rules | A Keycloak service offered to agencies as a shared cloud service may fall in scope. Single-agency deployments may not; confirm with the agency. |
| Web accessibility for login pages | ADA Title II, 28 CFR 35.200 (WCAG 2.1 Level A and AA) | Dates: 26 April 2027 for entities serving 50,000 or more, 26 April 2028 for smaller ones. Test custom login themes. |
| NIS2 public administration | Directive (EU) 2022/2555, Annex I | Central government entities fall in scope regardless of size. Confirm local authority coverage and national transposition before scoping identity controls. |
How FIPS 140 requirements affect Keycloak cryptography choices
The CJIS Security Policy version 6.1, which took effect on 26 June 2026, requires criminal justice information (CJI) to be protected with FIPS 140-3 certified cryptographic modules, or with FIPS 197 AES using keys of at least 256 bits, whenever CJI is in transit or at rest outside physically secure locations. For a Keycloak deployment, this is a stack question, not a single product question. Browser traffic to the reverse proxy, traffic from Keycloak to its database, LDAP or Active Directory and any brokered identity providers, and data stored in the database, backups, and logs each depend on cryptography supplied by the runtime and libraries around Keycloak. Map each of those paths before choosing components, because the requirement applies to every one that carries or holds CJI.
The decisions that carry the most weight are the Java runtime (JVM) and the TLS libraries it uses, the reverse proxy or load balancer that terminates client TLS, the database driver and any database-level encryption, and where signing and encryption keys for realms are generated and stored. Ask the vendor which Keycloak build, JVM and TLS provider the agency will run, and for the validation certificate and module version that covers that exact combination. Confirm with the agency's assessor whether the validation is accepted under FIPS 140-3, since the topic label refers to FIPS 140-2 mode and the CJIS wording points to 140-3. Do not assume that a validated module in one layer validates the whole stack.
Once the components are chosen, test the cryptographic behavior in the configuration the agency will operate. Confirm which protocol versions and cipher suites the proxy and Keycloak negotiate in the validated mode, and check that non-approved algorithms fail closed instead of falling back. Verify that the admin console and Administration REST API sit on a separate hostname or context path, as the production guide advises, so that administrative sessions are not carried over public endpoints. Keycloak 26.8 enforces StartTLS for SMTP without plaintext fallback, which closes one mail path, but the agency should still confirm the mail relay's own support for the same requirements. Record the results as evidence for the assessor.
Plan for change. A FIPS-related configuration can break sign-in for clients, directories or smart card and Kerberos paths that depend on older algorithms, so run those flows in a test environment before production. Keycloak's minor releases arrive several times a year, and each upgrade of the JVM, TLS library or proxy can change the validated boundary, so reassess the validation status after every change. The same CJIS release requires vulnerability scanning at least monthly under RA-5, and that scanning should cover the JVM, libraries and proxy as well as Keycloak itself. When requesting a quote, ask for the cryptographic review, the evidence package, and the retest steps that follow each upgrade.
Configuration and integrations that matter for government sign-in
Government sign-in depends on where identities come from, how users prove who they are, and how the platform is protected and evidenced. The cards below cover the configuration decisions that shape those four areas in a Keycloak for public sector deployment.
Smart card and X.509 sign-in
Smart card and X.509 sign-in lets staff authenticate with certificates from government-issued cards. Keycloak supports certificate-based authentication, but the browser flow, certificate revocation checks and the rules that map certificate attributes to user accounts depend on the version you run. Confirm each of these settings in the server administration guide for your release, then test valid, expired and revoked certificates before go-live.
Directory and partner identity sources
Most agencies already hold identities in LDAP or Active Directory, and Keycloak can federate those users while the directory stays the source of record. Kerberos sign-in for domain-joined workstations and identity brokering to agency or partner OIDC and SAML providers add further sources. Decide which system owns each attribute, how disabled accounts propagate, and whether a brokered login creates a local account.
OTP, WebAuthn and passkey recovery
OTP policies set the code type and algorithm your authenticators support. W3C WebAuthn security keys and passkeys, with conditional and modal sign-in UI, add phishing-resistant options for users who can carry them. Recovery codes are the failure path when a device is lost, so define who issues them, how many each user receives, and how a user regains access without an administrator bypassing the policy. Test every method with the devices your users actually hold.
Production hardening and admin separation
Keycloak's production guide calls for TLS on all communication, a reverse proxy with path restrictions, and an admin console and Administration REST API on a different hostname or context path from public frontend URLs. Check that the admin hostname resolves only on management networks, that the proxy blocks admin paths from the internet, and that certificates for each hostname renew without a service interruption. Record these settings as configuration evidence.
PostgreSQL and synchronous replication
Keycloak supports PostgreSQL 14 to 18 among its production databases, and both supported high availability designs need a synchronously replicated database. Confirm the exact PostgreSQL version against the database guide, size connection pools for your node count, and define how failover and replica promotion affect logins in progress. Backup and restore tests belong in the same design, not in a later phase.
Metrics and audit logs for evidence
Starting Keycloak with metrics enabled exposes Prometheus-format metrics on the management interface, with optional HTTP request and cache histograms. Pair these metrics with event and admin logs, which assessors can use to test identification and authentication controls. Confirm which events your version records, decide where logs are stored and for how long, and restrict who can change event settings, because evidence is only as credible as its retention.
Installing Keycloak in an air-gapped network
An air-gapped Keycloak installation is mostly a build exercise. Every image, package and manifest the cluster pulls at deploy time has to come from a registry, repository or file transfer inside the boundary. Plan an internal registry that holds the Keycloak server image, the Keycloak Operator images, and the images for the database, proxy and any sidecars. Record the digest of each image as you mirror it, so the deployed version can be matched to the tested version later. The Operator can be installed through Operator Lifecycle Manager, with kubectl, or with an experimental Helm chart. Choose the method your platform can run offline, and mirror the catalog content or manifests that method needs before the network is cut.
The database must also live inside the boundary, and it is a decision you make early. Keycloak supports several production databases, including PostgreSQL 14 to 18, Microsoft SQL Server, MySQL, MariaDB and Oracle Database. Pick one your agency already operates, can back up and can restore under your own change control. The default development file database is not suitable for production. Keycloak migrates its schema automatically at startup by default. In a boundary, decide whether that automatic migration is acceptable or whether your team will apply the SQL manually through a reviewed change, which the upgrading guide suggests for large deployments. If you plan a high availability design, the database must be synchronously replicated, so size that replication link and its failover path together with the rest of the design.
Set Operator updates to manual approval. The Keycloak Operator documentation strongly recommends manual approval mode to avoid unintended automatic upgrades. In an isolated network, automatic upgrade paths may not function anyway, but the risk is still real: a mirrored catalog update could be applied without review. With manual approval, each new Operator version is imported, checked, deployed to a staging environment, tested against your realm and client configuration, and only then approved in the cluster. Write this sequence into your runbook, name the person who approves each step, and keep the approval record with the change ticket.
Carrying updates across the boundary is where most offline programs drift. Read the Keycloak 26.8 upgrade notes before importing any bundle. They include enforced SMTP StartTLS without plaintext fallback, mandatory signature validation of backchannel logout tokens from external providers, login failures persisted to the database by default, and a recommendation to move from the deprecated multi-site feature to the stateless feature. Each item can change mail flow, logout behavior, database growth or cluster design, so test them on a copy of production data. For every artifact that crosses the boundary, verify checksums and signatures at import, keep a signed manifest, and store the hashes with the change record. NERC CIP-013-2 asks procurement processes to address verification of software integrity and authenticity for vendor software and patches. Treat it as a useful model for your own process, not as a requirement unless your regulator or contract says so. NIST SP 800-53 supply chain risk management controls point to the same practice.
Confirm the offline details with the Keycloak project before you commit to a design. Ask which installation steps need network access, which Operator bundle contents must be mirrored, and whether any feature calls out to an external endpoint at runtime, such as external identity providers, metadata refresh or update checks. Each external dependency needs either an internal equivalent or a documented exception. Ask whether the release cadence and breaking-change policy affect how often you must cross the boundary. Get the answers in writing and attach them to the design record, because auditors will ask who confirmed the offline support and when.
How a public sector Keycloak rollout runs in phases
The sequence turns an agency's control baseline and system boundary into a Keycloak service that runs offline, signs users in through the agency's approved methods, and leaves behind evidence an assessor can test.
Scope controls against the agency baseline
The agency names a system owner and confirms the system boundary, the impact level it expects to assess against, and which NIST SP 800-53 identification and authentication controls the identity service must support. DeployOpen maps those controls to Keycloak configuration areas, such as password and OTP policy, session settings, admin access and logging, and lists the gaps the agency must decide on. The step closes with a signed scope and control map that names each control, the owner of its evidence, and any control handled outside Keycloak, such as the agency's PKI or badge system.
Design architecture and offline installation
DeployOpen documents the target topology in the agency's own data centers or enclave, including the database engine and its synchronous replication, the choice among the high availability designs Keycloak documents, the reverse proxy path restrictions, and separate hostnames or context paths for the admin console and Administration REST API. Because the environment may be air-gapped, the design also covers how container images, the Operator and database drivers are staged, verified and carried across the boundary. The step closes with an architecture decision record and a bill of materials that the agency's security team approves before any build starts.
Build and harden the Keycloak platform
DeployOpen builds the environment from the approved artifacts, enables TLS on all communication, configures the production start options, and enables metrics on the management interface. Where the agency requires FIPS mode, the team confirms the JDK and cryptographic module the deployment uses and tests the configuration against the agency's approved algorithms, since the FIPS requirement depends on the platform as well as Keycloak. The step closes with a hardening checklist signed off against the baseline, a record of every deviation, and a repeatable build that can be rebuilt from source artifacts.
Integrate identity sources and test sign-in
The team connects the agency's directory through LDAP or Active Directory user federation, sets up Kerberos where Windows integrated sign-in is required, and configures smart card or certificate-based sign-in using the agency's certificate authority and revocation checks. It then brokers any external identity providers the agency approves and tests each application integration with OIDC or SAML. A controlled pilot group signs in through every supported method, including recovery and lockout paths. The step closes with a test record showing each sign-in method, the expected result, the actual result and the owner who accepted it.
Cut over and hand over operations with evidence
The agency approves a cutover window and rollback plan, then DeployOpen moves the pilot applications and users to the production realm and disables the old sign-in path only after the agreed checks pass. The handover covers runbooks for upgrades, including manual approval of Operator updates and the database migration method the agency chooses, backup and restore testing, monitoring alerts, and the admin access review process. DeployOpen also collects the control evidence defined in step one, such as configuration exports, log samples and test records, and packages it for the agency's assessors. DeployOpen prepares evidence, but the assessor or authorizing official decides whether the controls are met.
Identification and authentication evidence for assessors
Public sector identity evidence depends on three things: the NIST baseline you select, the cloud and data rules that apply to where Keycloak runs, and the oversight body that will test it. The cards below show which sources set those requirements and what an assessor will ask to see.
Map configuration to IA controls
Keycloak settings such as password policy, OTP and WebAuthn enforcement, session lifetimes, Kerberos and smart card sign-in, and federation trust map to the identification and authentication family in NIST SP 800-53 Rev. 5. Confirm which IA controls and enhancements your low, moderate or high baseline selects, using the OSCAL baseline profiles for Release 5.2.0. For each one, record the Keycloak setting, its value and the export or screenshot that proves it, because assessors test configuration against the selected control.
Check FedRAMP scope for hosted parts
FedRAMP covers cloud products and services that create, collect, process, store or maintain federal information on behalf of an agency, as set by OMB M-24-15. If any part of the Keycloak service runs in a cloud provider's environment and handles federal user identities or authentication data, confirm its status with the agency's authorizing official. A system used only for one agency's own operations on cloud infrastructure, and not offered as a shared service, falls outside that scope, so document the boundary before the architecture is fixed.
Protect CUI and meet CMMC cloud rules
Under 32 CFR 2002.14(h)(2), agencies apply NIST SP 800-171 to controlled unclassified information on non-federal systems unless the CUI category sets other safeguards, so a contractor-operated Keycloak that authenticates users of CUI systems needs those controls in its scope. For defense contractors pursuing CMMC Level 2, 32 CFR 170.17(c)(5) allows a cloud service to store or process CUI only when it is FedRAMP Authorized at the Moderate baseline or higher, or meets equivalent requirements. Confirm with your assessor and contracting officer which parts of the identity service count as in scope.
Address NIS2 for EU administration
NIS2, Directive (EU) 2022/2555, covers central government entities regardless of size and lists public administration as a sector of high criticality. Member States may extend it to local public administration, and it does not apply to entities working in national security, public security, defense or law enforcement. Confirm with your national competent authority whether your organization is in scope and how your Member State has transposed the directive, then map identity controls such as multi-factor authentication, access management and sign-in logging to the obligations that apply.
Know what assessors and inspectors general test
Under FISMA, Inspectors General independently assess agency system security and report to OMB, and NIST lists FISMA and OMB Circular A-130 among the laws behind SP 800-53. DeployOpen prepares configuration records, test results, runbooks and control narratives for these reviews, but does not issue audit reports, attestations or certifications. Ask your assessor early which evidence format they accept, who signs the control narrative, and whether they will sample live sign-in logs.
What your team must provide and own after go-live
Your agency must settle the system boundary before go-live, because every control inventory, evidence package and assessor question depends on it. Write down which realms, clients, identity brokers and user federation links sit inside the boundary, which applications sign in through them, and which external services, such as SMTP relays and log destinations, receive identity data. Then select the control baseline with your authorizing official. NIST SP 800-53B defines low, moderate and high baselines that select 149, 287 and 370 controls and enhancements respectively, and any tailoring changes those sets. DeployOpen can document the configuration against the baseline you choose, but the selection and every tailoring decision remain with your agency.
Your team also owns the sources of identity and trust. Name the authoritative directory for each user population, whether that is an LDAP or Active Directory forest used for user federation, a Kerberos realm for integrated Windows sign-in, or smart card credentials issued by your PKI. For each source, record who creates the service accounts, who holds the Kerberos keytab and who rotates it. Certificates need the same treatment: the TLS certificates on the public and administration hostnames, the trust chain your smart card sign-in accepts, and the signing keys behind SAML and OIDC clients. Assign an issuer, a renewal owner and a revocation procedure for each, and confirm that expiry alerts reach those owners.
Upgrades are the ongoing obligation most often underestimated. The Keycloak project plans four minor releases a year, and the Keycloak Operator documentation strongly recommends manual approval mode for operator updates so that no upgrade starts without a decision. Put the approval rule in writing: who reviews the release notes, who tests in a non-production realm restored from a recent backup, who approves the production change, and whether schema migration runs automatically at startup or as SQL your staff reviews and applies, which the upgrading guide suggests for large deployments. The 26.8 upgrade notes enforce StartTLS for SMTP without plaintext fallback, require signature validation of backchannel logout tokens from external providers, and persist login failures to the database by default. Each of those changes needs a test case in your release checklist.
Patch review needs named people with time reserved for it. Keycloak, the operator, the database, the Java runtime and the reverse proxy each publish fixes, and someone at your agency must read them, decide and record the decision. If criminal justice information is in scope, the FBI CJIS Security Policy version 6.1, effective 26 June 2026, requires vulnerability scanning at least monthly under control RA-5. Its cryptographic controls, SC-13 and SC-28, call for FIPS 140-3 validated modules or AES with 256-bit keys for CJI in transit and at rest outside physically secure locations. Your agency must own the scanner, its credentials, the scan scope and the triage queue that closes findings. Confirm with your CJIS Systems Agency or state information security officer whether CJIS applies to this deployment before you size these roles.
Questions agencies ask before hiring a Keycloak implementation partner
What drives the cost of a Keycloak implementation for a government agency?
The main cost drivers are the scope of the work, the starting baseline, the number of realms and federated user sources, whether the network is air-gapped, and how much validation evidence the agency needs. A single realm with one OIDC application and no federation is a small build. Several realms, LDAP or Active Directory federation, Kerberos or smart card sign-in, brokering to external identity providers, and a high availability design each add design, configuration and testing effort. Air-gapped installation adds work on package and image transfer, offline documentation and update procedures. Ask any partner for a quote built from a written scope that lists these items separately, and confirm whether the price covers documentation, test evidence and knowledge transfer. Ongoing costs usually include hosting, database and monitoring, staff time for upgrades, and any support retainer.
How long does a Keycloak implementation for an agency usually take?
Timing depends on the same drivers as cost: the number of realms, federated sources, applications to integrate, high availability requirements, and whether the environment is air-gapped. Approval cycles inside the agency often take longer than the technical build, so schedule reviewers, security assessors and change boards early. Time also depends on how quickly the agency can provide accounts, test users, certificates, network paths and sign-off on the design. Ask the partner for a schedule tied to the written scope, with named milestones for design review, build, testing and cutover. Be cautious of any timeline given before the environment and integration list are known. Your own infrastructure team and your assessor should confirm the dates against the agency's change calendar.
What must the agency provide before a Keycloak partner starts work?
The agency typically provides the infrastructure the platform will run on, the access needed to build it, and the decisions only the agency can make. That includes the target cloud account, data center or air-gapped network, Kubernetes or virtual machine platform, database service, DNS names, TLS certificates, and a reverse proxy or load balancer design. It also includes access to user directories such as LDAP or Active Directory, the list of applications to integrate with their protocol and redirect URIs, the required identity policies, and named owners for approvals. Security and compliance staff should provide the control requirements they expect to test against, such as the relevant NIST SP 800-53 baseline. Confirm this list in the written scope so that delays caused by missing inputs are visible to both parties.
Can our own staff run a Keycloak implementation without an outside partner?
Yes, many agencies have the capacity to build and run Keycloak with internal staff, and a partner is not required for that. The team needs working knowledge of identity protocols (OpenID Connect, OAuth 2.0 and SAML 2.0), directory services, certificates, the chosen database, Kubernetes or virtual machine operations, and monitoring. Keycloak documents high availability designs that need a synchronously replicated database, and the Operator needs careful upgrade handling. The practical question is whether the team can carry the build, the testing, the evidence collection and the upgrades every few months while keeping normal operations running. Many agencies use a partner for design review, the first build or a knowledge transfer, then operate the platform internally. Whichever route you choose, write down who owns each operational task.
Does DeployOpen issue a FIPS, FedRAMP or NIST SP 800-53 certification for our Keycloak system?
No. DeployOpen does not issue audit reports, attestations or certifications. DeployOpen plans, implements, hardens, documents and supports the platform and prepares the systems, controls and evidence that an assessment will examine. Independent auditors, assessors and certification bodies make the determinations that count for your authorization. For NIST SP 800-53 work, the control catalog and baselines are defined by NIST, and the baseline you need (low, moderate or high) is set by your authorizing authority. Those baselines select 149, 287 and 370 controls and enhancements respectively, according to NIST's SP 800-53B. Ask your partner which evidence they will produce for each control in scope, and ask your assessor to confirm that the evidence meets their expectations before the assessment begins.
How do we confirm that Keycloak runs in FIPS mode?
Confirm FIPS mode in two steps: with the software vendor, and with your assessor. Start by asking the vendor which distribution, Java runtime and cryptographic provider are the ones they describe as FIPS-enabled, which configuration settings turn that mode on, and which validation certificates cover the exact cryptographic module in use. Then check those certificates against the NIST validation lists for the module version you deploy. Your assessor will check whether the configuration, the operating environment and the evidence match your requirements. The FIPS 140 standards are a separate matter from your control baseline. For criminal justice data, the FBI CJIS Security Policy version 6.1 requires FIPS 140-3 certified modules or FIPS 197 AES with at least 256-bit keys for CJI in transit and at rest outside physically secure locations, according to California DOJ bulletin 2026-ISRS-001. Record each finding for the security plan.
How are Keycloak version upgrades handled after go-live?
Upgrades are planned work with a written procedure, a test environment and a rollback plan, and the scope should say who performs each step. Since Keycloak 26.0, the project plans four minor releases a year and a major release every two to three years, and says breaking changes in minor releases will be opt-in. The current release is 26.8.1, published October 13, 2026, and the 26.8 upgrade notes add changes that need review, such as enforced SMTP StartTLS, mandatory signature validation of backchannel logout tokens from external providers, and login failures persisted to the database by default. The database schema migrates automatically at startup by default, while large deployments often apply the SQL manually. If you use the Keycloak Operator, the documentation strongly recommends manual approval mode for updates. Ask any partner whether upgrades are included in the build or sold as a separate retainer.
What changes when the Keycloak deployment must run in an air-gapped network?
An air-gapped network changes how software, container images, documentation, updates and vulnerability data reach the environment, and it adds work to each of them. The build team must move every package, image and dependency across the boundary through an approved process, and confirm their integrity and authenticity before import. Upgrades need the same process on each release, and vulnerability data must come from an offline source. Other open-source platforms document offline installation paths, such as Kubernetes image pre-pulls and private registries, and the same principles apply to Keycloak and its supporting components. The NERC CIP-013-2 requirement on verifying software integrity and authenticity is a useful model for the transfer process, even if your sector is different. Ask the partner to describe the transfer procedure and the test evidence for it before the scope is signed.
What to ask a partner before you sign a Keycloak scope
Start with the written scope, because it defines what you are buying. Ask the partner to list each Keycloak component in scope: realm and client configuration, LDAP or Active Directory user federation, Kerberos settings, certificate-based smart card sign-in, the reverse proxy and TLS layout described in Keycloak's production guide, and the split of the admin console and Administration REST API onto a separate hostname or context path. For each item, ask whether it is a fixed deliverable with written acceptance criteria or time-and-materials work. Ask which Keycloak release line will be deployed and how the partner will handle the minor releases that the project plans four times a year. The current release in the supplied facts is 26.8.1, published October 13, 2026, so ask how the partner will confirm that version against your environment before build.
Next, ask exactly what the evidence package contains and who owns it afterward. A useful package includes configuration exports, a mapping from each Keycloak setting to the identification and authentication controls in the NIST SP 800-53 baseline your authorizing official uses, sign-in test records for each method, logging and metrics configuration, and backup and restore test results. NIST's SP 800-53B moderate baseline selects 287 controls and enhancements, so ask how the partner narrowed that set to the controls this service touches and what they left out. Confirm in writing that the partner prepares evidence and does not issue audit reports or attestations. Independent assessors and certification bodies make those determinations, and your package should be written to help them test.
Ask for the offline install procedure in writing before you commit. The procedure should list every artifact that crosses the boundary: container images, the Keycloak Operator bundle, database drivers, and any custom providers. Keycloak's Operator is recommended through Operator Lifecycle Manager and its documentation strongly recommends manual approval mode for operator updates. Ask how manual approval will be configured in a disconnected cluster, who approves each update, and how each carried package is verified for integrity and authenticity. On the database side, ask whether schema migration will run automatically at startup or as SQL applied by your administrators. The upgrade guide suggests manual migration for large deployments. Confirm that your chosen database version is on Keycloak's supported list, which currently includes PostgreSQL 14 to 18.
Ask for references under NDA and do not assume the partner has directory or smart card experience. Request named engagements, with the sponsor's agreement, that involved LDAP or Active Directory federation, Kerberos sign-in, and certificate-based smart card authentication in environments similar to yours. Ask how the partner tests federation sync, attribute mapping, group-to-role mapping, and what users see when a directory source is unavailable. For smart cards, ask which middleware, certificate chain validation, and revocation checks they will configure, and how they will confirm that behavior on your current Keycloak version. Ask whether they will test with real cards issued by your agency's credential program, because a lab certificate does not prove the production trust chain works.
Finally, agree the handover plan and the retainer terms before signing. The handover should include runbooks, administrator training, a dated acceptance step, a list of who holds administrative credentials, and a rule for rotating them. For retainers, ask what is covered: review of each minor release and its breaking-change notes, staging upgrades, the 26.8 upgrade items such as enforced SMTP StartTLS and mandatory validation of backchannel logout tokens from external providers, and recurring security testing. Ask how often testing runs, what triggers an out-of-cycle review, and which items are billed separately. Ask for the quote to list each component, whether it is one-time or recurring, and what changes the price, so you can compare a partner with your own team on the same basis.
How DeployOpen scopes and delivers public sector Keycloak work
DeployOpen plans, implements, hardens, documents and supports self-hosted open-source platforms inside the client's own infrastructure, including cloud accounts, data centers and air-gapped networks. For Keycloak in public sector settings, we start from a written, fixed scope that names the protocols, federation sources, authentication methods and evidence the agency needs.
How we scope
- Engagements are fixed-scope, with the Keycloak version, deployment topology and in-scope realms agreed in writing before work starts.
- We record which applications, federation sources such as LDAP or Active Directory, and Kerberos or smart card sign-in paths are in the agreed boundary.
- We confirm with your security and compliance owners whether FIPS mode, air-gapped installation and identification and authentication evidence are required.
How we build
- We deploy Keycloak in your infrastructure with TLS on all communication and an admin hostname or path separated from public frontend URLs.
- We configure the database, high availability design and operator update approach, with manual approval for operator updates where that fits your change control.
- We test sign-in flows, federation, MFA and logout behavior against the written acceptance criteria, and record the results for review.
How we hand over
- We deliver configuration documentation, realm and client inventories, and runbooks for patching, backup, restore and certificate rotation.
- We provide evidence packs that map configured authentication and access settings to the controls your assessor will test, without issuing any audit opinion.
- We train your operators on administration, metrics enabled through the management interface, and the upgrade procedure agreed in the scope.
How we support
- Ongoing support, upgrades and continuous testing are available as retainers after handover, scoped in a separate written agreement.
- Retainer work covers planning Keycloak minor and major release upgrades, reviewing upgrade notes for breaking changes, and rehearsing database migration.
- Your team keeps ownership of policy decisions, and we confirm each change against the scope agreed with your agency.

