Skip to content

Document secret-shapes coverage limits - #89

Merged
steflsd merged 1 commit into
mainfrom
docs/secret-shapes-coverage-limits
Jul 27, 2026
Merged

Document secret-shapes coverage limits#89
steflsd merged 1 commit into
mainfrom
docs/secret-shapes-coverage-limits

Conversation

@steflsd

@steflsd steflsd commented Jul 27, 2026

Copy link
Copy Markdown
Contributor

@coderabbitai ignore

Docs only — no behaviour change.

The secret-shapes section described what the detector catches but not what it deliberately doesn't, which invites the assumption that enabling it covers any secret in any config an agent reads. Both fixes shipped in 0.2.3 (#85, #87) came out of that gap in understanding.

Adds a Known coverage limits section to docs/plugins.md:

  • Distinguishes the value-only patterns (caught anywhere, regardless of key) from the two key/value pairing patterns, whose limits only bite for opaque values.
  • Tabulates the three positions where an opaque value is missed — secret-ish word at the start of the key, decoration between separator and value, flag forms with no separator — each with the reason it isn't simply widened. The first carries the measurement: relaxing it costs +83% detections on a 4,000-file corpus, nearly all identifiers and i18n keys.
  • Documents the path-shaped-value rejection from Stop secret-shape detection from swallowing file paths #85 so it reads as intentional rather than as a detector miss.
  • Restates that none of this touches the exact-match promise for registered values.

Cross-referenced from the threat model's "Intentionally not covered" list, which previously had no entry for best-effort detector misses.

🤖 Generated with Claude Code

The detector docs described what secret-shapes catches but not what it
deliberately does not, which invites the assumption that enabling it covers
any secret in any config an agent reads.

Add a "Known coverage limits" section covering the three key/value pairing
positions where an opaque value is missed (secret-ish word at the start of
the key, decoration between separator and value, flag forms with no
separator), each with the reason it is not simply widened. Also document the
path-shaped-value rejection added in #85, so the behaviour reads as
intentional rather than as a detector miss.

Cross-reference from the threat model's "Intentionally not covered" list,
and restate that none of this affects the exact-match promise for registered
values.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@steflsd
steflsd merged commit 17b680d into main Jul 27, 2026
4 checks passed
@steflsd
steflsd deleted the docs/secret-shapes-coverage-limits branch July 27, 2026 08:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant