Hosted in the EU · GDPR by default

Machine-to-machine authentication

Secure service-to-service calls with the standard OAuth 2.0 client_credentials grant: register a machine client, request a token, and call your API with a signed JWT you can validate anywhere. No user, no browser, no identity plumbing to build.

Free to start · No credit card required
POST /oauth/tokenclient_credentials
curl -X POST https://your-app.auth.faable.link/oauth/token \
  -d grant_type=client_credentials \
  -d client_id=$CLIENT_ID \
  -d client_secret=$CLIENT_SECRET \
  -d audience=https://api.your-app.com

# → { "access_token": "eyJ…", "token_type": "Bearer",
#     "expires_in": 3600 }

Service-to-service auth in three steps

Step 1

Register a machine client

Create a Machine-to-Machine client in the dashboard and get a client_id and client_secret. One client per service, cron job or agent — rotate or revoke each secret independently.

Step 2

Request a token

POST the credentials to your tenant's /oauth/token endpoint with grant_type=client_credentials and the audience of the API you are calling. You get back a short-lived, signed JWT access token.

Step 3

Call your API and validate

Send the token as a Bearer header. Your API validates the signature against the tenant's public JWKS — no shared secrets between services, no calls back to Faable on the hot path.

Pricing, in full

Auth is included in every plan, starting on Free. One subscription covers Faable Auth and Faable Deploy — no per-feature add-ons.

Free
€0forever

The full product while you build.

  • 1 auth account
  • Fair-use MAU allowance
  • Passwordless, social login & RBAC
  • 1 Action (PostLogin)
Start free
Hobby
€15per month

For the first product in production.

  • 250 monthly active users
  • Unlimited Actions
  • Webhooks
  • Custom domain for the login UI
Start free
Pro
€99per month

For several products under one roof.

  • 10,000 MAU pooled across accounts
  • Unlimited auth accounts
  • Audit logs
  • Everything in Hobby
Start free

No credit card required to start · Full plan comparison · Data processing & privacy

Frequently asked questions

The essentials about Faable Auth, in plain language.

Is there a free tier?

Yes. You can start free with no credit card — create a tenant, wire up the SDK, and authenticate real users. Paid plans add higher usage and advanced features. See the Auth pricing page for the current limits.

How do I add passwordless (magic link) login?

Create a client with the @faable/auth-js SDK and call signInWithPasswordless({ email, type: 'link' }) for a magic link, or type: 'code' for a one-time email code. Faable hosts the login pages and handles delivery — you don't store passwords or build reset flows.

How do I do machine-to-machine (M2M) authentication?

Register a Machine-to-Machine client in the Faable Dashboard and use the OAuth 2.0 client_credentials grant: POST your client_id and client_secret to the token endpoint and receive a signed JWT access token scoped to your API's audience. Ideal for backends, cron jobs and agents with no human in the loop.

Where is my users' data hosted?

100% in Europe, under European law and with full GDPR compliance. Faable Auth gives you digital sovereignty: identity data stays in the EU.

Can I migrate from Auth0, Clerk or Keycloak?

Yes. Faable Auth implements the same OAuth 2.0 and OIDC standards, and provides step-by-step migration guides for Auth0, Clerk and Keycloak, including user import — so you can switch without rebuilding your integration.

Which standards does Faable Auth implement?

OAuth 2.0 and OpenID Connect (OIDC), with authorization-code + PKCE, client credentials, device code, refresh-token and token-exchange flows, plus social login, MFA/2FA, SSO and multi-tenant organizations out of the box.

Add auth in minutes

Create a tenant, drop in the SDK, and ship passwordless, social and M2M auth — hosted in the EU, GDPR by default. Free to start, no credit card required.