Overbearer is a transparent man-in-the-middle proxy that intercepts bearer tokens in HTTP/HTTPS traffic and replaces them on the fly. Services use harmless fake tokens that only work through the proxy; the real secrets never leave the encrypted vault. This manual walks through every view in the management console.

Overbearer uses WebAuthn passkeysexclusively — there are no passwords. The login screen presents a single “Sign in with Passkey” button that triggers your browser's built-in passkey dialog (Touch ID, Windows Hello, hardware security key, etc.).
Below it, a “Register a new account” link lets pre-created users complete their passkey registration. Accounts must be created by an admin first; there is no open self-registration.
When the database is empty (fresh deployment), the login page automatically switches to a setup screen where you choose a username and display name. This creates the first user as an admin and signs you in immediately — no passkey required for this initial bootstrap. You should register a passkey afterwards from the Settings page.
Overbearer has four roles, listed from lowest to highest privilege:
| Role | Sidebar Navigation | Capabilities |
|---|---|---|
| Requester | Dashboard, Token Requests | Submit token access requests. View own request status. |
| Viewer | Dashboard, Logs, Services, New Activity | Read-only access to proxy logs and service monitoring. Logs are scoped to tokens the viewer has been granted access to. |
| Manager | Dashboard, Tokens, Token Requests | Create, rotate, and revoke token mappings. Approve or deny token requests. Manages tokens they created and tokens accessible via group membership. |
| Admin | All pages | Full access. Manage users, groups, CA certificates, proxy ACLs, and all tokens regardless of ownership. |
The sidebar adapts to show only the pages available to the current user's role. The bottom of the sidebar always displays the logged-in user's name and role.
Minimum role: any authenticated user
Admin view

Manager view

Viewer view

Requester view

The dashboard provides a quick overview of the deployment through four stat cards:
When any services are detected using real tokens directly (i.e. not going through fake-token replacement), a red-bordered alert section appears below the stat cards. Each row shows:
A timeline at the bottom shows the last 10 proxy log entries, each with a colored dot indicating the token type:
Each entry shows the originating service, the HTTP method and path, and the timestamp.
Minimum role: Manager
Admin view

Manager view

The Tokens page is the core of Overbearer's secret management. It displays a sortable, searchable table of all token mappings visible to the current user.
| Column | Description |
|---|---|
| Name | Human-readable label for the token mapping. |
| Provider | The external API provider (e.g. anthropic, openai, stripe). |
| Fake Token | The safe replacement token that services use. Shown as a monospaced code snippet with a copy button. |
| Status | Active (green) or Revoked (red). Revoked tokens are no longer replaced by the proxy. |
| Created By | The username of the manager or admin who created the mapping. |
| Usage | Number of proxy requests that used this fake token, as reported by ClickHouse. |
| Access | Shows which users and groups have been granted access to this token. |
| Used By | Services that have used this fake token, shown as small code badges. |
Each active token row has two action buttons:
Click the “+ Create Token” button in the top right. The modal asks for:
After creation, a second modal displays the generated fake token. This fake token preserves the prefix of the real token (e.g. sk-ant-api03-ovb-...) so target APIs don't reject it on format alone. Copy it and distribute it to the service owners.

Clicking any row in the token table opens a detail modal showing:
Below the token info, two columns let you manage who has access:
Access changes take effect immediately.
The search bar above the table filters tokens by name or provider in real time.
Minimum role: Requester (submit), Manager (review)
Admin view

Manager view

Requester view

The Token Requests page implements a self-service workflow. Users who don't have direct token access can request it, and managers approve or deny.
| Column | Description |
|---|---|
| Provider | The external API provider being requested. |
| Reason | Free-text justification for the request. |
| Requested By | Username of the person making the request. |
| Status | Pending (orange), Approved (green), or Denied (red). |
| Submitted | Timestamp of when the request was created. |
| Reviewed By | Username of the manager/admin who acted on the request, or -- if still pending. |
Click “+ New Request”. The modal has a Provider dropdown (OpenAI, Anthropic, GitHub, AWS, GCP, Azure, Stripe, Other) and a Reason text area explaining why the token is needed. After submission the request appears with Pending status.
Pending requests show two action buttons:
Requesters only see their own requests. Managers and admins see all requests.
Minimum role: Viewer
Admin view

Viewer view

The Logs page is a real-time viewer for every HTTP request that flows through the Overbearer proxy. Log data is stored in ClickHouse and supports high-volume time-series queries.
| Column | Description |
|---|---|
| Timestamp | When the request was proxied, with millisecond precision. |
| Service | The originating Kubernetes service name (resolved from pod IP). |
| Target Host | The external API hostname (e.g. api.anthropic.com). |
| Method | HTTP method (GET, POST, PUT, DELETE). |
| Path | The request path (e.g. /v1/messages). |
| Token Type | Color-coded badge: Fake (green) = properly replaced, Real Direct (red) = real token seen in the wild, Unknown (gray) = no recognized token header. |
| Status | HTTP response status code, color-coded: green for 2xx, amber for 3xx/4xx, red for 5xx. |
| Latency | Round-trip time in milliseconds. |
Click the “Filters” button in the top right to expand a panel with five filter fields:
Filters are applied server-side and the table paginates (25 rows per page).
Toggle the “Auto-refresh” checkbox to poll for new log entries every 5 seconds. The refresh icon spins while loading.
Viewers only see logs for tokens they have been explicitly granted access to (via direct user access or group membership). If no access has been granted, the table is empty. Admins see all logs with no restrictions.
Minimum role: Viewer
Admin view

Viewer view

The Services page highlights a critical security concern: services that are sending real API tokens directly through the proxy instead of using fake tokens. These are services that haven't been onboarded to Overbearer yet.
Each service is displayed as an expandable card showing:
Clicking a token preview badge opens a Capture Token modal. The capture flow:
This lets you onboard unprotected services without ever asking the service owner for the real token — the proxy already intercepted it.
Minimum role: Viewer
Admin view

Viewer view

The New Activity page surfaces new service-token associations — cases where a service started using a token it has never used before. This is an anomaly-detection view useful for spotting:
Each card shows:
The lookback window defaults to 24 hours. When no new associations are detected, a green “All clear” message is shown.
Minimum role: Admin

The Users page lets admins manage accounts and their roles:
| Column | Description |
|---|---|
| Username | The unique login identifier. |
| Display Name | Human-readable name shown in the sidebar and audit logs. |
| Role | An inline dropdown selector that lets admins change a user's role instantly. Options: Admin, Manager, Viewer, Requester. |
| Created | Account creation date. |
| Delete | Red trash icon to permanently delete a user (with confirmation dialog). |
Click “+ New User” to open the creation modal:
Clicking “Create & Generate Invite” creates the user account and generates a one-time invite link valid for 7 days. Copy this link and send it to the new user. When they visit the link, they'll register a passkey and gain access.
Minimum role: Admin

Groups let you organize users into teams and manage token access in bulk. Each group card shows:
Click “+ Create Group” and provide a name and optional description.

Click any group card to open the detail modal. It has two sections side by side:
A Delete Group button at the bottom permanently removes the group (with confirmation).
When a token is granted to a group, all members inherit access. This affects:
Minimum role: Admin

The Settings page has four sections:
The MITM proxy generates per-host TLS certificates on the fly, signed by a private Certificate Authority. Services must trust this CA for transparent token replacement to work. Three actions:
Controls which services can use the proxy. Operates in two modes:
| Column | Description |
|---|---|
| Pattern | A glob-style pattern (e.g. production/*, 10.0.0.0/16). |
| Description | Optional human-readable description. |
| Created | When the rule was added. |
| Delete | Red trash icon to remove the rule. |
Adding the first rule switches the proxy from Open to Restricted mode. Deleting all rules switches it back to Open. New rules are added via the inline form at the bottom of the section.
Shows the current user's passkey status. If a passkey is registered: a green checkmark with confirmation text. If no passkey: a prompt to register one with a button that triggers the browser's WebAuthn flow.
Displays read-only metadata: product name, UI version, architecture description, and authentication method.
| Admin | Manager | Viewer | Requester |
|---|---|---|---|
| Dashboard | Dashboard | Dashboard | Dashboard |
| Tokens | Tokens | Logs | Token Requests |
| Token Requests | Token Requests | Services | — |
| Logs | — | New Activity | — |
| Services | — | — | — |
| New Activity | — | — | — |
| Users | — | — | — |
| Groups | — | — | — |
| Settings | — | — | — |