This episode maps the 2026 2FA ecosystem: when to use an auth provider like Clerk, Auth0, Supabase Auth, and WorkOS versus building your own, plus the compatibility of Google Authenticator, Microsoft Authenticator, Authy, and 1Password with RFC 6238 TOTP.

After 20 episodes of building 2FA yourself, episode 21 looks at the wider map. Not every team needs to write the code you just learned — and you now have the ability to judge precisely when to use a provider and when to build your own.
This episode compares four major auth providers — Clerk, Auth0, Supabase Auth, and WorkOS — then explores the compatibility of the authenticator apps users most commonly use. Good architectural decisions are born from understanding both.
All four providers offer built-in 2FA, but with different characteristics:
Provider 2FA Model Main strength
Clerk TOTP + passkeys + SMS fast onboarding, complete UI
Auth0 TOTP, push, passkeys, SMS enterprise ecosystem, SSO
Supabase Auth TOTP + SMS integrated with Postgres/RLS
WorkOS TOTP + enterprise SSO path to enterprise clientsAuth0 excels when enterprise SSO needs dominate, while Clerk and Supabase Auth speed things up if your app uses their ecosystems. WorkOS smoothly bridges a SaaS product toward enterprise login.
It's important to note: all four providers change quickly. Verify the latest 2FA capabilities in each one's documentation before committing — the table above is an initial map, not a final decision.
The question to answer isn't "can we", but "is this a core competency". Choose build if: control over secrets and recovery codes is a compliance need, per-tenant policies are very specific, or provider costs exceed internal maintenance costs.
Choose a provider if: time to market matters more, the team is small, or 2FA isn't a product differentiator. The key point of this episode: you now know what providers handle — secret storage, backup codes, rate limits — so you can evaluate their claims with knowledge, not blind trust.
This decision isn't permanent — many teams start with a provider then bring the feature in-house as they scale, or the reverse. Design a thin auth abstraction from the start so a move doesn't require rewriting the whole application.
One useful test: write your functional 2FA requirements — enrollment QR, recovery codes, per-role enforcement, data export — then compare what percentage is already available in the provider. A number above 80 percent usually means building isn't necessary.
When evaluating, ask the same things you'd implement yourself: where is the secret stored and how is it encrypted, are recovery codes hashed, is there a configurable rate limit, and how does data export work if you leave. A provider that answers clearly is usually safer than one that refuses details.
Besides technical questions, ask about SLA and the incident response process. 2FA going down with the provider is an incident as serious as a data breach — make sure you know what happens during downtime.
Google Authenticator remains the most universal. In 2026 it supports backup to a Google Account, cross-device sync, and import/export. Backup to a Google Account is an important feature: losing a device doesn't automatically mean losing all TOTP accounts.
Its weakness: the backup-to-Google-Account feature requires a Google login, which can become a central point — evaluate whether that's acceptable for accounts you want to keep separate from the Google ecosystem.
Other apps are compatible because they all follow the same standard:
All of them use RFC 6238 TOTP, so the secret you created in episode 4 can be scanned by every one of these apps. The open standard is the main reason the authenticator ecosystem works without fragmentation.
Because they all read the same parameters from the otpauth URI — secret, algorithm, digits, period — moving between apps never requires a data migration, just a rescan.
Products that use SSO with MFA show how 2FA lives in a real product:
tailscale up
tailscale status
tailscale logouttailscale up redirects the browser to the identity provider's SSO flow chosen by the organization — that's where MFA (including TOTP) is demanded. After success, tailscale status shows the authenticated node. This example shows 2FA as a layer hidden by the provider behind the login flow, not reimplemented by every product.
Also note the organizational attribute: SSO that enforces MFA is the enforcement discussed in episode 18 — proof that technical decisions and organizational policy always go hand in hand.
For your lab, also practice the logout and re-login flow with an SSO account that has 2FA active, so you feel the experience you'll be designing for users.
For a new product without special enterprise needs, the most sensible 2026 combination: an auth provider that offers passkeys for new users, TOTP as the universal fallback, and SMS only for recovery under tight supervision. You don't have to write it all — but you can audit it.
One small note: "default" here means a suggested starting point, not a rigid policy — every app still adapts to its risk profile and user demographics.
If you've already built your own like this series, the decision stays in your hands: keep developing in-house for full control, or move to a provider as the team shifts. Evaluate periodically — even without switching, benchmarking providers gives a quality target for your own implementation.
Also track the operational cost: maintaining secret storage, key rotation, and on-call for 2FA incidents is an ongoing burden that must be weighed against a provider subscription.
Episode 21 mapped the ecosystem: when to use Clerk, Auth0, Supabase Auth, and WorkOS, how to assess a provider's security, and the compatibility of Google Authenticator, Microsoft Authenticator, Authy, and 1Password, which all follow RFC 6238 TOTP.
The key takeaways:
In the next episode, episode 22 — the closing episode — we will cover the ecosystem, alternatives, and final reflections — a thorough comparison of TOTP, WebAuthn, SMS, and hardware keys, when to choose each, a recap of every episode, and the final production checklist.