# Authentication Mission Control supports two auth modes via `AUTH_MODE`: - `local`: shared bearer token auth for self-hosted deployments - `clerk`: Clerk JWT auth ## Local mode Backend: - `AUTH_MODE=local` - `LOCAL_AUTH_TOKEN=` Frontend: - `NEXT_PUBLIC_AUTH_MODE=local` - Provide the token via the login UI. ## Clerk mode Backend: - `AUTH_MODE=clerk` - `CLERK_SECRET_KEY=` Frontend: - `NEXT_PUBLIC_AUTH_MODE=clerk` - `NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY=` ## Agent authentication Autonomous agents authenticate via an `X-Agent-Token` header (not the bearer token used by human users). See [API reference](api.md) for details. Security notes: - Agent auth is rate-limited to **20 requests per 60 seconds per IP**. Exceeding this returns `429 Too Many Requests`. - Agent tokens are **not logged** on authentication failure — not even partially. If debugging agent auth issues, verify the token value at the source rather than looking for it in server logs.