v0.10.0 — security & reliability audit
A full security / reliability / quality audit of the daemon and board — findings fixed and pinned by regression tests, each fix cross-reviewed. Suite 484/484 (and under FLEETDECK_TEST_WAIT_SCALE=3).
Security
- Proxy-auth token bypass closed — a loopback request through a trusted reverse proxy with no
Originand no token could be auto-authorized (includingPOST /api/spawn) under the defaultFLEETDECK_PROXY_AUTH=token. The loopback exemption now also consults theHostauthority; local hooks andtrustmode are unaffected. - Mail-to-pane keystroke injection hardened — owned-pane paste strips bracketed-paste markers and control bytes.
- State files owner-only —
fleetd.db/WAL/SHM →0600,FLEETDECK_HOME→0700. - Spawn prompts never parsed as
claudeflags (passed after a--terminator); supervisor pidfile verified by process identity;service.envvalues validated.
Correctness
- Worktree removal no longer races a revive;
/clearsuccession can't mis-assign an heir; mail//rcdon't auto-submit into a pane that went busy mid-delivery; board answer-hotkeys are suppressed under a modal; a true 50-file paste cap.
Cleanup
- Removed the legacy
/plainboard +board.html(−22 KB from the npm package) and dead exports; internal dedups (config.mjs,exec.mjs); the redundant per-sessionmail_pendingwas dropped from/state(the top-levelmail_pendingmap andmail_metaremain).
Full changelog: https://github.com/lacion/fleet-deck/blob/main/CHANGELOG.md