Skip to content

v0.10.0 — security & reliability audit

Choose a tag to compare

@lacion lacion released this 15 Jul 16:59

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 Origin and no token could be auto-authorized (including POST /api/spawn) under the default FLEETDECK_PROXY_AUTH=token. The loopback exemption now also consults the Host authority; local hooks and trust mode are unaffected.
  • Mail-to-pane keystroke injection hardened — owned-pane paste strips bracketed-paste markers and control bytes.
  • State files owner-onlyfleetd.db/WAL/SHM → 0600, FLEETDECK_HOME0700.
  • Spawn prompts never parsed as claude flags (passed after a -- terminator); supervisor pidfile verified by process identity; service.env values validated.

Correctness

  • Worktree removal no longer races a revive; /clear succession can't mis-assign an heir; mail//rc don'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 /plain board + board.html (−22 KB from the npm package) and dead exports; internal dedups (config.mjs, exec.mjs); the redundant per-session mail_pending was dropped from /state (the top-level mail_pending map and mail_meta remain).

Full changelog: https://github.com/lacion/fleet-deck/blob/main/CHANGELOG.md