Skip to main content
← Back to list
01Issue
BugOpenSwamp ClubPublicTeam
AssigneesNone

Relationships

#1700 User token page (/u/<user>) shows only "swamp_..." for every API key, making leaked-key identification impossible

Opened by webframp · 8/18/2026

Description

The API key list on a user's page (https://swamp-club.com/u/<username>) renders every key as a truncated, indistinguishable swamp_... string. There is no visible name, label, key-ID suffix, creation date, last-used date, or scope shown per key in that view.

This makes it impossible to identify which key is which when you need to, e.g. after finding a credential accidentally committed to a local git commit (never pushed, but still treated as compromised). Credential files like auth.json expose an apiKeyId (a short hex string) alongside the full apiKey secret — but the web UI token list has no way to cross-reference that ID back to a labeled row, and no way to see a key's own ID from the truncated display string alone.

Net effect: when a key leaks locally, the only safe remediation is to revoke every key on the account and reissue, because there is no affordance to scope revocation to the one specific key that was exposed. For an account with several active integrations (CI, multiple worker fleets, local dev), that is needlessly disruptive.

Steps to Reproduce

  1. Log in to https://swamp-club.com and create two or more API keys for the same account (e.g. via swamp auth login on two different machines, or via the dashboard's "create key" action).
  2. Visit https://swamp-club.com/u/<username> (your own token management view).
  3. Observe the key list: each entry displays as swamp_... (prefix plus ellipsis/truncation) with no other distinguishing metadata rendered.
  4. Attempt to match a known apiKeyId (as found in a local auth.json) against a specific row in the list — there is no field on the page showing the apiKeyId, a label, or any other identifier to match against.

Environment

  • Platform: swamp-club.com (Team plan)
  • Client: swamp CLI, swampVersion: 20260725.011748.0 (per local .swamp.yaml)
  • Auth: swamp auth login
  • Browser: N/A — issue is server-rendered page content, not a client-specific bug

Suggested Fix

Show, per key row: a user-assigned label/name (prompt for one at creation time if not already supported), the apiKeyId (or a short suffix of it), creation date, and last-used date. This is the minimum needed to support targeted revocation during incident response instead of forcing a full credential rotation across every integration on the account.

02Bog Flow
OPENTRIAGEDIN PROGRESSSHIPPED

Open

8/18/2026, 1:25:44 AM

No activity in this phase yet.

03Sludge Pulse

Sign in to post a ripple.