SEQN Auth Support and Admin Runbook
This runbook is for support/admin operations across auth, projects, webhooks, subscriptions, account recovery handoff, and invitation email delivery. Email verification workflows and payment-provider workflows remain outside the current MVP.
Intake checklist
- Capture the customer org slug, project slug, user email, request ID or approximate timestamp, and affected route.
- Confirm whether the issue is authentication, authorization, project config, subscription state, webhook delivery, or platform availability.
- Never request raw
sk_live_,whsec_, OIDC client secrets, Authentik API tokens, database passwords, or session cookies. - Ask for secret prefixes only when needed, for example
sk_live_abcd1234. - Link the incident or support ticket to the relevant audit-log entries.
Account cannot sign in
Symptoms:
- Login redirects loop.
- Callback returns an error.
- User lands in the wrong workspace.
- User cannot complete password recovery.
Actions:
- Check public health and Authentik OIDC discovery.
- Confirm the user's Authentik identity exists and has the expected email.
- Confirm platform admins are in
SEQN-A. - For non-platform customers, confirm public signup created a tenant workspace.
- For password recovery issues, confirm
/auth/recoveryredirects to the configured Authentik recovery flow and that hosted Croox direct email/OTP smoke is healthy for SEQN-owned transactional mail. - Ask the user to retry in a clean browser session.
- If callback errors continue, follow the OIDC client secret rotation runbook only when Authentik/API secret mismatch is confirmed.
Admin access missing
Symptoms:
/auth/consoleopens but admin actions are unavailable.- Admin API returns
403.
Actions:
- Confirm the user is signed in at
/v1/me. - Confirm the org membership role is admin for the target workspace.
- For platform Authentik resource proxy routes, confirm the user is in
SEQN-A. - Use an existing admin to update membership role when appropriate.
- Record the role change in the support ticket.
Revoke a user session
Use when a device is lost, a token is suspected exposed, or employment/access changes.
- Open the hosted console sessions view for the organization.
- Locate the user and active session.
- Revoke the session.
- Confirm the user must sign in again.
- Review audit logs for suspicious actions before and after the revocation.
Project config issue
Common causes:
- Missing redirect URI.
- Missing JavaScript origin.
- Disabled application.
- Backend using an old
sk_live_after rotation.
Actions:
- Load the project in the hosted console.
- Confirm status is
active. - Confirm redirect URLs and browser origins match the app environment exactly.
- Run the public config check with the project
pk_live_. - Run backend key health from the backend environment.
- Rotate the project secret only if exposure or stale backend config is confirmed.
Provisioning blocked
Symptoms:
- Project create/update succeeds locally but Authentik provisioning status is blocked or failed.
- Hosted app config exists, but Authentik provider/application was not created or updated.
Actions:
- Confirm
AUTHENTIK_API_TOKENis present on the VPS without printing it. - Confirm Authentik API health.
- Retry a canary project update.
- If the token is invalid, rotate the Authentik API token.
- If Authentik rejects the payload, capture sanitized status, resource IDs, and timestamps.
Subscription blocked
Symptoms:
- Mutation returns
402 subscription_inactive. - Mutation returns
402 subscription_limit_exceeded.
Actions:
- Check the organization subscription state in the hosted console.
- Confirm plan key, seat limit, current period dates, and status.
- If a limit is reached, compare current usage with the plan limits in Pricing.
- If the customer should be allowed through, update the manual subscription state or plan.
- Do not create checkout, invoice, or payment-provider workarounds in this MVP.
Webhook delivery issue
Symptoms:
- Receiver reports invalid signature.
- Delivery logs show retrying or failed events.
- Test webhook does not arrive.
Actions:
- Confirm the endpoint URL is HTTPS and reachable.
- Confirm the endpoint is enabled and subscribed to the expected event types.
- Send a test webhook event.
- Check delivery response status and retry state.
- Rotate the webhook secret if the receiver secret is stale or exposed.
- Ask the receiver to respect retries and avoid side effects without idempotency.
Rate limited customer
Symptoms:
- Customer receives
429 rate_limited. - Logs show repeated startup checks, tight retry loops, or high setup-agent traffic.
Actions:
- Confirm the route and whether the caller respects
Retry-After. - Check whether the customer is over a subscription limit instead.
- If legitimate traffic is blocked, tune the edge limiter for the specific route or source.
- Do not disable the app limiter globally during active abuse.
- Rotate secrets if traffic follows a single leaked key prefix.
Incident communication
- Use non-email channels for MVP ops: Slack, Discord, status page, PagerDuty/Opsgenie, ntfy, or customer support tracker.
- State impact, affected routes, start time, next update time, and mitigation.
- Do not include raw secrets, customer PII beyond necessary account identifiers, or internal bearer tokens.
- Close with root cause, customer impact, prevention item, and owner.