September 2026·v4.2.4LatestFixedWeb
Web mode grows up
- The Frameworks page works in the browser: it fetches the same canonical framework data (SOC 2, ISO 27001, HIPAA, GDPR) from the backend that the desktop app uses, so both modes render identically.
- Browser evidence uploads now actually score: the upload endpoint silently ignored every form field the web dialog sent and stored all uploads as a non-scoring type. The form contract is fixed, and a web upload of a control's required evidence type now moves that control's evaluation.
- The control heatmap renders after a web evaluation: per-control results (score, status, gaps, assessment mode) are now stored on the evaluation and served by both the evaluate response and history. Legacy rows are never re-scored.
- Evaluate works without the desktop app: the dispatcher no longer throws in web mode and routes to the backend, which runs the same canonical engine.
- Boot blockers fixed: comma-separated list environment variables no longer crash startup, placeholder AWS credentials are treated as unset, and real credential pairs validate in either field order.
- UX polish: the Cloud page explains what fleet sync offers with an upgrade action, the empty dashboard shows an upload, evaluate, track hint, and the web dashboard says which features live in the desktop app instead of hiding them.