Login and signup are the first console screens when authentication is required. The UI is the same in local and hosted modes, but the credential backend changes based on environment configuration.Documentation Index
Fetch the complete documentation index at: https://docs.opendot.ai/llms.txt
Use this file to discover all available pages before exploring further.

What you see in the UI
The auth page has two sides:- Brand panel: shows OpenDot, the VAD/STT/LLM/TTS signal strip, and the active auth provider label.
- Form panel: switches between Login and Sign up tabs.
- Name on signup only
- Password
- Login or Create account submit button
- Forgot password? notice button
- disabled Google and GitHub OAuth buttons
Local credentials mode
Local auth is the default for local Compose and self-hosted development when Supabase browser variables are empty:- an
app_usersrow - a
local_auth_credentialsrow with a hashed password - default
user_preferences - a signed local OpenDot session token
/api/auth/session. If verification fails, the saved local session is
cleared.
Passwords are never stored as plaintext. Change OPENDOT_SESSION_SECRET before
using local auth on a shared or public deployment.
Supabase Auth mode
Supabase Auth is used when the browser has Supabase configuration:auth.users.id to
app_users.id, and keeps OpenDot product state in OpenDot-owned tables.
For preview projects where signup should immediately enter the console, disable
email confirmations in Supabase Auth settings. If confirmations are enabled,
Supabase may not return a session during signup; the user must confirm the email
and then log in.
Login
Use Login for an existing account:- Enter email.
- Enter password.
- Click Login.
local_auth_credentials and returns a
local OpenDot session token. Supabase mode calls Supabase email/password sign-in
and returns a Supabase session token.
Sign up
Use Sign up for a new account:- Enter display name.
- Enter email.
- Enter a password with at least 8 characters.
- Click Create account.