Skip to content
Oznog

3.19 · storage and backups · after redaction

One unique password, and a backup the verifier could not see

date
20260917 to 20260918
what happened
A new fleet host was built with a freshly generated, unique backup-repository password, the intuitively more secure choice. The next morning the fleet's automated backup-verification sweep flagged it: the sweep opens every repository using one shared fleet password plus a short, deliberately maintained exception list, so a repository with its own password was silently excluded from verification entirely.
what it cost
An unknown window, at minimum overnight, in which a fleet host's backups ran with zero automated proof they were sound, invisible because nothing failed loudly and the dashboard showed green.
what changed
A written fleet policy that every repository uses the same shared password, with per-repository unique passwords reserved for a hypothetical future of hosting external clients. A documented procedure covers the rare genuine exception, including the trap that there are two separate exception lists, one for the freshness and structural sweep and one for the restore-rehearsal tool, and updating only one leaves the other blind while its own dashboard also looks fine.
the check now
After bringing any new host onto the fleet's backup system, run the verification sweep against it explicitly and require a clean result before the host's backup setup counts as complete.

Security intuition and operational reality pulled in opposite directions here, and operational reality won for a specific, well-reasoned cause. Giving a new machine its own unique backup-encryption password is, in isolation, the more cautious choice: no single compromised secret affects more than one host. But the fleet’s automated proof that backups are actually sound, a nightly and weekly sweep that opens every repository and checks it, was built around a shared password with a short, explicitly maintained list of exceptions.

A repository outside that list, whether by oversight or by a well-intentioned security choice, is invisible to the sweep, and invisible in a particularly dangerous way. The backup itself keeps running, uninterrupted, so every visible signal says everything is fine. The one system meant to catch a broken or corrupted backup never looks at it.

The fix adopted was not a smarter sweep. It was accepting a small, deliberate, written tradeoff: uniform passwords across the fleet today in exchange for guaranteed coverage, with unique passwords held in reserve for a future situation where the tradeoff would flip. The principle generalises well past backups. A new component is not finished integrating into a fleet when its own function works. It is finished when every fleet-wide system that is supposed to be watching it can actually see it. That has to be checked explicitly rather than assumed from the component working in isolation.

Source: node0 lessons v0.1, lesson 3.19. Sanitized: checklist v0.1, 20260921; hostname, secret paths; voice pass 20260921. Part of oznog.com/node0.