How Keycloak helps meet NIST SP 800-53 IA-2 and where it stops
A federal agency, federal contractor or regulated team that must show IA-2 coverage for organizational users has to answer one question for the assessor: can every person who uses the system be uniquely identified, authenticated, and linked to the processes they start? Keycloak can carry much of that technical answer. It assigns each user a unique identity in its own user store or in a federated directory, authenticates that identity through its login flows, and records what happened in the admin and login events. What it cannot do is prove the control on its own. IA-2 is assessed at the system level, and the assessor will examine the processes, personnel and upstream identity sources around Keycloak as closely as the Keycloak configuration itself.
The baseline decides how much of the control you need to show. IA-2 is selected for the low, moderate and high baselines in SP 800-53B Release 5.2.0, and the enhancements IA-2(1), IA-2(2), IA-2(8) and IA-2(12) are selected in all three of those baselines. IA-2(5), individual authentication with group authentication, is selected only in the high baseline. Before you configure anything, confirm which baseline your system is authorized at, which enhancements your system security plan claims, and whether any users authenticate through a PIV credential that you intend to accept under IA-2(12). Those decisions set the scope of the Keycloak work, and they should be written down before configuration starts.
Keycloak's technical support for these requirements is concrete. For IA-2(1) and IA-2(2), you can require one-time password policies, W3C WebAuthn credentials, passkeys and recovery codes through authentication flows, and you can make MFA conditional on the realm, client or role. For IA-2(8), replay-resistant authentication depends on protocol behavior, token lifetimes and how the client and proxy handle authentication responses, so you need to test that behavior in your own environment rather than assume it. For IA-2(5), group-based authentication requires a design decision about which group membership triggers which authentication requirement. Confirm each of these against the Keycloak server administration guide and your test results.
Several items sit outside Keycloak and will decide whether the assessment passes. Upstream sources such as LDAP or Active Directory user federation, identity brokering to external OIDC or SAML providers, and social providers each determine whether a user identifier is unique and when an account is disabled. Account provisioning and deprovisioning, the approval for privileged roles, the handling of shared or group accounts, and the personnel who administer the Keycloak realm all need written procedures. The assessment methods in SP 800-53A also include interviews with system administrators and examination of system accounts and audit records, so the people and records must be ready to show.
DeployOpen configures Keycloak, prepares the settings, test results and evidence that map to IA-2 and its enhancements, and documents the boundary between Keycloak and the surrounding processes. DeployOpen does not issue assessment results, authorizations or certifications. Those come from the authorizing official, the assessor or the relevant certification body. Ask your assessor early which evidence format they expect, and agree with them which upstream sources and processes fall inside the system boundary before the evidence package is built.
Keycloak NIST SP 800-53 requirement map for IA-2 and its enhancements
This table maps IA-2 and five enhancements that SP 800-53B selects in the baselines to the Keycloak capability that supports each one, the configuration to set and the question to settle first. SP 800-53A assesses IA-2 with two determination statements, using examine, interview and test methods. The map is a starting point for the assessor, and it is not a finding about your system.
| Requirement and baseline | Keycloak capability | Configuration to set | Open question to confirm |
|---|---|---|---|
| IA-2, identification and authentication (organizational users). Low, moderate and high | Each person has a unique Keycloak user, linked to the authoritative source through LDAP, Active Directory or brokered identity providers | One account per person, no shared logins for people, and federation mappers that keep the unique identifier stable | Which system is authoritative for user identity, and whether service accounts fall inside the organizational user scope the assessor will test |
| IA-2(1), MFA to privileged accounts. Low, moderate and high | Authentication flows can require OTP or WebAuthn, and the admin console can sit on its own hostname | Require a second factor for privileged roles, and expose the admin console and Administration REST API on a separate hostname | Which accounts count as privileged in your environment, and whether operating system or database administrators outside Keycloak must be covered by this control |
| IA-2(2), MFA to non-privileged accounts. Low, moderate and high | OTP policies, W3C WebAuthn, passkeys and recovery codes can be required for all users in a realm | Set the realm-wide second factor, the OTP policy and the recovery code policy, and document the enrollment steps | Which factor types the organization accepts for this control, and how recovery codes are issued, stored and retired |
| IA-2(5), individual authentication with group authentication. High only | Group membership drives roles, but each person still signs in with an individual credential | Assign access through groups and roles, and block shared usernames so each person authenticates before group access applies | Whether any shared or group accounts exist in target systems, and how the organization records each one for the assessor |
| IA-2(8), access to accounts, replay resistant. Low, moderate and high | WebAuthn and passkeys are phishing-resistant factors, and OTP codes are time-limited, while TLS protects the login exchange | Prefer WebAuthn or passkeys for privileged roles, enforce TLS on all communication, and restrict the reverse proxy paths | Whether the assessor accepts time-based OTP as replay resistant for your system, and which factor types you will document as such |
| IA-2(12), acceptance of PIV credentials. Low, moderate and high | Confirm in your Keycloak version whether X.509 or smart card login is available for PIV certificates | If available, configure certificate validation, trust anchors and revocation checks, and map certificate identities to Keycloak users | Whether PIV acceptance applies to your system, which PIV issuer and trust chain you use, and how revocation status is checked |
How Keycloak supports unique identification for IA-2 organizational users
IA-2 asks for more than a sign-in page. The system must uniquely identify and authenticate each organizational user, and it must tie that identity to the processes that act on the user's behalf, so a later action can be traced to one person. In Keycloak, uniqueness is decided by the user record a sign-in resolves to within a realm, and the outcome depends on how that record was created and where its identity comes from. Assessors working from SP 800-53A typically examine the list of system accounts, interview the people who run user administration, and test whether the process for creating and matching users prevents two people from sharing one identity. Plan your Keycloak configuration around those three checks.
Local realm users are the simplest case. Each user has an internal identifier and a username that must be unique within the realm, and the realm's login settings determine whether email can also serve as a login name. Shared logins are the most common break in this control. A generic account, such as a help desk or operations login, lets several people act under one identity, so the logs cannot show who did what. Disable or remove these accounts, confirm that no runbook stores their passwords, and require individual administrator accounts. Service accounts and client identities need separate handling. A confidential client can use its service account to obtain tokens, and that account identifies the application. Record each one with a named owner, and block interactive sign-in for it so that no person logs in with it.
Federated users carry identity from another source, which is where uniqueness most often fails. With LDAP or Active Directory federation, Keycloak maps directory attributes to its user fields, so the attribute chosen as the username determines whether two directory objects can collide. Kerberos principals raise the same question. Brokered identity providers supply a subject identifier issued by the external provider. Account linking that matches on email can attach one person's session to another person's record if the external provider reuses or recycles addresses. Review each attribute mapping, decide whether linking by email is permitted at all, and confirm with the identity owner that the chosen identifier is stable and unique across the population. Record which identifier each provider is trusted to assert.
The configuration decisions tie these together. First, disable shared logins in policy and in the realm, and make the account inventory show a one-to-one link between each account and a person or a named non-person owner. Second, control who can create users. Limit realm administration roles to a small group, separate account creation from approval of privileged access, and turn off self-registration unless a documented need exists. Third, confirm the upstream source of truth for every user population. For each population, record whether the record originates in a directory, an HR system, a partner identity provider or Keycloak itself, and who may change it. A Keycloak user with no matching record in the source of truth becomes a finding when that person leaves. Have your team confirm these settings against the Keycloak version you deploy, because console labels and defaults change between releases.
What evidence Keycloak produces for IA-2 assessors
IA-2 assessors use the examine method to review artifacts, so the evidence must show which accounts exist, how authentication is configured, what happened at login and which software ran. Each card names one artifact, what it proves and what it cannot establish, so you can decide which gaps to close with interviews and tests.
List of system accounts
Assessors examining IA-2 ask for a list of system accounts. In a Keycloak realm, that means the user accounts, service accounts and client credentials that can authenticate. Export the user list from the admin console or the Administration REST API, with fields for unique username, enabled status and any available login data. The export proves each identifier is unique within the realm, but it does not prove that a named person holds each account or that a shared account has an owner. Check that every service account maps to a documented owner before the assessment.
Realm configuration exports
A realm export records the settings assessors test: required actions, OTP and WebAuthn policies, password policy, authentication flows and client definitions. Keep each export in version control with a dated commit, so changes between assessment periods appear in the diff. An export proves what was configured when it was taken, but it does not prove that a flow ran for every login. Redact client secrets and key material before committing, and confirm the export covers every setting your authorization boundary includes.
Admin and login event records
Admin events show who changed realm, client or user configuration. Login events show authentication attempts, successes and failures. Enable both event types and confirm they reach storage you control. The Keycloak 26.8 upgrade notes say login failures are persisted to the database by default, so check how that affects your retention plan. Keep the records for the period your authorization requires, and confirm that period with the authorizing official. These records prove that authentication was attempted and logged, but they do not prove that the person using a credential was the account holder.
Prometheus metrics endpoint
When Keycloak starts with metrics enabled, it serves Prometheus-format metrics at /metrics on its management interface. Optional HTTP request and cache histograms can be added. Assessors may ask for this endpoint to show that the identity service is running and how authentication traffic is trending. Restrict scraping to the monitoring network, because metrics can reveal load patterns and internal topology. The metrics prove operational state at the time of collection, but they do not prove which authentication methods were used or that MFA was enforced for any account.
Keycloak release and manifests
Record the exact Keycloak release in use, for example 26.8.1, which was published October 13, 2026, along with the Operator version and image reference. Store the Operator custom resource manifests for Keycloak, KeycloakRealmImport, KeycloakOIDCClient and KeycloakSAMLClient in version control beside the realm exports. The Operator documentation strongly recommends manual approval mode for operator updates, which makes each upgrade a recorded decision. A release record shows which software was assessed, but it does not show that the software is patched, so compare it against current security advisories.
Configuration sequence for IA-2 in a Keycloak realm
This sequence turns Keycloak into an identification and authentication component that an assessor can trace from boundary definition through user lifecycle, MFA policy and logging to a documented evidence pack. Each step closes with a check the team can repeat and show to an auditor.
Fix the system boundary and control baseline
Before any Keycloak configuration, the compliance lead and the system owner define which applications, realms, administrators and user populations fall inside the system boundary, and which control baseline the system is assessed against. IA-2 is selected in the low, moderate and high baselines, so the baseline choice determines which enhancements, such as IA-2(1), IA-2(2) and IA-2(8), must be evidenced. Confirm the baseline selection against the SP 800-53B profile your authorizing body uses. The step closes with a signed boundary diagram and a control mapping that names Keycloak as the component implementing IA-2 for each in-scope population.
Deploy over TLS behind a reverse proxy
The platform team deploys Keycloak on a production-mode configuration with a supported production database, not the development file database. The production guide calls for TLS on all communication, so certificates cover the public hostname, the database connection and any internal hops the team controls. Place a reverse proxy in front with path restrictions, and serve the admin console and Administration REST API on a separate hostname or context path from public frontend URLs. The step closes when an external scan confirms that the admin paths are unreachable from the public network and that every endpoint negotiates TLS.
Set realm and user lifecycle rules
The identity team creates a dedicated realm for the in-scope population and defines how each account is identified, created, changed and removed. Each user gets one account tied to a single identity, shared or generic accounts are blocked by policy, and administrative roles are assigned through groups with least privilege. Define joiner, mover and leaver procedures, including who may disable an account and how quickly that action must happen under your own policy. The step closes with a test realm export and a sample of accounts showing unique usernames, assigned roles and a documented removal path.
Configure MFA and authenticator policies
The security team configures required actions and authentication flows so that privileged accounts must use multi-factor authentication under IA-2(1), and non-privileged accounts that access the system must do so under IA-2(2). Keycloak documents OTP policies, W3C WebAuthn and passkeys, and recovery codes, so the team selects the authenticator types it will support and confirms each one with the vendor documentation for the version in use. Define how recovery codes are issued and retired, and how replay-resistant authentication under IA-2(8) is met for the chosen methods. The step closes when test accounts in each role complete login with the required factors and failed attempts are rejected.
Enable logging and metrics
The operations team turns on the event and metrics configuration so that authentication, failure and administrative actions leave records that can be retained and reviewed. Keycloak exposes Prometheus-format metrics at /metrics on its management interface when started with metrics enabled, so the team confirms that the management interface is restricted to monitoring networks. For this release, confirm with the upgrade notes how login failures are persisted, and set log destinations and retention to match your audit policy. The step closes when a test login, a failed login and an administrative change each appear in the log store and in the metrics output.
Assemble the evidence pack
The compliance lead assembles the artifacts an assessor will examine for IA-2, including the list of system accounts, configuration exports, MFA policy settings, admin role assignments and sample audit records. Interview objects in SP 800-53A are typically the administrators who run the system, so the pack includes a short written procedure they can walk through. Map each artifact to the determination statement it supports and note where a control depends on an organizational process rather than on Keycloak. The step closes with a reviewed pack, dated and version-stamped, that the system owner accepts before any assessment begins.
Configuring MFA for privileged and non-privileged accounts in Keycloak
IA-2(1) requires multi-factor authentication for privileged accounts and IA-2(2) requires it for non-privileged accounts, so the Keycloak configuration should split the user population into two groups and enforce a defined factor set for each. Keycloak applies authentication through browser flows. A common pattern keeps the standard browser flow for general users and adds a conditional step that requires a second factor when the user holds an administrative realm role or belongs to a privileged group. Before you rely on this, confirm which role or group source your user federation or brokered identity provider supplies. A condition keyed to a group that nobody maintains will skip the second factor without any error, so test it with a sample account from each population.
Next, decide which factors each population may use. In the realm, the OTP policy controls the algorithm, digit count, and period for time-based or counter-based codes. The W3C WebAuthn policies and the passkey options control security keys, platform authenticators, and passkeys with conditional or modal UI. Recovery codes cover account recovery and are not a primary factor. For privileged accounts, the usual decision is to require at least one phishing-resistant factor and to force enrollment before the first administrative session. For non-privileged accounts, the organization may accept OTP where its risk owner approves it. Record each choice with the control it satisfies so that the assessor can trace it from requirement to setting.
IA-2(8) asks for replay-resistant authentication, which is a separate question from whether MFA is present. A time-based code can be captured through a phishing proxy and submitted again within its validity window, so an OTP step is replayable in the sense the control describes. WebAuthn credentials are bound to the relying party identifier, and the browser will only use a credential for the matching origin, so a credential presented to a lookalike domain does not verify at the real site. Passkeys keep this property within their sync scope. Keycloak documentation describes the methods but does not decide whether a given configuration meets the assessor's reading of IA-2(8). Confirm the classification with the assessor before you write it into the system security plan, and document which flows still allow an OTP step.
Recovery codes and fallback paths deserve the same scrutiny as the primary factor, because an attacker will look for the weakest route to a session. Check whether recovery codes are single use, how they are generated and displayed, who can regenerate them, and whether they are stored in a form that protects them at rest. Check also whether an administrator can reset a user's OTP or WebAuthn credential without verified identity, whether an email-only reset skips the second factor, and whether the admin console, the master realm, and the Administration REST API enforce the same policy as application sign-in. Keep exported flow definitions, policy settings, sample login results, and authentication event logs as the evidence an assessor will request.
What Keycloak does not cover for IA-2
IA-2 is assessed on more than the identity platform. The items below sit outside Keycloak's configuration but still shape whether an assessor can accept the authentication design. Give each one a named owner and confirm the details with your assessor and the Keycloak version you deploy. DeployOpen prepares systems and evidence for assessment but does not issue audit reports or certifications.
Written procedures and staff interviews
IA-2 is assessed with examine, interview and test methods, so an assessor will ask for the organization's written procedures for uniquely identifying and authenticating users and will interview the administrators who run the system. Keycloak produces configuration and event evidence, but it cannot write the policy or explain the process to an assessor. Check that the procedures name who approves accounts, how MFA enrollment is handled and who is accountable for the realm configuration.
Account approval workflows
Keycloak can create accounts, assign roles and manage credentials, but it does not decide who should hold an account. The approval step, such as a manager sign-off or an HR-triggered request, usually lives in a ticketing system or an identity governance tool outside the realm. Confirm where approvals are recorded, how each Keycloak user links to a named person and how the request trail is kept for the assessor.
Upstream identity provider MFA
When users sign in through brokering to an upstream OIDC, SAML or social provider, Keycloak accepts that provider's authentication result. Whether the brokered login satisfies IA-2(1) or IA-2(2) depends on the upstream provider's MFA enforcement and on what authentication details come back to Keycloak. Confirm which claims or authentication context are returned, whether Keycloak requires its own second factor for brokered logins and which upstream settings belong in the evidence set.
PIV and smart card acceptance
IA-2(12) requires acceptance of PIV credentials, and Keycloak does not meet that requirement through default settings alone. Confirm which credential types the target environment must accept and whether the Keycloak version you deploy supports them for your realm and clients. Plan testing with the actual cards and the issuing certificate chain before the assessment, so gaps appear in a test window and not during the assessor's review.
Group authentication for high baselines
IA-2(5) applies only to the high baseline and addresses individual authentication when a group or shared account is used. Keycloak authenticates individuals, so any shared administrative account needs a documented design, such as individual sign-in followed by a privileged access step, or a documented exception. Agree the approach with your assessor early, because the acceptable design depends on the system's boundary and its risk decisions.
Hosting environment controls
Many IA-2 findings depend on controls below the application, including the host operating system, the database, the network path to the admin console, TLS certificate management and cloud or data center account controls. Keycloak's production guidance calls for TLS on all communication and a separate hostname or context path for the admin console, but the hosting platform must enforce them. Map which environment controls fall inside the assessment boundary and collect their evidence from the infrastructure owner.
What assessors examine when they test Keycloak against IA-2
An assessor testing Keycloak against IA-2 will not accept a configuration screenshot as proof that users are uniquely identified and authenticated. SP 800-53A Rev. 5 assesses IA-2 with two determination statements and three methods: examine, interview and test. Each method draws on different assessment objects, and the conclusion depends on whether the evidence from all three agrees. Your preparation should be organized around those three groups of objects, not around the Keycloak admin console alone.
For the examine method, the assessor works through the list of system accounts and the system audit records. In Keycloak, the account list is the realm user population, including service accounts, local administrators and any accounts created through LDAP or Active Directory federation or identity brokering. Export that list from the realm and reconcile it against your personnel and HR records. Accounts with no owner, accounts shared by several people and accounts that were never disabled after a departure will be found in this reconciliation. Pull the admin events and login events for the same period, because the assessor will check that each account's activity traces to one named person.
For the interview method, the assessor speaks with the people who operate the system: Keycloak administrators, platform engineers and the network administrators who control the reverse proxy and the path restrictions in front of the admin console. They will ask how accounts are created, who may grant the realm-admin role, how the Administration REST API is reached, and what happens when a shared credential is suspected. Answers must match the realm configuration and the written procedure. Where an administrator says that a single break-glass account is used by the on-call team, expect the assessor to ask how individual use is recorded and whether that account is covered by IA-2(5), which applies only in the high baseline.
For the test method, the assessor tries to break the controls. A typical test attempts to create a second user with a name that a colleague already uses, or to log in as a shared administrative account without a second factor where MFA is required for privileged access under IA-2(1) or for non-privileged access under IA-2(2). The tester may also capture an OTP or session token and replay it, which is the concern behind IA-2(8). To prepare, confirm that the realm's OTP or WebAuthn requirements are enforced by the authentication flow bound to the admin and application clients, that duplicate usernames and emails are blocked, and that token lifetimes and session settings limit replay. Run these tests yourself first and keep the results.
The assessor's conclusion depends on the system boundary and on your own records. A Keycloak realm that federates a directory outside the boundary, or serves applications that are not in the assessed system, changes which accounts and logs the assessor may examine. Define the boundary in writing before testing, list every identity source feeding the realm, and keep the procedure that ties each account to a responsible person. An assessor will not accept a claim about unique identification that your own user records cannot support.
Keycloak NIST SP 800-53 IA-2 questions buyers ask before hiring help
What drives the cost of a Keycloak IA-2 engagement?
The cost follows the written scope, and six factors move it most: the number of realms, the federation sources, the MFA populations, the hosting and high availability design, the evidence scope and the baseline.
- Realms: each realm needs its own client registrations, authentication flows and policies documented.
- Federation sources: each LDAP, Active Directory or brokered identity provider needs attribute mapping and testing.
- MFA populations: privileged and non-privileged accounts are treated separately under IA-2(1) and IA-2(2).
- Design and evidence: the hosting model and the evidence scope set how much is built and documented.
One-time work covers design, configuration and evidence. Upgrades and monitoring recur. Ask for a quote that itemizes each driver and names who performs each task.
How long does Keycloak IA-2 work take and what must be decided first?
Duration depends on the scope, so no timeline applies until the scope is written and agreed. The decisions that gate the work are the system boundary, the impact level and baseline, the realm model, the federation sources, the MFA methods for each account population, and the hosting and high availability design.
The database decision also gates the build. Keycloak supports PostgreSQL 14 to 18 among its production databases, and both supported high availability designs need a synchronously replicated database. For Operator-managed deployments, the team should also choose its update approval mode before go-live. Late decisions usually cause rework in configuration and evidence. Ask the provider to show which decision gates each phase.
What does our organization need to provide during the engagement?
The work needs decisions from the system owner, access to identity sources, administrative access to the target environment and a clear assessor contact.
The system owner confirms the system boundary, which accounts are privileged, the acceptable MFA methods and any risk acceptances. The team needs read access to LDAP or Active Directory for attribute mapping, plus test accounts for each population. Early contact with the assessor helps the evidence match the format they expect. DeployOpen prepares systems, controls and evidence, but independent assessors and certification bodies issue assessment results. Ask for a responsibility matrix in the written scope so each input has a named owner and a due point.
Can our own team implement IA-2 controls in Keycloak without a partner?
Yes, a team can do this internally if it has Keycloak operations experience, identity engineering time and someone who can work through the SP 800-53A assessment procedures for IA-2.
The usual gaps are realm and federation design, MFA policy configuration, a high availability database, upgrade planning and metrics collection. Keycloak plans four minor releases a year in the 26 line, so an internal team must own that cadence. The most common gap is evidence: mapping each determination statement to a configuration setting, a log or an interview record. Check three things before deciding: a named owner, coverage of each skill above, and capacity during rollout. A partner is most useful when the deadline is tight or the team has no prior Keycloak production experience.
How does the high availability design change the Keycloak work?
The high availability architecture changes the build, the testing and the operational evidence, so it should be chosen before configuration starts. Keycloak documents three designs: a single cluster optionally spread across availability zones, multi-cluster deployments (v2) without an external Infinispan cluster, and the deprecated multi-cluster v1 design that uses a separate Infinispan cluster per site.
Both supported designs need a synchronously replicated database. The Keycloak 26.8 upgrade notes recommend moving from the deprecated multi-site feature to the stateless feature, so a new build should avoid starting on v1. Ask the provider to explain how failover, session behavior and database replication will be tested, and which of those tests will be kept as evidence.
What evidence does an assessor usually expect for IA-2 in Keycloak?
SP 800-53A assesses IA-2 with two determination statements and three methods: examine, interview and test. The examine objects include the list of system accounts and system audit records. The interview objects include personnel with system operations responsibilities and system and network administrators. The test objects include the organizational processes for uniquely identifying and authenticating users.
For Keycloak, typical artifacts are realm and user configuration exports, MFA policy settings, admin and login event records, and metrics exposed at the management endpoint when metrics are enabled. The evidence must match the system boundary and the operating period the assessor selects. Ask the provider to map each determination statement to one artifact, one owner and one collection method. The provider prepares this evidence, but the assessor decides whether it is sufficient.
Does the NIST baseline choice change the IA-2 work?
Yes. IA-2 is selected in the low, moderate and high baselines, so the core work applies at every impact level. The enhancements IA-2(1), IA-2(2), IA-2(8) and IA-2(12) are selected in all three baselines. IA-2(5), individual authentication with group authentication, is selected only in the high baseline.
SP 800-53B Release 5.2.0 selects 149 items for the low baseline, 287 for moderate and 370 for high, counting controls and enhancements together. Ask the system owner and assessor to confirm the impact level and any tailoring before scoping. If the system also falls under another regime, such as FedRAMP, CJIS or CMMC, confirm those requirements separately, because they can add evidence or control expectations beyond the NIST baseline.
How DeployOpen scopes and delivers Keycloak IA-2 configuration and evidence
DeployOpen plans, implements, hardens, documents and supports self-hosted open-source platforms in infrastructure the client controls, and Keycloak is handled the same way. For IA-2, we map each unique-identification and MFA requirement to a configured realm, a documented authentication flow and the records an assessor would examine, and we prepare that evidence without issuing any audit opinion.
How we scope
- Engagements are fixed-scope, with the IA-2 control enhancements in play agreed in writing before work starts.
- The written scope lists which user populations, realms and applications fall under IA-2, IA-2(1), IA-2(2) and IA-2(8).
- Scope names the systems that will prepare evidence, such as admin event logs, and states who will collect and retain it.
How we build
- We configure unique user identities, disallow shared accounts, and document how each identity links to a person or process.
- MFA is set up with OTP, WebAuthn or passkeys, with separate authentication flows for privileged and non-privileged accounts.
- Replay-resistant authentication and session settings are tested against the scope, with test results recorded for the assessor.
How we hand over
- Handover includes configuration exports, a control-to-setting map, and runbooks for adding users and changing MFA policy.
- Evidence packages list each IA-2 determination statement and point to the realm settings, logs or test output that support it.
- We document known gaps and open decisions so your assessor and owners see the same picture on the day of handover.
How we support
- Ongoing support, upgrades and continuous testing are available as retainers, and support scope is agreed in writing.
- Keycloak upgrades are planned against the 26.x release notes, with changes to authentication behavior re-checked against the IA-2 map.
- Confirm with your team who owns evidence refresh cadence and who reviews changes to MFA or federation settings after handover.

