The Admin console
Admin is a separate app (port 3100) for operators. Sign in with any account where is_admin = true. Sign-ins last 8 hours (Admin__CookieLifetime).
| Page | Use it to… |
|---|---|
Dashboard (/) |
See what’s happening right now: live sessions across all users, sessions today, recent activity, and the latest poll per integration. Refreshes every 30 seconds. Read-only. |
| Integrations | See every user’s Steam/PSN/Xbox connection, including full API keys. Fix a broken key or account ID, or disable a whole platform at once (e.g. while a provider is down). |
| Sessions | Search and page through sessions, select several, and move them to another game or account in bulk. |
| AI generations | Inspect what users submitted to AI drafts: text, screenshots, raw model output. Useful when someone says “the AI got it wrong”. Kept for AiDrafts__HistoryRetentionDays. |
| Games | Fix titles and artwork, and merge duplicates (e.g. the same game imported from Steam and PSN). |
| Playground | Development only. Reset demo data, simulate players, send test notifications. See Playground. |
Locking a user’s API key
Section titled “Locking a user’s API key”Set api_key_locked when you, rather than the user, manage the key for an integration (e.g. a shared OpenXBL key). The Web app then shows “Managed by administrator” and won’t let the user change it. There’s no button for this yet:
update integrations set api_key_locked = true where id = 42;