Appearance
No Auto Vaultwarden Writes
Agents NEVER run bw create, bw edit, or any other Vaultwarden mutation. Every Vaultwarden write is Michael-manual through the UI. Reads (bw get, bw list, metadata queries, value-to-0600-file pipelines) remain permitted.
Cross-link: bitwarden-canonical-credential-store (Vaultwarden as canonical store), no-credential-print (never print secrets in chat), bw-create-stdout-echo (its stdout law still governs read pipelines; this law supersedes its write half).
The Rule
Pipelines requesting a new key may:
- Generate the value system-side (e.g. a random token, an OAuth refresh token, an HMAC secret)
- Install it system-side as a 0600 env file on Z2 (or wherever the consumer reads)
- Hand Michael: the item name, the field list, the values via secure channel (never chat)
Pipelines may NOT:
- Run
bw create item ... - Run
bw edit item ...— including renames and notes updates - Create items "behind the scenes" because a precedent exists (the original violation)
Michael-ordered renames/updates: give him the click-path in the UI. Do not execute on his behalf.
Why this law exists
Michael ruling 2026-06-12 (verbatim): "anytime hinata wants to write new key to vaultwarden, i have to manually do it. no longer allow auto write."
During the 2026-06-12 collector-allmight build, Jimmy auto-created item allmight_webhook following the sanji_webhook precedent. Michael found an item he didn't create in his credential store ("i did not make an allmight_webhook / why does it exist") — auto-writes break his trust in and inventory of Vaultwarden, regardless of how safely the values were handled. Trust in the credential store is the foundation of the entire security model; the rule exists to keep that trust intact.
How agents apply it
When a pipeline needs a new credential surface:
- Generate the value system-side (ssh into Z2, run the generator)
- Install it as a 0600 env file at the consumer's expected path
- Surface Michael a one-message summary:
- Item name (his choice or your suggestion)
- Fields to add (name, login, password, custom fields)
- Why this item is needed
- Wait for him to add it. Do not proceed past step 4 without confirmation.
- If the consumer needs to read the value at runtime, the read pipeline (per bw-create-stdout-echo) governs — pipe to file, never print.
If a Vaultwarden item must be renamed: surface the click-path, never bw edit.
Graduation note
Lifted from harness memory feedback_no-auto-vaultwarden-writes on 2026-06-14 via the memory-graduation scout (vault citations: 13; commander-memory spread: 3 — Bulma, Itachi, Jimmy-Neutron). Strongest doctrine signal in the first hardened run. The original memory file is deleted; the index pointer in MEMORY.md directs here.