Skip to main content
← Back to list
01Issue
FeatureOpenSwamp CLIPublic
AssigneesNone

Relationships

#3821 Docs: define the sensitive-output fallback vault order and document the doctor vaults fallback warning

Opened by stack72 · 10/23/2026

What changed

swamp-club#3805 (swamp PR #3322) documented in the swamp repo which vault the sensitive-output fallback picks, and added a doctor vaults warning for it. The manual does not describe either yet.

When a sensitive output names no vault (no field, data output override or spec vaultName) and no default vault is in effect, swamp stores it in the first user vault, ordered by vault type, then by vault id. That is the order of swamp vault list. It is not creation order, and it is not lowest id across all vaults: an @-scoped extension vault type such as @swamp/1password sorts before local_encryption. That order replaced filesystem listing order in swamp-club#3067, so repos with several vaults and no defaultVault could see their secrets move to a different vault after an upgrade.

Pages to update

  1. content/manual/reference/vaults.md, "Vault Resolution Order". Step 4 says "First available vault from the vault service (backwards-compatible fallback)". Replace it with the defined order (vault type, then id, as swamp vault list shows), and recommend setting defaultVault in any repo with more than one vault. "Each level takes precedence…" can stay.
  2. content/manual/reference/repository-configuration.md, the defaultVault section. "When not set, Swamp falls back to the first available vault" should say which vault that is (as above) and point to swamp doctor vaults. It could also note that swamp repo upgrade never adds defaultVault, so repos created before repo init started setting it rely on the fallback.
  3. content/manual/reference/doctor.md, "doctor vaults". Document the new advisory warning and its optional JSON field fallbackWarning:
    • When it appears: two or more user vaults, no default vault in effect (defaultVault unset, or naming a vault that is not registered), and at least one definition whose sensitive outputs rely on the fallback. Workflow-step dataOutputOverrides are not considered.
    • Fields: fallbackVault (the vault those outputs are stored in), userVaults (all user vaults in fallback order), definitions (each with definitionId, definitionName, type), and unregisteredDefaultVault (only when defaultVault names a vault that is not registered).
    • The warning does not change overallStatus or the exit code. In log mode the pass line ends with , 1 warning and a yellow block follows it.

Source of truth

  • design/primitives/data.md and design/enablers/doctor-vaults.md ("Fallback vault warning") in the swamp repo
  • src/domain/models/sensitive_output_vault.ts (resolveSensitiveOutputVault, reliesOnVaultFallback)
  • src/libswamp/models/doctor_vaults.ts (VaultFallbackWarning)
02Bog Flow
◉OPEN○TRIAGED○IN PROGRESS○SHIPPED

Open

10/23/2026, 10:59:47 AM

No activity in this phase yet.

03Sludge Pulse

Sign in to post a ripple.