Run the platform
Start PostgreSQL, the Go API, and the Next.js console, then create an isolated Project.
Local setup →ComplicatedAuth documentation
A code-grounded guide to the ComplicatedAuth control plane, runtime APIs, SDKs, trust boundaries, and the work still required before production rollout.
System at a glance
Browsers receive separate opaque tokens. Scoped Project service credentials and authoritative session references remain inside the customer BFF.
The contract, workload credentials, delegated authorization, Support Cases, email recovery, Tenant Member phishing-resistant authentication, and bounded maintenance cleanup are verified. Biometric liveness, production origins, restore drills, production observability, and formal release compatibility gates still block a production claim.
Choose a path
Start with the product boundary you own. The console, BFF, and browser SDK each carry different credentials and responsibilities.
Start PostgreSQL, the Go API, and the Next.js console, then create an isolated Project.
Local setup →Keep a least-privilege service credential in a BFF and expose only the browser-safe authentication protocol.
SDK guide →Work through prioritized findings with concrete evidence and completion criteria.
Status and gaps →Minimal browser flow
After password verification, complete a passkey, hybrid, attested security-key, or facial factor. No factor-specific route issues a session independently.
const auth = new ComplicatedAuthClient({ baseUrl: "/api/auth" });
await auth.startLogin("[email protected]");
await auth.startPasswordAuth(password);
const session = await auth.startPasskeyAuth();
// session.token is browser-safe; the backend reference stays in the BFF.