Relationships
#3783 Registry scorecard: score secret-safe-docs (rubric v4) and keep sensitive on extracted arguments
Opened by skunk-ape · 10/22/2026
Context
swamp-club#3757 adds a secret-unsafe-docs warning and a rubric v4 factor, secret-safe-docs (1 point), to the swamp CLI. The CLI ships first, so until this lands swamp extension quality shows one point more possible than the registry scorecard.
The detector is a pure module in swamp, src/domain/extensions/extension_secret_docs_detector.ts. #3781 tracks sharing the rubric as a package; until that exists, mirror it here by hand.
What the registry needs
Score
secret-safe-docsat rubric v4. It is earned when nosecret-unsafe-docsfinding is left unaccepted. The scan covers:- the packaged Markdown, excluding include and data files
- the manifest
description - strings passed to
.describe(...)or set asdescription:in source.
Patterns:
- vault reference syntax swamp does not support:
vault://,<vault:,{{ vaultwithout the leading dollar sign, andswamp vault set --global-argor--inputthat sets a secret argument to anything other than a vault expression. A secret argument is one the schema marks sensitive, or an undeclared name that reads as a secret. Boolean values pass.swamp vault putwith the value on the command line, unless the command uses--serveror the value is a shell variable ($TOKENor"${TOKEN}", not single-quoted)- full-length credential shapes. Repeated-character placeholders pass, as do
user:pass@URLs on localhost, loopback or example.com hosts.
In Markdown, every pattern except credential shapes counts only inside fenced code blocks. Patterns are linear-time and lines over 2000 characters are skipped. The registry runs this on archives it did not author, so keep that property.
Honour accepted findings.
contentMetadata.acceptancesalready carries file, rule and line. A finding accepted there does not cost the point.Keep
sensitiveon extracted arguments. The CLI now sendssensitive: trueonglobalArguments, methodargumentsand vault/datastoreconfigFields.validateModelinlib/domain/extension/extension-content.tsrebuilds each argument field by field and drops it. Keep it, and have the server-side extractor (lib/app/extract-extension-content.ts) set it from.meta({ sensitive: true }).Bump
RUBRIC_VERSIONto 4 and add the factor toscore.tsandanalysis-factors.ts.Update the manual:
content/manual/reference/extensions/scorecard-rubric.mdandcontent/manual/how-to/extensions/improve-score.md.
Impact
A scan of the latest version of all 1,909 registry extensions found at most 129 that would lose the point. That's an upper bound: the scan read no schemas, so declared non-secret names such as totalTokens were counted. Most hits are the patterns this issue targets.
Open
No activity in this phase yet.
system commented 10/22/2026, 4:25:15 PM
Classified automatically when this issue was filed.
- Source: Swamp Club
If you feel this classification is incorrect, add a ripple to tell us so.
Sign in to post a ripple.