aed80ee143
`09` §3 decision 146. vaultwarden's fixture tries the household's own /identity/accounts/register first (400 while sign-up is closed, R-512); on the BENCH ONLY it then signs in to /admin with the ADMIN_TOKEN the bench generated for this run, invites the drill address and registers it — the route measured on 9202 2026-09-15 (E1-vaultwarden-spike). The token goes to curl on stdin, the admin cookie in a 0600 header file that is shredded. The dead /api/accounts/register (404 on 1.36) is gone. bench_admin_seed_allowed(): the venue is the bench's (upgrade_boxport.Venue VENUE="bench"), FELHOM_BENCH_ADMIN_SEED=1, and /opt/docker/stacks does not exist (every Felhom box has it). Any one missing refuses; the edge stays inconclusive with what was tried. upgrade-test.py: the run's .env is written 0600 and shredded after the teardown; every printed line and every evidence file is redacted of the generated deploy secrets and the fixture's own password/key. zipline needs no held secret: its first-run /api/setup already makes the SUPERADMIN with a per-run password (measured 2026-09-30), now redacted too. Tests: BenchAdminSeedGuard, SecretHygiene (red-proved). Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_0159rPz1ZhFKsS53msqPYxtS