Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions src/content/docs/compare/better-auth.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -76,14 +76,14 @@ Better Auth column as of October 2026.
| Passkeys | Yes, primary sign-in method (WebAuthn via SimpleWebAuthn) | Yes, `@better-auth/passkey` plugin (SimpleWebAuthn); add to an existing account by default, passkey-first registration configurable |
| Magic links | Yes | Yes, `magicLink` plugin; you supply the email sender |
| Email OTP | Yes | Yes, `email-otp` plugin |
| SMS OTP | Yes (Twilio or AWS) | Yes, `phone-number` plugin; you supply the SMS sender |
| SMS OTP | Yes when self-hosted, through your Twilio or AWS account; not on managed instances | Yes, `phone-number` plugin; you supply the SMS sender |
| TOTP | Yes, as step-up / second factor | Yes, `twoFactor` plugin (TOTP, OTP, backup codes); passwordless users need `allowPasswordless: true` |
| Passwords | No, by design | Yes, built in |
| Social and OIDC login | Yes, instance-wide; CLI presets for Google, GitHub, Microsoft (Entra ID), GitLab | Yes, built-in social providers and a `generic-oauth` plugin |
| SAML enterprise SSO | No | Yes, `@better-auth/sso` plugin |
| SCIM directory sync | No | Yes, `@better-auth/scim` plugin |
| Acts as an OAuth/OIDC provider | No | Yes, `oauth-provider` plugin |
| Organizations | Yes: memberships, scoped roles, active organization on the session | Yes, `organization` plugin: roles, invitations, teams, custom access control |
| Organizations | Yes: memberships with per-organization roles and scopes, and an active organization on the session | Yes, `organization` plugin: roles, invitations, teams, custom access control |
| Prebuilt UI | Built-in auth routes (`AuthRoutes` in React; equivalents in Angular, Vue, Svelte), or headless | No official components in the core docs; community projects such as Better Auth UI exist |
| Admin dashboard | Yes, open source app you run | `admin` plugin APIs; dashboard via Better Auth Infrastructure (paid service, free Starter tier) |
| Third-party compliance attestations | None for Seamless Auth itself | Not applicable to the library; it runs inside your own boundary |
Expand Down
8 changes: 4 additions & 4 deletions src/content/docs/compare/clerk.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -24,8 +24,8 @@ decide.
## Choose Clerk If

- **You want no auth infrastructure to run at all.** Clerk operates the service, the database,
email and SMS delivery, and upgrades. Seamless Auth's managed path also removes this, but its
self-hosted path, the reason most people look at it, means you operate it.
email and SMS delivery, and upgrades. Seamless Auth's managed path removes most of this (it has no
SMS sender), but its self-hosted path, the reason most people look at it, means you operate it.
- **You need password sign-in.** Clerk supports passwords alongside passwordless methods. Seamless
Auth has no password flow, by design.
- **You need SAML enterprise SSO or SCIM directory sync today.** Clerk offers SAML and OIDC
Expand Down Expand Up @@ -70,13 +70,13 @@ production.
| Passkeys | Yes, primary sign-in method (WebAuthn via SimpleWebAuthn) | Yes, paid plan. Added after sign-up, max 10 per account |
| Magic links | Yes | Yes (email links) |
| Email OTP | Yes | Yes |
| SMS OTP | Yes (Twilio or AWS) | Yes, paid plan, US and Canada enabled by default |
| SMS OTP | Yes when self-hosted, through your Twilio or AWS account; not on managed instances | Yes, paid plan, US and Canada enabled by default |
| TOTP | Yes, as step-up / second factor | Yes, MFA on a paid plan |
| Passwords | No, by design | Yes |
| Social and OIDC login | Yes, instance-wide; CLI presets for Google, GitHub, Microsoft (Entra ID), GitLab | Yes; free plan limited to 3 social connections |
| SAML enterprise SSO | No | Yes, paid plan, per connection |
| SCIM directory sync | No | Yes (Directory Sync), paid plan |
| Organizations | Yes: memberships, scoped roles, active organization on the session | Yes: roles, permissions, invitations, verified domains; limits on the free tier |
| Organizations | Yes: memberships with per-organization roles and scopes, and an active organization on the session | Yes: roles, permissions, invitations, verified domains; limits on the free tier |
| Prebuilt UI | Built-in auth routes (`AuthRoutes` in React; equivalents in Angular, Vue, Svelte), or headless | Extensive components (sign-in, sign-up, user profile, organization switcher) and hosted Account Portal |
| Admin dashboard | Yes, open source app you run (bundled on the managed path) | Yes, the Clerk Dashboard |
| Third-party compliance attestations | None for Seamless Auth itself | SOC 2 report on Business plan; HIPAA BAA on Enterprise |
Expand Down
6 changes: 3 additions & 3 deletions src/content/docs/compare/supabase-auth.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@ status.
its API gateway. Seamless Auth stores its own data in its own Postgres and works with whatever
database and backend your app already uses.
- **You need organizations and memberships as a built-in model.** Seamless Auth ships organizations,
memberships, scoped roles, and an active organization on the session. In Supabase you model tenants
memberships with per-organization roles and scopes, and an active organization on the session. In Supabase you model tenants
yourself in tables and enforce them with RLS (Supabase's own "organizations" are for billing your
Supabase account, not for your end users).
- **You want sign-in to go through your backend.** Seamless Auth clients call your backend's `/auth`
Expand All @@ -75,13 +75,13 @@ Supabase column as of October 2026.
| Passkeys | Yes, primary sign-in method (WebAuthn via SimpleWebAuthn) | Experimental (beta since May 2026): registered by a signed-in user; JS needs an opt-in flag; Flutter and Swift also experimental |
| Magic links | Yes | Yes |
| Email OTP | Yes | Yes |
| SMS OTP | Yes (Twilio or AWS) | Yes (Twilio, MessageBird, Vonage) |
| SMS OTP | Yes when self-hosted, through your Twilio or AWS account; not on managed instances | Yes (Twilio, MessageBird, Vonage) |
| TOTP | Yes, as step-up / second factor | Yes, TOTP MFA; phone MFA is a paid add-on |
| Passwords | No, by design | Yes |
| Social and OIDC login | Yes, instance-wide; CLI presets for Google, GitHub, Microsoft (Entra ID), GitLab | Yes, about 20 providers plus custom OAuth2 and OIDC |
| SAML enterprise SSO | No | Yes, Pro plan and above; self-hosted setup documented |
| SCIM directory sync | No | Not documented |
| Organizations for your end users | Yes: memberships, scoped roles, active organization on the session | No built-in model; build with tables and RLS (SAML connections carry an `sso_provider_id` usable in RLS) |
| Organizations for your end users | Yes: memberships with per-organization roles and scopes, and an active organization on the session | No built-in model; build with tables and RLS (SAML connections carry an `sso_provider_id` usable in RLS) |
| Prebuilt UI | Built-in auth routes (`AuthRoutes` in React; equivalents in Angular, Vue, Svelte), or headless | Copy-in auth blocks from the shadcn-based Supabase UI Library; the older `auth-ui-react` package is archived |
| Admin dashboard | Yes, open source app you run (bundled on the managed path) | Supabase Studio (hosted dashboard; self-hosted Studio runs a single project) |
| Third-party compliance attestations | None for Seamless Auth itself | SOC 2 Type 2 and HIPAA for the hosted platform, reports and BAA on Team and Enterprise |
Expand Down
Loading