Keycloak vs authentik vs Zitadel: which fits your team
If you are choosing between Keycloak, authentik and Zitadel, the short answer is that Keycloak fits broad enterprise SSO under Apache-2.0, authentik fits teams that want an MIT-licensed core with LDAP and RADIUS providers and can accept a paid enterprise tier for some features, and Zitadel fits multi-tenant B2B products that can live with AGPL-3.0 obligations. Protocol coverage overlaps across all three, so the decision usually turns on license obligations and which features sit behind a paid edition, not on whether OpenID Connect or SAML is available. Keycloak supports OpenID Connect, OAuth 2.0 and SAML 2.0 and federates users from LDAP or Active Directory. authentik adds LDAP, RADIUS and proxy providers, while Google Workspace and Microsoft Entra ID integrations and mTLS client certificate authentication are enterprise-only. Zitadel models tenants as instances and organizations, which suits customers who manage their own users.
Start by listing the features your rollout depends on, then check each one against the license and the edition that includes it. Confirm with each vendor whether the features you need sit in the community code, in the paid enterprise code, or in a separate subscription. For Zitadel, review the licensing notes to see which parts stay Apache-2.0 if you plan to embed or modify the server. Also decide which database you will operate, since Keycloak and Zitadel both need PostgreSQL or another supported relational database in production, and check the current release lines and their support windows before you commit. Run a proof of concept against your real directory and your highest-risk application before you sign anything, so the protocol and license questions are answered with evidence.
Which platform fits which scenario
This table maps four common situations to the platform that fits best and the conditions that would rule it out. Read each row as a starting point: confirm the conditions against your own licensing, database and staffing constraints before you shortlist.
| Scenario | Best fit | Why |
|---|---|---|
| Workforce SSO against internal apps | Keycloak | Apache-2.0 server with OpenID Connect, OAuth 2.0 and SAML 2.0, plus LDAP or Active Directory federation and an admin console. It fits when SAML-only apps are common and you want no paid edition for core SSO. It is a weaker fit if your team does not want to run a relational database and a clustered deployment. |
| B2B SaaS where customers manage their own users | Zitadel | Organizations sit inside one instance, and each customer organization can use its own identity provider and admin delegation. It fits when multi-tenancy is central to the product and you accept AGPL-3.0 terms. It is a weaker fit if you must embed or modify the server without publishing changes, or if you need a commercial license the project offers separately. |
| B2B SaaS where customers manage their own users (alternative) | authentik | Enterprise Edition adds features such as Google Workspace and Entra ID integrations and enhanced audit logging under a paid subscription. It fits when you already run authentik for workforce access and need a lighter multi-tenant model. It is a weaker fit if you need the multi-tenant isolation Zitadel models through instances and organizations, and if the enterprise features are not covered by your subscription. |
| Small IT team running one server | authentik | Core is MIT-licensed, and its Docker Compose guide positions Compose for test setups and small-scale production on a host with at least 2 CPU cores and 2 GB of RAM. It fits when one PostgreSQL database and two containers are manageable for your staff. It is a weaker fit if you need features that sit only in the Enterprise Edition for production. |
| Small IT team running one server (alternative) | Zitadel | Self-hosting runs on Linux or macOS binaries, Docker Compose or Kubernetes, with PostgreSQL 14 to 18 as the database. It fits when your team is comfortable with PostgreSQL and wants the event-sourced audit trail. It is a weaker fit if you have no Kubernetes experience and want the simplest path to high availability, since the project recommends Kubernetes with the Helm chart for that. |
| Legacy LDAP-only apps | authentik | Its LDAP provider exposes users to applications that only speak LDAP, which Keycloak does not do in the same direction. It fits when those apps must bind to a directory interface and your users are managed in authentik. It is a weaker fit if your user store is an existing LDAP or Active Directory directory that must remain the source of truth, where Keycloak's federation is the better match. |
| Legacy LDAP-only apps (alternative) | Keycloak | Federates users from an LDAP or Active Directory directory, so the existing directory stays the source of truth while Keycloak provides SAML and OIDC to modern apps. It fits when the directory must not be replaced. It is a weaker fit if legacy apps need to authenticate directly against LDAP, because Keycloak does not provide that role. |
How Keycloak, authentik and Zitadel are built
Keycloak, authentik and Zitadel differ most in what you must run around the server. Keycloak needs a relational database in production, and the supported databases include PostgreSQL 14 to 18, MariaDB, MySQL, Microsoft SQL Server, Oracle Database and Amazon Aurora PostgreSQL. The dev-file database is for development only. Keycloak documents three high availability designs: one cluster optionally spread across availability zones, multi-cluster deployments (v2) without an external Infinispan cluster, and the deprecated multi-cluster v1. Both supported designs require a synchronously replicated database, so your database team must own replication and failover as part of the Keycloak design. Confirm the database vendor's replication model before you commit to a topology.
authentik runs as a server container with an embedded outpost, plus a worker container for background tasks, and stores its configuration and data in PostgreSQL. The 2025.10 release notes state that authentik no longer uses Redis, moving caching, tasks, sessions and WebSocket functions to PostgreSQL, and warn of roughly 50% more PostgreSQL connections after upgrading. For operations, that means one fewer component to run, but PostgreSQL connection capacity and pooling become a sizing question. Check the connection limits on your database before upgrading an existing authentik install, and confirm the worker container is scaled and monitored alongside the server.
Zitadel is event sourced: it stores every change as an event, which gives a built-in audit trail of all changes over an unlimited period. Self-hosted Zitadel uses PostgreSQL 14 through 18 and documents Linux and macOS binaries, Docker Compose and Kubernetes, with the official Helm chart recommended for high availability. The operational consequence is that your event store grows with change history, so retention, backup and restore procedures should be tested against that model. Ask the vendor how event data is compacted or archived in your target version, and treat the audit trail as a data-protection question as well as a feature.
Protocols, multi-tenancy and databases side by side
This table compares the three identity servers on license, protocols, directory integration, multi-tenancy, databases and deployment paths, using only the researched facts. Read each row as a fit question: if your estate depends on LDAP, RADIUS, B2B tenant isolation or a specific database, that row decides more than the rest.
| Capability | Keycloak | authentik | Zitadel |
|---|---|---|---|
| License (core) | Apache-2.0 for the server | MIT for most code; authentik/enterprise under the enterprise license | AGPL-3.0-only from v3; APIs, SDKs, Helm and Terraform stay Apache-2.0 |
| Protocols | OpenID Connect, OAuth 2.0 and SAML 2.0 | OAuth2/OIDC, SAML, LDAP, RADIUS, proxy, SCIM, RAC and WS-Federation provider types | OpenID Connect, OAuth 2.0 and SAML 2.0; device authorization grant |
| LDAP and RADIUS | Federates users from LDAP or Active Directory; RADIUS not in supplied facts | LDAP and RADIUS provider types documented; confirm the depth of each for your legacy apps | Federates login from LDAP and OpenLDAP as an upstream provider; confirm RADIUS support |
| SCIM | Confirm SCIM server support for your version before relying on it | SCIM provider type documented | SCIM v2 service provider interface for provisioning |
| Multi-tenancy model | Realms as isolated tenants; Organizations feature for B2B grouping (confirm fit for your tenant count) | Supported model not stated in supplied facts; confirm how tenants are isolated before design | Instances as virtual tenants with full data isolation, organizations inside instances, and per-organization identity providers |
| Supported databases | PostgreSQL 14 to 18, MariaDB, MySQL, SQL Server, Oracle, Aurora PostgreSQL; dev-file database for development only | PostgreSQL only for configuration and data; Redis no longer used since 2025.10 | PostgreSQL 14 to 18 for self-hosted deployments |
| Deployment paths | Operator via OLM (recommended) or kubectl; server distribution on virtual machines | Docker Compose for test and small production; Kubernetes installation documented | Linux and macOS binaries, Docker Compose and Kubernetes with the official Helm chart recommended for high availability |
| Latest release named in facts | 26.8.1, published October 13, 2026 | 2026.8.4, published October 14, 2026 | v4.19.5, released October 15, 2026 |
What is free, what is paid and what the license requires
Keycloak is licensed under Apache-2.0, and the supplied facts show no paid edition of the upstream project. The commercial option you will see is Red Hat build of Keycloak, a supported distribution based on the open source project that replaces Red Hat Single Sign-On. Apache-2.0 is a permissive license. You can run, modify and redistribute the server, including inside commercial products, as long as you keep the license notices and identify changes when you pass the code on.
- No license fee for the upstream server: Your recurring costs are infrastructure, the database, staff time and any outside services you buy, not a license charge for the server itself.
- Red Hat subscription is optional: Red Hat build of Keycloak adds vendor support and a Red Hat lifecycle. Its product page showed version 26.6 as the latest, so confirm the current version and terms with Red Hat.
- Internal modification and hosting: Apache-2.0 does not require you to publish source for changes you run for your own users. Redistributing a modified build carries notice and attribution duties.
- Custom providers and themes: Extensions you write can be licensed as you choose. Check the terms of any third-party extension before you adopt it.
Ask your counsel whether a supported distribution changes any obligation you carry, and confirm which distribution your support contract covers.
authentik uses two licenses in one repository. Most of the code is MIT licensed, so the core server can be used and modified under permissive terms. Code under authentik/enterprise is under a separate enterprise license, and the repository LICENSE file states that it needs a paid subscription for production use. The pricing page sets out three editions, so the cost question depends mainly on which enterprise features your team needs.
- Open Source edition: Free, with community support through Discord only, according to the pricing page.
- Enterprise edition: $5 per user per month billed annually, plus $0.02 per external user per month. Your internal and external user counts drive this cost.
- Enterprise Plus: Starts at $20k annually and adds dedicated support with SLAs, multi-instance deployment support and FIPS compliance for FedRAMP requirements.
- Enterprise-only features: Google Workspace and Microsoft Entra ID integrations, mTLS client certificate authentication, privileged access management, password history, enhanced audit logging, and ticket-based support for subscriptions over $1k.
Get the user counts and the edition in a written quote, and confirm which features in your target version sit under the enterprise license before you design around them.
Zitadel moved its core server from Apache-2.0 to AGPL-3.0-only with v3, which the Zitadel blog dates to March 31, 2025. The core, Console and hosted login are under AGPL, while APIs, SDKs, proto definitions, examples, documentation, Helm charts and Terraform configurations stay under Apache-2.0. The Zitadel licensing file also notes some directories under other permissive licenses and says a commercial license is offered.
- AGPL on the server: If you modify the core and let users interact with it over a network, you must make the modified source available to those users under AGPL-3.0.
- Apache-2.0 client side: Applications, SDK integrations, and Helm or Terraform code can use the Apache-2.0 parts. Confirm which directories your build actually uses.
- Commercial license: Offered according to the licensing file. The supplied facts give no terms or prices, so request them in writing from Zitadel.
- Pricing: Zitadel publishes a pricing page, but the supplied facts include no tier figures. Treat any cost comparison as open until you have a written quote.
Ask counsel whether your planned modifications, internal use and any embedded code trigger AGPL source-offer duties, and whether a commercial license is needed before you build.
What drives the running cost of each platform
Licence terms set the price of the software, but most of the running cost comes from the database, the high availability design, the upgrade cycle and the people who operate and customize the platform. The cards below separate what you pay a vendor, what you pay a partner or your own staff to do, and what recurs every year.
Database operations
All three platforms need a relational database in production, and that database becomes a line item you run, back up and patch. Keycloak supports PostgreSQL 14 to 18 along with several other engines, Zitadel supports PostgreSQL 14 to 18, and authentik stores all configuration and data in PostgreSQL. Ask who owns backups, restore tests and minor-version patching, and whether your DBA team already supports the engine you choose. Confirm the connection sizing you need, because authentik's 2025.10 release notes warn of roughly 50% more PostgreSQL connections after upgrading.
High availability and synchronous replication
Keycloak's documented high availability designs both need a synchronously replicated database, and multi-cluster deployments add a second site to run and test. Zitadel recommends a Kubernetes cluster with its official Helm chart for high availability, so the cost sits in the cluster itself. authentik runs a server container and a worker container, and scaling them out adds load on PostgreSQL. Ask for the failover behavior you expect, the number of sites and the replication technology your database team will operate, because each of these changes the hours your staff spend on the platform.
Upgrade cadence and release support windows
Keycloak plans four minor releases a year, and its project says breaking changes in a minor release will be opt-in, which lowers the risk of each upgrade but still requires testing. authentik publishes releases named by year and month, and its security policy lists which lines receive fixes, so older lines drop out of support on a schedule you must track. Zitadel ships major versions such as v3 and v4 with their own migration work. Budget recurring staff time for testing and rollback, and ask each vendor for the support window of the line you plan to run.
Paid edition licensing
authentik's core is MIT licensed, but its enterprise directory and several features need a paid subscription for production use. The authentik pricing page lists Enterprise at $5 per user per month billed annually plus $0.02 per external user per month, and Enterprise Plus starting at $20k annually. Those features include Google Workspace and Microsoft Entra ID integrations, mTLS and enhanced audit logging. Keycloak and Zitadel do not gate these capabilities in the same way, although Zitadel's AGPL-3.0 license and commercial option should be reviewed with counsel. Ask which features you need and price them recurring each year.
Kubernetes operator skills
The Keycloak Operator is installed through Operator Lifecycle Manager or kubectl and manages Keycloak, KeycloakRealmImport, KeycloakOIDCClient and KeycloakSAMLClient resources. Its documentation strongly recommends manual approval mode for operator updates, which means someone on your team reviews each upgrade. Zitadel's high availability guidance also points to Kubernetes with Helm, while authentik can run on Docker Compose for smaller setups. Ask whether your platform team already runs Kubernetes operators in production, because that skill gap, not the licence, often sets the staffing cost.
Staff time for customization
Custom login flows, protocol mappers, themes and provisioning rules are where one-time build effort turns into recurring maintenance. Each customization must be retested after every upgrade, and the people who understand it may leave. Keycloak's extensibility is broad but is typically built by staff who know Java and its SPI model, while authentik's blueprints and Zitadel's APIs and SDKs push effort toward other skill sets. Ask a partner for a fixed-scope estimate of the initial build, then ask who will own each customization after handover and how many hours a year that ownership is expected to take.
How release cadence changes the work of staying current
For Keycloak, the cadence question is less about how often patches arrive and more about how often you must test a minor upgrade. The project plans four minor releases a year and a major release every two to three years, and since Keycloak 26.0 it has said that breaking changes in a minor release will be opt-in. That lowers the risk of surprises, but your team still has to choose which minor line to run, read the upgrading guide for each one it adopts, and retest realm configuration, custom providers and themes. Keycloak 26.8.1 is the current release. The Operator adds a second decision: the Operator documentation strongly recommends manual approval mode for operator updates, so someone on your team must own the approval step and keep it on a schedule.
authentik versions by year and month, so 2026.8.4 is the current release, and its security policy lists 2026.5.x and 2026.8.x as the lines receiving security fixes. The project announces security releases at least 24 hours in advance, which is a short window for a team that must schedule a change, back up PostgreSQL and verify the outpost after the update. Plan for patch days as an on-call or change-window task rather than quarterly work. Confirm which line your deployment is on, because an install on a line outside the supported list falls outside the security policy. The 2025.10 release notes also warn of roughly 50% more PostgreSQL connections after upgrading, so a routine-looking patch can still need database capacity checks. Read the authentik security policy before setting a patch rule.
Zitadel's current release is v4.19.5, released on October 15, 2026, and it follows a major.minor.patch tag format that you can see on its GitHub releases page. Confirm the support window for each line on that page before you write an internal patch policy. Because Zitadel stores every change as an event in PostgreSQL 14 to 18, each upgrade touches the same database that holds your audit trail, so a tested backup is part of every change. Whatever the cadence, the recurring work is the same: test each release in staging, apply database changes with a verified restore path, and track the Helm chart or Compose versions you deploy. Your own staff carry most of this work. A partner such as DeployOpen can take on upgrades or continuous support only under a written scope, so ask for the upgrade steps, test coverage and rollback plan in any quote.
How a typical implementation proceeds
The sequence below moves from the license decision through database sizing, first application onboarding, user migration or federation, hardening and backup, and ongoing upgrades. Each phase ends with a decision or check you can hand to a reviewer before the next phase starts.
Settle the license posture first
Before any installation, the platform owner and legal or procurement review which license terms apply to your use. Keycloak is Apache-2.0, Zitadel's server core is AGPL-3.0 since v3, and authentik's enterprise directory code sits under a separate paid license. Confirm with each vendor whether you need a commercial license or subscription for the features you plan to use, such as authentik Enterprise features like Microsoft Entra ID integration or mTLS. The output is a written note listing the license obligations and the paid features you have decided to need or avoid.
Size the database and high availability design
The platform team selects a supported production database and an availability design before building anything else. Keycloak needs a relational database in production, with PostgreSQL 14 to 18 among the supported options. Zitadel uses PostgreSQL 14 to 18, and authentik stores all configuration and data in PostgreSQL, with no Redis since its 2025.10 release. Confirm your database team's support model, backup tooling and whether your high availability design needs a synchronously replicated database, which Keycloak requires for its clustered designs. The output is an approved database and topology diagram.
Deploy the platform in a non-production environment
The engineering team installs the chosen product using its supported method: the Keycloak Operator through Operator Lifecycle Manager or kubectl, Zitadel's official Helm chart on Kubernetes, or authentik's server and worker containers. Keep the Keycloak Operator on manual approval for updates, as its documentation strongly recommends. Confirm with your platform team how the deployment fits your existing Kubernetes or virtual machine standards. The output is a working test instance with a documented install record, including versions pinned and the update approval mode chosen.
Connect the first application or upstream provider
Pick one low-risk application and register it as a client, using OpenID Connect or SAML depending on what the application supports. Use this step to test the tenancy model: a Keycloak realm, a Zitadel organization inside an instance, or an authentik application and provider pair. If workforce users sign in through an external identity provider, such as Entra ID or Okta, configure brokering now and test a full sign-in with MFA. The output is a signed-in test user, a recorded token claim check, and a sign-off from the application owner.
Migrate users or federate existing directories
Decide whether user accounts move into the new platform or stay in a directory that the platform reads. Keycloak can federate users from LDAP or Active Directory, while authentik exposes LDAP to legacy applications and Zitadel documents migration guides from Keycloak and other systems. Confirm password handling, attribute mapping and whether passkeys or MFA enrollments survive the move, since these depend on the source and target. The output is a tested migration or federation runbook and a reconciliation report comparing user counts and group memberships before and after.
Harden the configuration and test backup restore
The security team applies production settings: hostname and TLS, administrative access restrictions, audit logging, and any enterprise-only controls you have licensed. Run a restore of the database and configuration into a separate environment and confirm the platform comes back with users, clients and policies intact. Confirm with your auditors which logs and evidence they expect, since DeployOpen prepares evidence but independent auditors assess it. The output is a hardening checklist signed by the security owner and a restore test record with its date.
Run upgrades on a fixed cadence
The operations team sets an upgrade routine that matches each vendor's release model. Keycloak plans four minor releases a year and says breaking changes in minor releases are opt-in, while authentik names releases by year and month and supports specific version lines for security fixes. Confirm each vendor's supported version window and security notice practice before scheduling, and rehearse every upgrade in staging. The output is a written upgrade calendar, a rollback plan, and a recorded rehearsal result for the most recent release.
Questions buyers ask before choosing or hiring help
What does it cost to implement Keycloak, authentik or Zitadel?
The software licenses for the community builds of all three are free to download, so the real cost is labor, infrastructure and any paid subscription you choose. Implementation cost is driven by the number of applications to integrate, the user sources to connect (LDAP, Active Directory, external identity providers), the database and high availability design, custom login flows, and the testing and documentation your auditors expect. Recurring costs include hosting, database operations, patching and upgrade work, and support. For authentik, ask whether you need the Enterprise Edition, which the pricing page prices per user and by plan. Ask any provider for a quote built from a written scope that lists each of these items separately, with what is one-time and what recurs.
How long does an identity provider deployment take?
Duration depends on the written scope, so there is no single timeline that applies to every team. The main variables are how many applications need SSO, which protocols each one speaks, whether legacy apps need LDAP or proxy-based access, how many directories must be connected, and whether the platform runs on Kubernetes or virtual machines. Migrations from an existing identity provider add time for user mapping, credential handling and a parallel run period. Ask for a timeline tied to named deliverables, with the client tasks and review points listed alongside them.
What does the work need from our own team?
Expect to supply people who know your directories, your applications and your change process, even if an implementation partner does the build. Typical client inputs include an owner for each application's SSO requirements, access to the existing user stores and their attributes, a database or cloud account where the platform will run, a decision on who approves operator or container upgrades, and someone to review security settings such as token lifetimes and MFA policy. Ask the provider to name each client role in the scope document so that gaps are visible before work starts.
Can a small IT team run Keycloak, authentik or Zitadel?
A small team can run any of the three if it has a database administrator or someone comfortable with one, a container or Kubernetes workflow, and a patching routine. Keycloak needs a relational database in production and benefits from a planned upgrade cadence, since the project releases four minor versions a year. authentik has the smallest footprint on paper: a server container, a worker container and PostgreSQL, and its Docker Compose guide positions Compose for test setups and small-scale production. Zitadel is built around PostgreSQL and is typically deployed with the Helm chart for high availability. Ask a provider to test your intended topology and runbooks with your own staff before you commit.
How should we compare licenses for a commercial product?
Start with the license that governs the exact code you will run, not the project's headline license. Keycloak is Apache-2.0. Zitadel's core moved to AGPL-3.0-only with v3, while its APIs, SDKs and Helm charts stay Apache-2.0. authentik core is MIT, but code under authentik/enterprise uses a separate license and needs a paid subscription for production. Have your legal team check what happens when you modify the server, embed it in a product, or offer it to customers as a service, since AGPL has network-use obligations that Apache-2.0 and MIT do not. Confirm any commercial license terms directly with each vendor in writing.
Can we migrate to a different identity platform later, and what does it cost?
Migration is possible, but the cost is mostly in the integrations, not the platform itself. Every application that trusts the identity provider must be reconfigured with new client registrations, claim mappings and redirect URIs, and user credentials may or may not transfer depending on how they are stored and hashed. Zitadel documents migration guides from Keycloak and other systems using approaches such as just-in-time migration, which can reduce the password reset burden. Plan for a parallel run, a rollback path and a test matrix for each application. Ask any provider to estimate the migration effort from your application inventory before you choose the platform.
What should a quote for identity provider work include?
A useful quote lists the scope in writing before any work starts, with each deliverable and the acceptance criteria for it. Look for the platform version and edition, the target infrastructure (cloud, data center or air-gapped), the database and high availability design, each application or directory to be integrated, testing and documentation, and the client responsibilities. Ask which items are one-time and which are recurring, such as support or upgrade retainers, and what each covers. Confirm whether the quote includes third-party subscriptions, such as an authentik Enterprise license, and any compliance evidence the work is meant to produce. DeployOpen provides fixed-scope quotes based on this written scope and does not publish a price list.
What switching later costs
The cost of moving off an identity provider is mostly the data and the trust relationships around it, not the software. Keycloak keeps users, credentials, roles, groups and client registrations in its database, and each application depends on a client configuration that defines redirect URIs, scopes and token settings. authentik stores its configuration and data in PostgreSQL, and Zitadel organizes users under instances, organizations and projects. Each product models these objects differently, so an export from one rarely maps one to one into another. Before any decision, inventory the realms, clients, protocol mappers, identity brokering links and federation settings you actually use, and confirm which of them can be exported as data and which must be recreated by hand.
The harder items are the ones users never see. Password hashes may not transfer, or may only transfer in a format the target accepts, which can force a password reset or a just-in-time migration step at first login. Multi-factor enrollments, passkeys and session behavior often do not move with the user record. Zitadel documents migration guides from Keycloak and other systems, including just-in-time migration, but whether your credential types, custom attributes and client settings carry over is a question to test against a copy of your own data set, not something to assume from the guide. Audit history is the other gap: Zitadel's event-sourced store keeps an audit trail of changes, but that history stays in the original system when you leave it, and your compliance evidence may need to be retained there.
Plan for a parallel run before any cutover. Keep the old provider authoritative for a defined set of applications, move a pilot group, and verify token claims, group mappings and logout behavior for each relying party. Ask any implementation partner or vendor to state in writing which objects migrate automatically, which need scripting, and which must be rebuilt, and to price the parallel run separately from the export work.
How DeployOpen helps you choose and implement
DeployOpen plans, implements, integrates, hardens and supports self-hosted open-source platforms inside your own cloud accounts, data centers or air-gapped networks. For Keycloak, authentik and Zitadel, that starts with a written scope that settles the license position, protocol needs, tenancy model and database choice before any build begins.
How we scope
- We confirm which workforce, B2B or small IT use case applies, and which protocols your applications need.
- We check the license and paid edition terms against your planned modifications, embedding and any enterprise features.
- Engagements are fixed-scope, with deliverables and timelines agreed in writing before work starts.
How we build
- We deploy the chosen identity provider in your environment with the database and high availability design you specify.
- We configure federation, brokering, SAML or OIDC clients and tenancy structure against your written requirements.
- We test login flows, provisioning, MFA and failover, and report findings against the agreed scope.
How we hand over
- We document architecture, configuration, upgrade steps and the database and backup procedures your team will run.
- We walk your platform and security staff through operations, including how to handle security releases and upgrades.
- We prepare the access controls, logs and evidence that support your compliance assessments, without issuing audit opinions.
How we support
- Ongoing support, upgrades and continuous testing are available as retainers after handover.
- Retainers can cover patching cadence, version moves and re-testing when your identity provider or applications change.
- Ask any vendor or DeployOpen quote to itemize installation, integration, testing, documentation and recurring support separately.

