# Seamless Auth > Seamless Auth is open source passwordless auth (passkeys, magic links, OTP) you self-host. Apache-2.0. Scaffold a working self-hosted stack (React web app, Express API, auth server in Docker, admin console) with no prompts: ```bash npx seamless-cli init my-app --local --yes --email=you@example.com ``` Then run `docker compose up` in `my-app` and register with the email you passed; it becomes the first admin. Every page below is also served as Markdown at its URL plus `.md`, which is what these links point to. ## Start - [What Is Seamless Auth?](https://docs.seamlessauth.com/start/overview.md): Seamless Auth is open source passwordless auth (passkeys, magic links, OTP) that you self-host or run as a managed service. Apache-2.0 licensed. - [Managed or Self-Hosted](https://docs.seamlessauth.com/start/choose-your-path.md): Seamless Auth ships as a managed hosted service and as a self-hostable stack. This page helps you pick the path before you start building. - [Managed Quickstart](https://docs.seamlessauth.com/start/managed-quickstart.md): Sign up to the Seamless Auth portal, create an application and pick a plan, get a service token, connect a real app with the SDKs, and see a user sign in. - [Self-Hosted Quickstart](https://docs.seamlessauth.com/start/quickstart.md): The fastest way to run Seamless Auth yourself: scaffold a project with the CLI, start the local stack with Docker, and sign in as the first admin. - [Create Your First User](https://docs.seamlessauth.com/start/firstuser.md): Register the first user on a local Seamless Auth stack: open the starter web app, start registration, complete verification, and confirm the signed-in session. - [Create Your First Admin](https://docs.seamlessauth.com/start/firstadmin.md): How the owner email you give seamless init becomes the first admin of a local Seamless Auth stack. - [Explore the Admin Dashboard](https://docs.seamlessauth.com/start/adminui.md): The Seamless Auth Admin UI is the operator-facing application for managing and investigating a Seamless Auth deployment. - [Protect a Page and Route](https://docs.seamlessauth.com/start/firstpageandroute.md): Protect a frontend page and a backend route with Seamless Auth, require a role, test the denied state, grant the role in the admin UI, and confirm access. ## Build - [Ecosystem Overview](https://docs.seamlessauth.com/build/ecosystem.md): Map of the Seamless Auth ecosystem: the auth API, server adapters, frontend and native SDKs, admin dashboard, and CLI, how they fit together, and the compatibility matrix. - [Add Passwordless Auth To An Express API Without Writing JWT Code](https://docs.seamlessauth.com/build/express-without-jwt.md): Add passwordless auth (passkeys, magic links, email and SMS one-time codes) to an Express API without writing JWT, cookie, or refresh code: one install, one middleware line, a complete working server, and the React sign-in component. - [Add Passwordless Auth To A Next.js App Without Writing JWT Code](https://docs.seamlessauth.com/build/nextjs-without-jwt.md): Add passwordless auth (passkeys, magic links, email and SMS one-time codes) to a Next.js App Router app without writing JWT, cookie, or refresh code: one install, one route handler, proxy.ts protection, and a complete sign-in component. - [Seamless Auth API](https://docs.seamlessauth.com/build/auth-api.md): seamless-auth-api, the self-hostable Seamless Auth server: what it owns, its route groups, architecture boundary, runtime components, and production notes. - [Server SDKs and Adapters](https://docs.seamlessauth.com/build/server-sdks.md): The official Seamless Auth server packages: the Express, Fastify, and Next.js adapters, the framework-agnostic core, and the Python, Go, and Rust adapters, with Express options, mounted routes, and middleware. - [Python: FastAPI and Django](https://docs.seamlessauth.com/build/python-adapter.md): Add passwordless auth (passkeys, magic links, email and SMS codes) to a FastAPI or Django app without writing JWT code, with the official seamless-auth Python adapter: install, a complete app, configuration, and cookie and bearer transport. - [Go: net/http, chi, Echo, and Gin](https://docs.seamlessauth.com/build/go-adapter.md): Add passwordless auth (passkeys, magic links, email and SMS codes) to a Go net/http, chi, Echo, or Gin app without writing JWT code, with the official seamless-auth-go adapter: install, a complete app, configuration, and cookie and bearer transport. - [Rust: Axum](https://docs.seamlessauth.com/build/rust-adapter.md): Add passwordless auth (passkeys, magic links, email and SMS codes) to a Rust Axum app without writing JWT code, with the official seamless-auth crate: install, a complete app, configuration, and cookie and bearer transport. - [React SDK](https://docs.seamlessauth.com/build/react-sdk.md): @seamless-auth/react, the official React SDK for Seamless Auth: AuthProvider, useAuth(), built-in AuthRoutes, the headless client, and passkey helpers. - [Next.js](https://docs.seamlessauth.com/build/nextjs.md): Add Seamless Auth to a Next.js App Router application: serve the /auth routes from a route handler, read the session in server components, and protect pages in proxy.ts. - [Angular SDK](https://docs.seamlessauth.com/build/angular-sdk.md): @seamless-auth/angular adds Seamless Auth to an Angular 20, 21, or 22 application: a signal-based service, functional route guards, an HttpClient interceptor, and optional sign-in screens. - [Vue SDK](https://docs.seamlessauth.com/build/vue-sdk.md): @seamless-auth/vue adds Seamless Auth to a Vue 3.5 application: a plugin and useSeamlessAuth() composable, vue-router guards, and optional sign-in screens. - [Svelte SDK](https://docs.seamlessauth.com/build/svelte-sdk.md): @seamless-auth/svelte adds Seamless Auth to a Svelte 5 application: a rune-based session, SvelteKit load guards, and optional sign-in screens. - [React Native SDK](https://docs.seamlessauth.com/build/react-native-sdk.md): @seamless-auth/react-native brings Seamless Auth to Expo and React Native apps over bearer transport, with native passkeys and the platform keystore. - [Mobile Passkeys](https://docs.seamlessauth.com/build/mobile-passkeys.md): What a native app needs before passkeys and universal links work: an associated domain, the two association files, and the auth server's origins. - [Admin Dashboard App](https://docs.seamlessauth.com/build/admin-dashboard.md): seamless-auth-admin-dashboard is the operator-facing application for managing and observing a Seamless Auth deployment. - [How To Build Your Own Auth UI](https://docs.seamlessauth.com/build/custom-auth-ui.md): Use this guide when the built-in AuthRoutes screens work functionally, but your application needs its own layout, copy, validation, or route structure. - [How To Secure Routes](https://docs.seamlessauth.com/build/secure-routes.md): Use this guide when you need to protect application pages, API endpoints, or admin-style actions with Seamless Auth. - [How To Add OAuth Login](https://docs.seamlessauth.com/build/oauth-login.md): Add OAuth and OIDC provider login (Google, GitHub, Microsoft, GitLab) to Seamless Auth while it still owns local users, sessions, and cookies: config, redirect URIs, buttons, callback, and account linking. - [How To Use Organizations And Memberships](https://docs.seamlessauth.com/build/organizations-memberships.md): Model teams, workspaces, or tenants with Seamless Auth organizations: create and switch organizations, manage members and scoped roles, and enforce them on your backend. - [How To Use TOTP And Step-Up](https://docs.seamlessauth.com/build/totp-step-up.md): Add authenticator-app (TOTP) MFA and step-up verification before sensitive actions with Seamless Auth: passkey step-up in React, step-up status, TOTP enrollment, and login MFA. ## Understand - [Auth Data Model](https://docs.seamlessauth.com/understand/data-model.md): Seamless Auth is built on a relational model that keeps users, sessions, passkeys, organizations, events, and configuration explicit and inspectable. - [Session Model](https://docs.seamlessauth.com/understand/sessions.md): How Seamless Auth sessions work: what a session record holds, absolute and idle expiration, step-up freshness, organization context, creation, rotation, logout, and revocation. - [Users & Roles](https://docs.seamlessauth.com/understand/users.md): Users represent identities in Seamless Auth and carry the global role data your application uses for authorization. - [Auth Events and Auditing](https://docs.seamlessauth.com/understand/authevents.md): Auth event records in Seamless Auth: what each event captures, the redaction rule, and how events support security investigation and the admin dashboard. ## Operate - [Seamless Auth CLI](https://docs.seamlessauth.com/operate/cli.md): The Seamless Auth CLI (npm package seamless-cli, binary seamless): installation, init, add, check, verify, account and instance commands, and the files init generates. - [Add Seamless Auth To An Existing App](https://docs.seamlessauth.com/operate/add-to-existing-app.md): Add Seamless Auth to an existing app with seamless add: what it detects (Express, Fastify, Go, Axum, FastAPI, Django backends and React, Angular, Vue, SvelteKit web apps), what it writes and installs, and what you still do by hand. - [CLI Init Flow](https://docs.seamlessauth.com/operate/cli-init.md): What seamless init does step by step: directory handling, registry-driven template prompts, the --oauth and template flags, env wiring, and the generated project. - [Docker Local Stack](https://docs.seamlessauth.com/operate/dockerenv.md): The Docker Compose stack seamless init generates: services, auth server and admin dashboard modes, how containers talk to each other, and commands to start and inspect it. - [Running In Production](https://docs.seamlessauth.com/operate/deploy.md): How Seamless Auth runs in production: the managed hosted offering, and what self-hosted operators own since the CLI ships no deployment command. - [Migrate Users From Another Identity System](https://docs.seamlessauth.com/operate/migrate-users.md): Move an existing user base onto Seamless Auth: export identities to CSV, import them with seamless migrate, then track and invite passkey enrollment, optionally signing users in through the old provider during cutover. - [Migrating Off Auth0 To Passwordless With Seamless Auth](https://docs.seamlessauth.com/operate/migrate-from-auth0.md): Move users from Auth0 to Seamless Auth, the open source (Apache-2.0), self-hosted passwordless auth server: export users with the Auth0 Management API, convert the export with jq, import with seamless migrate, keep Auth0 sign-in working through OpenID Connect during cutover, then move everyone to passkeys and switch Auth0 off. - [Migrating Off Amazon Cognito To Passwordless With Seamless Auth](https://docs.seamlessauth.com/operate/migrate-from-cognito.md): Move users from an Amazon Cognito user pool to Seamless Auth, the open source (Apache-2.0), self-hosted passwordless auth server: export users with ListUsers, convert the export with jq, import with seamless migrate, keep Cognito sign-in working through OpenID Connect during cutover, then move everyone to passkeys and switch Cognito off. ## Compare - [Seamless Auth vs Clerk](https://docs.seamlessauth.com/compare/clerk.md): Looking for a self-hosted, open source Clerk alternative? An honest comparison of Seamless Auth and Clerk: licensing, hosting, passkeys, magic links, SAML, organizations, prebuilt UI, where user data lives, and pricing model, with sources. - [Seamless Auth vs Better Auth](https://docs.seamlessauth.com/compare/better-auth.md): Better Auth vs Seamless Auth for open source passkey auth in Next.js and other apps: an embedded TypeScript library with plugins compared to a self-hosted passwordless auth server, covering passkeys, magic links, SAML, SCIM, organizations, frameworks, data, and pricing, with sources. - [Seamless Auth vs Supabase Auth](https://docs.seamlessauth.com/compare/supabase-auth.md): Supabase Auth alternative for passkey-first apps? An honest comparison of Seamless Auth and Supabase Auth (GoTrue): self-hosting, passkey status, magic links, OTP, SAML, organizations, Postgres and RLS coupling, prebuilt UI, and pricing model, with sources. ## Troubleshooting - [Troubleshooting the Local Stack](https://docs.seamlessauth.com/troubleshooting/troubleshooting.md): Debugging guide for the local Seamless Auth stack: sessions that do not persist, an API that cannot reach the auth server, unhealthy Docker services, and admin UI access. ## Reference - [CLI Command Reference](https://docs.seamlessauth.com/reference/cli-commands.md): Reference for every seamless-cli command and flag: init (including non-interactive flags), add, templates, check, verify, profile, login, and the instance admin commands. - [Auth API Route Reference](https://docs.seamlessauth.com/reference/auth-api-routes.md): Reference for the HTTP route groups exposed by seamless-auth-api: login, registration, OTP, WebAuthn, magic links, OAuth, TOTP, step-up, users, organizations, sessions, and admin. - [Environment Variable Reference](https://docs.seamlessauth.com/reference/environment-variables.md): Reference for Seamless Auth environment variables: auth API runtime, system config bootstrap, database, secrets, WebAuthn, OAuth, messaging, JWKS signing keys, and the starter apps. - [Cookie, Session, And Token Reference](https://docs.seamlessauth.com/reference/cookies-sessions-tokens.md): Seamless Auth uses signed browser cookies at the app boundary and bearer tokens at the auth API boundary. - [System Config Reference](https://docs.seamlessauth.com/reference/system-config.md): Reference for seamless-auth-api runtime system config: how it loads, its routes and keys, login methods, roles, OAuth providers, lockout, rate limits, WebAuthn, and authenticator policy. ## Documentation Sets - [Abridged documentation](https://docs.seamlessauth.com/llms-small.txt): a compact version of the documentation for Seamless Auth, with non-essential content removed - [Complete documentation](https://docs.seamlessauth.com/llms-full.txt): the full documentation for Seamless Auth ## Notes - The complete documentation includes all content from the official documentation - The content is automatically generated from the same source as the official documentation