Skip to content

Authentication

Users, sign-in methods and passwords in each realm.

Each realm with auth: enabled has its own pool of users and API keys, stored in the realm’s system database. One sign-in is meant to work across all databases of that realm (single sign-on), and never in another realm.

What’s available

FeatureStatus
Users and passwords, managed with backd user or the admin APIavailable
Command-line administration: backd bootstrap, backd loginavailable
Sign-up, login and sessions (/v1/{realm}/_auth/…)available
API keys for server-side services, with full access to the realm’s dataavailable
Access rules per collection (rules: in collection.yaml)available
Admin API for server-side user managementavailable
Audit trail of security-sensitive actionsavailable
Deactivating and erasing users, with per-collection policies for their dataavailable

See the security model for what backd protects, and the hardening checklist before exposing a realm. | Brute-force protection on login | available |

Users and sign-in methods

A user holds only identity data: a unique email, whether that email is verified, roles, and whether the account is disabled. Credentials are not part of the user. Each way of signing in is a separate sign-in method (an identity) linked to the user:

  • today there is one kind, password;
  • sign-in with external providers (Microsoft, Google, Apple, …) is planned. It will add new kinds of sign-in methods to existing users without changing how users are stored.

So a user can exist without a password, for example when an operator creates the account first and sets the password later.

Application data about a user, such as a display name or avatar, belongs in your own collections, not in the user.

Edit this page · Last updated 08 Oct 2026