Skip to main content
← Back to list
01Issue
BugShippedSwamp Club
Assigneesstack72

Relationships

#1374 api-key-scoping explanation doc contradicts shipped fine-grained scopes

Opened by stack72 · 7/24/2026· Shipped 7/24/2026

Problem

content/manual/explanation/api-key-scoping.md (lines 77-88) explicitly argues that fine-grained scopes "would add token management friction without meaningful security benefit" and defends one-scope-per-category as intentional.

This directly contradicts the shipped implementation. Fine-grained scopes (extensions:push, extensions:promote, extensions:read) are live, enforced, and selectable in the UI. The reference doc (api-key-authentication.md) already lists all 22 scopes correctly. This explanation page is the only doc still arguing against the feature.

What needs to change

Rewrite the "scope granularity" section to explain the current two-tier model:

  • Fine-grained scopes for extensionsextensions:push, extensions:promote, extensions:read let CI tokens follow least-privilege (the core ask from #960)
  • Category-level wildcards for infrastructureserve:*, datastore:*, vault:* are single scopes because these are binary capabilities (you either run a serve instance or you don't)
  • Wildcard expansionextensions:* grants all fine-grained extension scopes

The explanation should help users understand why some categories have fine-grained scopes and others don't, rather than arguing against fine-grained scopes entirely.

Context

Part of #960. The reference table in api-key-authentication.md was updated in PR #981. The how-to in authenticate-with-api-keys.md was updated in the same PR. This explanation page was missed.

02Bog Flow
OPENTRIAGEDIN PROGRESSSHIPPED+ 1 MOREASSIGNED+ 1 MOREREVIEW+ 3 MOREPR_MERGED+ 1 MORENOTIFICATION_SKIPPED

Shipped

7/24/2026, 12:43:16 AM

Click a lifecycle step above to view its details.

03Sludge Pulse
stack72 assigned stack727/24/2026, 12:23:30 AM

Sign in to post a ripple.