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
| Capability | Faable Auth | Supabase Auth |
|---|---|---|
| Pricing model | Plan 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 start | No | No |
| 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 login | Google, GitHub, Microsoft, Figma + any OAuth 2.0 provider | 19 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 |
| MFA | Authenticator app, security keys, passkeys | TOTP; 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-tenancy | Every auth account is a tenant; teams and roles inside | You model it with RLS and custom claims |
| Custom code in the login | Actions + webhooks | Auth hooks (Postgres functions or HTTP) |
| Admin CLI for users and logs | ✅ faable auth | ❌ Admin API from your server |
| Auth log retention | Queryable in dashboard, API and CLI (Pro) | 1 hour (Free), 7 days (Pro), 28 days (Team) |
| Idle projects | Never paused | Free projects pause after 1 week of inactivity |
| Where identities live | Faable’s own hardware in Europe, EU company | An 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 / HIPAA | See 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 users | Faable Auth | Supabase (auth part of the bill) |
|---|---|---|
| 200 | 0 € (Free) | $0 on Free — project pauses when idle |
| 15,000 | 0 € (Free) | $0 on Free — project pauses when idle |
| 50,000 | 15 € (Hobby) | $25 (Pro base) |
| 250,000 | 15 € (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:
| Screen | Faable Auth | Supabase |
|---|---|---|
| Sign in, sign up, forgot and reset password | ✅ hosted | You build it |
| Two-step verification challenge and enrolment | ✅ hosted, with recovery codes | You build it |
| Passkey enrolment, and an offer after login | ✅ hosted | You build it |
| Users manage their own factors | ✅ /flow/account/security | You build it |
| Device activation for a CLI or TV | ✅ hosted | — |
| Method order, email first, remember me | ✅ Login Experience, per account or per client | Your 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.jsMachine-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:
- Export
email, encrypted_password, email_confirmed_at, raw_user_meta_datafromauth.usersas CSV. - 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. - For social users, create their identity (
POST /identity) fromauth.identities, so their next Google or GitHub login lands on the same account. - 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.
Related
- Faable Auth vs Auth0, Clerk & Keycloak
- Faable Auth vs AWS Cognito · vs Firebase Authentication · vs Authelia
- Faable Auth features · Auth pricing
- Get Started with Faable Auth
Last updated on