MFA requirements checklist

A practical checklist of functional, security, integration, operational and compliance requirements for a self-hosted MFA platform, with how to verify each one and the questions that separate platforms.

On this page

How to use this MFA requirements checklist

If you are choosing or building multi-factor authentication for VPN access, Windows and Linux logins, SSH and web applications on your own infrastructure, this checklist gives you the requirements to write down before you compare products. Each requirement is written as a verifiable test: a statement that a named system either passes or fails during a pilot, an acceptance test or an assessment. Write requirements this way and you can hold any platform or partner to the same evidence. The list is grouped by function, security, integration, operations and compliance, and it does not assume a product. The named options for self-hosted work are privacyIDEA, Keycloak, FreeIPA and ZITADEL, and each has different strengths in token support, directory handling and high availability, so confirm each claim in your own environment rather than relying on a vendor summary.

Organizations often feel pressure from the FTC Safeguards Rule or HIPAA, and those rules shape which systems must be covered first. The sibling pages cover each use case in depth: MFA for VPN and RADIUS, Windows logon, Linux servers and SSH, phishing-resistant MFA with FIDO2 and passkeys, air-gapped networks, healthcare, financial services and public sector deployments. Use this checklist as the common baseline across them. Start by listing the systems in scope, the account types that reach them (standard users, administrators, service accounts and vendors), and the directories that hold those identities. Those three lists decide which tests apply to which system. Keep the requirements in a document your security, identity and compliance teams can all sign off on, because the same tests become the evidence you show an auditor later.

Functional MFA requirements and how to verify each

This table lists the functional requirements an MFA platform must meet, why each one matters, and how to verify it in a lab before you commit. Treat vendor and project claims as hypotheses until a test enrollment and a documented lab run confirm them, especially for token types, directory connectors and reporting.

RequirementWhy it mattersHow to verify
FIDO2 and WebAuthn tokensPhishing-resistant factor for admins and high-risk logins, and the basis for passkeysEnroll a hardware key and a passkey on each target app, then confirm the login fails on a look-alike domain
PIV and x509 smartcardsNeeded where staff already hold government or enterprise badges with certificatesTest a card from your issuer through the full login path, including certificate revocation checks
TOTP and HOTPLow-cost fallback for users without hardware keys and for legacy toolsConfirm enrollment with a standard authenticator app and check code drift and replay rejection
Push notificationsConvenient for users, but susceptible to MFA fatigue and prompt bombingTrigger repeated requests in the lab and confirm rate limits, number matching or lockout behave as configured
SMS and email as fallback onlyWeakest factors, useful only as a recovery path with documented risk acceptanceDisable them for privileged groups and confirm policy blocks them where you expect
Token import from seed filesLets you reuse existing hardware OTP inventory and avoid re-issuing tokensImport a sample file in each required format, verify serials and OTP values, and confirm secure handling of the seed file
Self-service and help desk enrollmentDetermines enrollment effort at scale and how lost devices are handledRun a self-service enrollment and a help desk enrollment with identity checks, and time the steps with your own staff
User store support (LDAP, Active Directory, SQL, SCIM, Kerberos)Authentication must read the directory you already trust, without duplicate accountsConnect a test directory, confirm group filters and attribute mapping, then disable a test user and confirm MFA is refused
Policy per group or applicationLets you require stronger factors for admins and VPN access without blanket rulesCreate one policy per group and application, then test each combination with a test account in each group
Reporting and audit logsAssessors and incident responders need who authenticated, with which factor, and whenExport authentication and enrollment events to your log platform and confirm each record carries user, factor, result and time

Which integration points each MFA platform must cover

Remote access is usually the first place a second factor is required, and most VPN concentrators and firewalls authenticate through RADIUS. The requirement is not only that the second factor is accepted, but that the RADIUS path keeps remote staff able to connect when the MFA service is slow or unreachable. privacyIDEA lists RADIUS integration for VPNs such as OpenVPN, Fortinet and Palo Alto, and FreeIPA can proxy OTP checks to an existing RADIUS server, so the design depends on which side holds the tokens.

  • Failover: Define what happens when the primary RADIUS endpoint does not answer, including a second server and how long the device waits before failing.
  • Push and OTP handling: Confirm the VPN client's prompt flow works with challenge-response, so users are not forced to type codes the device cannot accept.
  • Source identity: Verify the NAS address or shared secret is unique per device and rotated under your key management process.
  • Audit records: Confirm each accept and reject is logged with user, device and token type, in a form your SIEM can ingest.

Confirm each VPN model and firmware version against the vendor's supported RADIUS features in your own lab before committing to a design.

Security requirements an MFA platform must meet

An MFA platform is only as strong as the weakest path into an account. The cards below cover the security properties to test first: how resistant each token type is to phishing, how seeds and keys are protected, how traffic and administration are controlled, and how recovery is kept from becoming a bypass. Confirm each property with the vendor and with your own test cases before you commit.

Phishing resistance by token type

OTP codes and push approvals can be relayed by a fake login page that a user is tricked into completing. FIDO2 and WebAuthn credentials are bound to the origin of the site, so a credential issued for one domain will not sign in to a lookalike. Ask each candidate platform which token types it supports for each login path, and test a relay attack against a staging copy of your own sign-in flow.

Seed and key protection at rest

OTP seeds and private keys are the secrets that would let an attacker mint valid codes. Check how the platform encrypts them in its database, where the encryption key is held, and whether that key can be separated from the database backup. Ask for the documented procedure to rotate the key and to import existing seed files without storing them in plain text on shared systems.

Transport encryption between components

MFA traffic crosses the network between the login point, the RADIUS or PAM client, the identity provider and the token server. Each hop should use encrypted transport, and shared secrets for RADIUS clients should be unique per client and long enough to resist guessing. Confirm the supported TLS versions, certificate handling and how shared secrets are rotated.

Administrator access and separation of duties

Whoever can change MFA policy or disable a token can bypass the control itself. Require role-based administration, with separate roles for token enrollment, policy changes and audit review, and make sure administrative actions are logged to a store that administrators cannot edit. Test whether a help desk account can reset a second factor without a second approver.

Brute force and lockout controls

Short numeric codes can be guessed if an attacker can submit unlimited attempts. Look for configurable failure counters, lockout periods that you can tune per user group, and alerts when repeated failures occur across many accounts. Balance the lockout settings against help desk load and confirm the behavior with your own test accounts.

Recovery paths that do not bypass MFA

Lost devices will happen, and recovery is where many MFA rollouts fail. Recovery codes, help desk resets and fallback methods such as SMS or email can each become the easiest route into an account. Document who can authorize a reset, how identity is verified before the reset, and which fallback methods are allowed for privileged accounts.

How offline use and recovery change the MFA design

Offline use and recovery set requirements the platform must meet on day one, not after launch. A laptop that boots with no route to the MFA server, an air-gapped enclave with no network path at all, and a user who has lost a hardware key all force the same design question: what can someone still do when the second factor cannot be reached? Decide this before selecting a product. Confirm whether privacyIDEA's Windows credential provider and Linux PAM module can cache or bypass a second factor when the MFA server is unreachable, how long that cache lasts, and whether it applies to admin accounts. For FreeIPA, confirm how its OTP checks behave when the proxied RADIUS server is down, since that dependency is part of the design.

Recovery needs its own controls. Decide which secondary factors exist for each user population, such as one-time recovery codes, a second enrolled hardware token, or a supervised re-enrollment, and who may issue them. Specify the identity verification the help desk performs before resetting a token, including whether it requires a manager callback, an in-person check or a verified device. Record every reset in the audit log, because an attacker who calls the help desk is a common route around MFA. Confirm with each product's documentation how recovery codes are generated, stored and revoked, and whether a lost token can be disabled centrally across VPN, Windows and SSH at once.

Most lockout incidents start in these flows, so test them before go-live. Build a written test matrix covering a laptop with the MFA server unreachable, a lost hardware key, a replaced phone, a locked account after repeated failures, and a restored backup of the token store. Run each test with a real user account in a staging copy of production, and time how long each recovery takes. Ask your implementation partner to include these scenarios in the acceptance criteria of the fixed-scope agreement, so that offline and recovery behavior is verified in writing rather than assumed.

Operational requirements for high availability, upgrades and reporting

This table compares the operational requirements an MFA platform must meet after go-live, with a verification step for each. Use it to ask vendors and partners how they will prove availability, recovery and upgrade control, not just state them. The main takeaway is that a configured MFA server is not production-ready until restore, failover and upgrade steps have been rehearsed and logged.

RequirementWhat to ask forHow to verify
High availability designTwo or more replicas per site, with the number and placement set in writing. Keycloak documents a single cluster spread across availability zones, multi-cluster v2 without external Infinispan, and a deprecated v1 design. Both supported designs need a synchronously replicated database.Confirm the topology diagram matches the supported design. Fail one node during business hours in a test window and confirm logins continue.
Database resilienceA production-supported database from the vendor's list (Keycloak supports PostgreSQL 14 to 18, among others). Ask how replication is synchronous and who owns database failover.Check the database vendor's replication mode and run a planned primary switchover while test logins are running.
Backup and restoreScheduled backups of the MFA database, configuration and token seed material, stored encrypted and separate from the primary site. For FreeIPA, ask about ipa-backup and ipa-restore and the server that handles certificate renewal.Restore into an isolated environment at least once before go-live and on a set schedule. Record restore time, data gaps and any manual steps.
Replication and restore cautionsWritten procedure for rebuilding a replica. FreeIPA's documentation warns that restoring an outdated backup into an active replica topology can break replication, so ask how this is prevented.Run a tabletop or lab exercise that restores an older backup and confirm the runbook stops it from reaching production replicas.
Upgrade cadence and approvalA written policy for minor and security releases. Keycloak plans four minor releases a year, and its operator documentation recommends manual approval mode to avoid unintended upgrades.Review the change record for each upgrade: test environment result, approval, rollback point and schema migration method.
Schema migration methodDecide whether migrations run automatically at startup or are applied as SQL by administrators. Keycloak's upgrade guide suggests manual migration for large deployments.Confirm the chosen method in the runbook and test an upgrade in a copy of production data first.
Monitoring and metricsHealth checks, login success and failure rates, OTP or push delivery errors, certificate expiry and database latency exposed to your monitoring stack. Keycloak publishes metrics configuration guidance.Trigger a test failure in each monitored path and confirm an alert reaches the on-call team within the agreed window.
Audit logging and reportingLogs of authentication events, token enrollment, token deletion, policy changes and administrator actions, retained for the period your regulator or framework sets. Ask which events are logged by default and which need configuration.Pull a sample report for one test user across enrollment, login and token removal. Confirm an auditor can read it without vendor help.
Support hours and escalationNamed severity levels, support hours covering your time zones, escalation contacts and who handles vendor security advisories. Ask whether support is provided by the platform owner, a distributor or a partner.Run a severity-one tabletop with the support provider and measure the time to first response and to a named engineer.

How to score candidate platforms against the checklist

This sequence turns the requirements checklist into a documented, evidence-based comparison of two or three candidate platforms, so the choice rests on tests in your own environment rather than on feature lists. The output is a decision file that another reviewer can audit.

  1. Read the licenses and enterprise boundaries first

    Before any scoring, the architecture lead and legal or procurement counsel read each candidate's license and its enterprise boundary. privacyIDEA is listed under AGPLv3, Keycloak under Apache 2.0, FreeIPA under GPL-3.0-or-later and ZITADEL under AGPL-3.0, and some projects keep enterprise directories under separate terms. Record which features sit behind a paid edition, which obligations apply if you modify the code, and whether support is sold separately. Done when each candidate has a one-page license note that lists any must-have feature that is not in the community edition.

  2. Turn the checklist into pass or fail gates

    The architecture lead converts the must-have requirements into a short list of gates: token types you must support, integration points you must reach, the user store you must read, enrollment and recovery rules, offline use, high availability and reporting. Each gate is written as a testable statement with an owner. Mark integrations that you cannot change, such as a specific VPN model, a Windows logon path or an existing directory, as weighted higher than preferences. Done when every must-have has a test definition and a named owner.

  3. Run a proof of concept against each gate

    The engineering team deploys each candidate in a non-production environment that resembles production, connected to a copy of the real user store. For each gate, they record pass, partial or fail, with the test steps, screenshots or logs, and the version tested. A partial result must state what is missing and whether a supported workaround exists. Done when every gate has a result and an evidence link, and no result depends on a vendor claim alone.

  4. Test the top two platforms on three use cases

    Select the two candidates with the strongest gate results and run the same three use cases on both, chosen from the systems that matter most to your organization, such as VPN access, administrator SSH and a web application. Use the same accounts, the same token types and the same test script. Confirm the results are comparable before reading them as a ranking. Done when both candidates have completed all three use cases on identical inputs.

  5. Run a failure drill on each candidate

    The operations team simulates the failures that matter most: the MFA server is unreachable, the primary database node fails, a token is lost, and an administrator must recover an account. They record how long users are blocked, whether an emergency path exists, what the audit log shows and who must act. Document the recovery steps as runbook drafts. Done when each candidate has a drill record that states the observed behavior, not the expected behavior, and the team agrees the recovery path is acceptable for your risk appetite.

  6. Weight the results and record the decision

    The decision owner applies the weights agreed in the gate step to the results, giving extra weight to integrations you cannot change and to the failure drill outcome. Any candidate that fails a must-have is excluded regardless of its score. The team writes the decision file with the license notes, gate results, use case outcomes, drill records, open risks and the named approvers. Done when the file is stored with the architecture records and a reviewer outside the project can trace each conclusion to its evidence.

  7. Plan the token migration and reassessment

    Before the choice is final, the team confirms how existing tokens, enrolled devices and seed files will move to the selected platform, including which formats the candidate can import and whether any token type must be re-enrolled. The team also sets a date to review the decision when the chosen project publishes major changes. Done when the migration approach is written into the decision file and the review owner is named.

Questions buyers ask about MFA requirements and selection

How long does an MFA requirements review take?

The length depends on how many systems need a second factor, how many user stores sit behind them, and how many integrations each system needs. A review covering a few VPN gateways and one directory is far shorter than one covering Windows logon, Linux SSH, several SAML applications and two or three separate user directories. Ask any partner to show the written scope, the list of systems in it, and the milestones that a fixed-scope agreement would cover before any work starts. No duration is stated here because the answer depends on your environment, so confirm it against your own inventory.

What does an MFA project need from our own team?

Four roles usually carry the work: an identity owner who controls the directory and approves the policy, a network owner for VPN, RADIUS and firewall changes, a help desk lead who will handle enrollment and lockouts, and a pilot group of real users who can test each login path before rollout. Security or compliance staff should also review the evidence plan early. Confirm how many hours each role must commit in the written scope, because those hours are the part of the effort your organization pays for directly.

Can our own engineers build and run self-hosted MFA in-house?

Yes, many teams do, and the open-source options are published under licenses that allow internal use. The work that tends to be underestimated is high availability, token enrollment at scale, recovery procedures, integration with each VPN, Windows and Linux login path, and the logs that auditors will ask for. A useful test is whether you have people who can operate a directory, a database, a certificate chain and a second factor service during an outage. If not, compare an in-house build against a partner-run deployment using the same written requirements.

What does an MFA quote depend on?

A quote follows from the written scope, so the scope document is the most important input. It should list the systems to protect, the token types to support, the user stores to read from, the integrations for each login path, the high availability design, the recovery process, the reporting you need and the support period. DeployOpen does not publish a price list, and most engagements are fixed-scope, with scope, deliverables and timelines agreed in writing before work starts. Ask for each deliverable to be priced separately so you can see what is one-time and what recurs.

Can FIDO2 security keys replace OTP and push everywhere?

Not usually in one step. FIDO2 and passkeys are phishing-resistant and suit web applications and some administrator logins, but they need hardware keys or compatible devices for each user, and not every VPN client, legacy Windows path or SSH workflow accepts them today. Start by mapping each login path to the token types it supports, then move the most exposed paths first. Keep a fallback token type for recovery, and confirm the support status of each target system with its vendor before you commit to a rollout order.

How should we handle service accounts that cannot use MFA?

Service accounts and automation jobs cannot answer a prompt, so they should not be placed behind an interactive second factor. The usual approach is to inventory them, remove interactive login rights where possible, bind them to specific hosts or keys, rotate their credentials on a schedule, and log every use. Where a human must approve a sensitive action, route that step through a separate, MFA-protected workflow. Document the exceptions in your access policy so that auditors can see that each one was reviewed and approved.

How do we confirm license terms for enterprise features?

Read the license file of each product and each edition you plan to use, because open-source core code and enterprise modules often carry different terms. For example, privacyIDEA is licensed under AGPLv3 and its Enterprise Edition is available from NetKnights, while authentik is MIT licensed except its enterprise directory, which has a separate license. Ask the vendor or partner in writing which features you need fall under which license, what support subscriptions cost and what they cover, and whether any feature depends on a paid edition. Have your legal team review the answer before the design is final.

The questions that separate MFA platforms in a short list

The fastest way to separate MFA platforms on a short list is to ask questions that have a verifiable answer, not questions that invite a marketing reply. Start with phishing resistance for the logins that matter most: ask the vendor or partner to demonstrate a FIDO2 or WebAuthn login for your admin accounts, VPN and core application, and to show which token types are accepted at each integration point. Push and OTP are not phishing resistant, so a platform that only proves push is not an answer to this question. Ask for the exact integration (RADIUS, Linux PAM, the Windows credential provider, or SAML and OIDC through Keycloak) and the test evidence for each one.

Next, ask how enrollment works at scale and during a help desk outage. Request the enrollment workflow end to end: who can enroll a token, whether users can self-enroll after identity verification, how a lost device is revoked, and what happens to a user who cannot reach the help desk. Ask how user stores are read and how changes sync. privacyIDEA, for example, resolves users through LDAP, SQL, SCIM and HTTP resolvers, so confirm which resolver you need, how often it refreshes, and whether a leaver in the source directory loses MFA access without manual cleanup. Also ask what happens to existing tokens during a migration from your current product: confirm which seed formats can be imported (privacyIDEA lists SafeNet XML, OATH CSV, Yubikey CSV and PSKC) and who holds the import keys.

Finally, ask how the platform behaves in failover and what auditors receive. Request the high availability design in writing, including how the authentication service and its database fail over, and what a RADIUS or PAM outage does to remote and local logons. Keycloak documents its own clustering designs and requires a synchronously replicated database for them, so ask for the equivalent detail from every candidate. For reporting, ask for a sample of the authentication log and the configuration export that an examiner would see. Last, ask which enterprise features sit behind a separate license. privacyIDEA states that its Enterprise Edition is available from NetKnights, and ZITADEL and authentik also publish licenses that differ by directory. Get the list of features your requirements depend on, and confirm in writing that they are included in the quoted price.

Which compliance requirements MFA must support in the design

The two regulations most often cited for MFA design are the HIPAA Security Rule and the FTC Safeguards Rule, and they ask for different things from the same login system. Under the HIPAA Security Rule at 45 CFR 164.312, covered entities and business associates must implement access control with unique user identification, audit controls that record and examine activity in systems holding ePHI, and person or entity authentication. In practice, this means every clinician, contractor and service-connected vendor account needs its own identity in the MFA store, so shared logins and generic accounts must be removed or handled as exceptions before MFA is layered on. Confirm with your privacy and security officers whether the rule's authentication requirement is met by your chosen second factor or whether it needs to be documented as part of a broader access control design.

The FTC Safeguards Rule at 16 CFR 314.4 is more prescriptive on MFA. It requires covered financial institutions to implement multi-factor authentication for any individual accessing any information system, and to monitor and log the activity of authorized users. For the design, that means the checklist must cover every entry point (VPN, email, administrator consoles and core systems), and the MFA platform must write authentication events to a log that your team can retain and review. Decide early which systems are in the MFA scope, who approves exceptions, and where the event logs will be stored, because these choices determine the evidence you can show later.

DeployOpen prepares configurations, documentation and evidence for compliance assessments, but it does not issue audit reports, attestations or certifications. Independent auditors and certification bodies make those determinations. Before you finalize the design, ask your assessor to confirm the exact scope, which systems count as in scope for each regulation, which log fields and retention periods they expect, and how they will test unique identification and authentication. Their answers should drive the acceptance criteria written into the statement of work.

How DeployOpen scopes and delivers MFA selection and implementation

DeployOpen turns an MFA requirements checklist into a written, fixed scope covering token types, integration points, user stores and recovery design. It then plans, implements, hardens, documents and hands over a self-hosted MFA platform inside the client's own infrastructure.

How we scope

  • Map which VPNs, operating systems, SSH paths and web applications must take a second factor first.
  • Confirm the user stores, token types and offline needs that the checklist requires for each system.
  • Agree scope, deliverables and timelines in writing before any build work begins.

How we build

  • Plan a high availability layout for the MFA server and its database inside your own cloud, data center or air-gapped network.
  • Configure integrations such as RADIUS, PAM, Windows logon and SAML or OIDC, then test each one against the agreed requirements.
  • Document enrollment, lockout and recovery procedures, and test failover before go-live.

How we hand over

  • Deliver configuration records, architecture documentation and runbooks for administrators and help desk staff.
  • Walk your team through enrollment, token import and recovery steps so operations can run without DeployOpen.
  • Provide configuration evidence in a form your internal audit or external auditors can review.

How we support

  • Offer ongoing support, upgrades and continuous security testing as a retainer after handover.
  • Apply vendor updates and schema migrations under a documented change process with rollback steps.
  • Confirm the support boundaries, response expectations and retainer terms with us in the written scope.

Talk to our team.

Tell us what you're working on, whether it's a deployment, an audit, a security test or a cyber range. You'll speak with an engineer who can help you scope it.

  • 30-minute call: free, with no obligation.
  • NDA on request: we can sign before you share details.
  • Clear next steps: a scope and plan after the call.