Skip to Content
🔐 Faable Authvs Supabase Auth

Faable Auth vs Supabase Auth

Short answer: Supabase Auth is the auth layer of a Postgres backend: users live in the auth schema of your project database, and row-level security reads their JWT. If you’re building on Supabase, that integration is hard to beat. Faable Auth is a standalone OAuth 2.0 / OpenID Connect identity server that sits in front of any stack, with hosted login pages you don’t build, machine-to-machine tokens, a multi-tenant model out of the box, and identities held by a European company on its own hardware in Europe.

Supabase details checked against supabase.com docs and pricing in September 2026. Supabase’s OAuth 2.1 server and its passkeys are both in beta at the time of writing.

At a glance

CapabilityFaable AuthSupabase Auth
Pricing modelPlan fee: Free (15,000 MAU), Hobby 15 € and Pro 99 € (unlimited MAU)Included in the platform: Free 50,000 MAU, Pro from $25 with 100,000, then per MAU
Credit card to startNoNo
Standalone, any backend✅Possible, but always backed by a Supabase project and its Postgres
OAuth 2.0 / OIDC provider for other apps✅Beta — authorization code + PKCE and refresh only
Machine-to-machine (client credentials)✅ 100/month free, then €2.25 per 1,000❌ not supported
Device code, token exchange✅❌
Dynamic client registration✅✅ (beta)
Email + password✅✅
Email magic link / code✅ (Hobby and up)✅
Phone OTP sign-in❌ (SMS is used for recovery)✅ through your SMS provider
Social loginGoogle, GitHub, Microsoft, Figma + any OAuth 2.0 provider19 built-in (incl. Apple) + custom OAuth/OIDC
Passkeys✅ as sign-in method (Pro) and as second factor (Hobby)Beta, sign-in only; not an MFA factor
MFAAuthenticator app, security keys, passkeysTOTP; phone MFA is a $75/month add-on
Enterprise SSO / SAML❌ OIDC only — SAML coming on Pro✅ Pro and up (50 SSO MAU included, then $0.015 each)
Hosted login pages✅ every screen❌ you build them (UI blocks you copy in)
Custom login domain✅ included (Pro)$10/month add-on (Pro and up)
Multi-tenancyEvery auth account is a tenant; teams and roles insideYou model it with RLS and custom claims
Custom code in the loginActions + webhooksAuth hooks (Postgres functions or HTTP)
Admin CLI for users and logs✅ faable auth❌ Admin API from your server
Auth log retentionQueryable in dashboard, API and CLI (Pro)1 hour (Free), 7 days (Pro), 28 days (Team)
Idle projectsNever pausedFree projects pause after 1 week of inactivity
Where identities liveFaable’s own hardware in Europe, EU companyAn AWS region you pick (6 in Europe); Singapore entity, California law
Export password hashes✅ faable auth users export, every plan✅ they’re in your database
Import password hashes✅ bcrypt, scrypt, Argon2id, PBKDF2, every plan✅ bcrypt, inserted into auth.users
SOC 2 / HIPAASee Faable compliance scope✅ SOC 2 report on Team; HIPAA add-on

Pricing, worked through

Supabase Auth has no price of its own: it comes with the Supabase plan, which also pays for your database, storage and functions. So compare the whole bill, not the auth line.

Monthly active usersFaable AuthSupabase (auth part of the bill)
2000 € (Free)$0 on Free — project pauses when idle
15,0000 € (Free)$0 on Free — project pauses when idle
50,00015 € (Hobby)$25 (Pro base)
250,00015 € (Hobby)$25 + 150,000 × $0.00325 = $512.50

Add-ons that matter for auth: custom domain $10/month, phone MFA $75/month, SAML users $0.015 each after 50. On Faable the plan includes the custom domain (Pro) and MFA (Hobby and up), and a Free project never pauses.

The honest reading: if you’re already paying for Supabase for the database, its auth is effectively free well past 100,000 users. Faable is the cheaper option only when you’d otherwise be paying Supabase just for auth at scale — the reasons to pick it are mostly the ones below.

Faable figures are plan fees from Auth pricing, in euros, VAT excluded; Supabase figures are its list prices in US dollars.

Hosted login pages

Supabase has no hosted login page. You build sign-in, sign-up, reset, MFA and — if you use the OAuth server — the consent screen in your own app. The Supabase UI Library gives you auth blocks to copy in; the older @supabase/auth-ui-react hasn’t been maintained since 2024.

Faable Auth hosts all of it on your auth domain:

ScreenFaable AuthSupabase
Sign in, sign up, forgot and reset password✅ hostedYou build it
Two-step verification challenge and enrolment✅ hosted, with recovery codesYou build it
Passkey enrolment, and an offer after login✅ hostedYou build it
Users manage their own factors✅ /flow/account/securityYou build it
Device activation for a CLI or TV✅ hosted—
Method order, email first, remember me✅ Login Experience, per account or per clientYour code

Building your own screens gives you total control of the design. Hosting them gives you single sign-on across your apps for free (the session is a cookie on the auth domain), passkeys that work in every app (they’re bound to one domain), and credentials that never touch your frontend. See Hosted Login UI.

CLI and automation

The Supabase CLI is excellent for configuration and local development: supabase start runs the whole stack, auth included, and auth settings live in config.toml. It has no commands for users or auth logs — those go through the Admin API with the service_role key, or the dashboard.

faable auth is the other way round — no local stack, but day-to-day tenant operations from the terminal:

faable auth users list -q alice # full-text over name, email, phone faable auth users get user_abc123 # linked identities, last login and IP faable auth users list --query email_verified:false --json \ | jq -r '.[].id' | faable auth users suspend -y -r "spam wave" faable auth logs list --origin oauth --status failed faable auth actions update action_xyz -f ./gate.js

Machine-to-machine and other applications

Supabase’s OAuth 2.1 server (beta) lets third-party apps sign users in with your project, but only with the authorization-code flow: client credentials is explicitly not supported, so a backend service or a cron job has no token of its own.

Faable issues client-credentials tokens against each registered API, with their own audience and permissions, and supports device code for CLIs and token exchange for keyless CI.

Where your users’ data lives

Supabase lets you place a project in Frankfurt, Ireland, London, Paris, Stockholm or Zurich, on AWS. The contracting entity is Supabase Pte. Ltd. in Singapore, under California law, and its privacy policy says the service is primarily provided from the United States.

Faable Auth runs on our own hardware in a European datacenter, operated by a European company. For SOC 2 or HIPAA, see our compliance scope or ask sales.

Migrating from Supabase

You own the auth.users table, so exporting is a SQL query, and Faable imports the bcrypt hashes in it as they are, so users keep their passwords:

  1. Export email, encrypted_password, email_confirmed_at, raw_user_meta_data from auth.users as CSV.
  2. Import with faable auth users import users.csv --from supabase. Each password is upgraded to Argon2id on first sign-in. See Import and export password hashes.
  3. For social users, create their identity (POST /identity) from auth.identities, so their next Google or GitHub login lands on the same account.
  4. RLS policies that read auth.uid() need the Faable user id instead — the step that takes the most thought if your data stays in Supabase.

When Faable Auth is the better fit

  • Your backend isn’t Supabase — or won’t always be — and you want identity that doesn’t live in one database.
  • You need tokens for services, not just for users.
  • You want hosted login pages instead of building and maintaining every screen.
  • You’re building multi-tenant B2B and want tenants, teams and roles without modelling them in RLS.
  • You need identities held by a European company in Europe, and auth and hosting on one invoice.

When Supabase Auth might fit better

  • You’re building on Supabase and want auth tied to row-level security in the same database.
  • You want to design every screen yourself.
  • You need phone login, anonymous users, Web3 wallets or Sign in with Apple.
  • You need SAML today.
  • You want a local stack that runs auth offline.

Last updated on