Skip to content
Auth

Sign-in, roles and SSO, done once for every app

Hosted login with passkeys, social logins and email codes, organisations and typed roles, enterprise SSO with SCIM, and a token your API verifies offline. One SDK for your browser app, API and CLI.

Who it's for

For teams that would rather build their product

Developers and side projects

Add sign-in to a new app in an afternoon, with a real test environment from the first minute.

Startups

Organisations, invites and roles inside your app, without building an admin panel for them.

B2B SaaS

Sell to companies that need their own SAML or OIDC sign-in and SCIM provisioning.

What it does

Everything sign-in needs

Every way to sign in

Passkeys, passwords, email codes and magic links, Google, GitHub, Apple and more, and two-step verification.

Hosted pages in your brand

Your logo and colours on the login pages, in English and Danish. Your app never handles a password.

Organisations and roles

Teams, invites, custom org roles and org switching in your app. Permissions are typed and checked offline.

Enterprise SSO and SCIM

SAML and OIDC connections per organisation, with SCIM provisioning, set up in the dashboard.

Test and production

Every project has a test environment with its own users and keys. Promote to production in one step.

Verified offline

Your API checks tokens against cached keys, so sign-in never sits in your request path.

One token

Every check reads the same token

When a user signs in, their token carries who they are, their organisation and role, their plan and payment status, and what your flags target. Your API checks it in one guard, offline, and your UI reads the same answers.

Identitywho signed in, and howsub · amr
Rolesthe organisation and what it allowsorg.role
Billingthe plan and its payment statusbilling.plan
Flagswhat is switched on for this userflag()
In your code

Sign in in the browser, verify in your API

The browser client handles the redirect, the callback and token refresh. Your API verifies the same token offline and checks the role in one guard.

auth.ts
// web/auth.ts: the browser
import { createAuth } from '@anchring/auth/browser';

export const auth = createAuth({ project: 'acme', env: 'test', clientId: 'test_…' });
await auth.ready();                    // finishes the callback, restores the session
if (!auth.user()) await auth.signIn(); // hosted login: passkey, password, email code or social

// api/server.ts: your API verifies the same token, offline
import { createAuth } from '@anchring/auth/server';
import { access } from './access'; // your roles, shared with the browser

const api = createAuth({ project: 'acme', env: 'test', audience: 'acme-api', access });
app.use('/api/*', api.middleware());
app.put('/api/settings', api.require('settings:write', { orgRole: 'admin' }), saveSettings);
The plan

Which plans include it

Prices in euros, excluding VAT. Test environments include every feature on every plan.

Free €0

5,000 monthly active users, 2 sign-in apps

Startup €29 a month

20,000 monthly active users, 5 sign-in apps

Team €99 a month

50,000 monthly active users, 15 sign-in apps

1 enterprise SSO connection with SCIM

Scale €299 a month

150,000 monthly active users, Unlimited sign-in apps

3 enterprise SSO connections with SCIM

Enterprise from €2,000 a month

Unlimited monthly active users, Unlimited sign-in apps

Unlimited enterprise SSO connections with SCIM

Sovereign from €20,000 a year

Unlimited monthly active users, Unlimited sign-in apps

Unlimited enterprise SSO connections with SCIM

Questions

Before you start

Can I use it without the SDK?

Yes. It is OpenID Connect underneath, so any OIDC library works. The SDK adds typed permissions, flags, billing and token refresh on top.

Can I bring my existing users?

Yes. Export them from your current provider and upload the file in the dashboard. Passwords carry over where the provider exports the hashes, and you can try the import in test first.

Where are my users kept?

In the EU. Each customer has its own namespace with separate test and production databases, so a bug in the request path can't reach another customer's users.

Add sign-in today

Create a project, sign in from the test environment and verify your first token in a few minutes.

Products

Organisations

Teams, invites, custom roles and org switching, with the role in the token.

Billing

Plans, checkout, invoices and EU VAT, with the plan in the token.

Feature flags

Targeting and rollouts, evaluated offline from the token.

Support chat

Talk to your users beside their plan, roles and flags.

Support access

Act as a user with a reason, a time limit and an audit trail.

Lead gen

Chat with visitors, and keep them when they sign up.