diff --git a/CLAUDE.md b/CLAUDE.md index 72e3466..44f162e 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -51,7 +51,9 @@ Implemented investigation/response state: exposes `incident list/show/export`. - The dashboard is HTTPS-only, token-protected off loopback, and read-only. It shows status, incidents, timelines, alerts, posture findings, event-rule - metadata, event tail, and dry-run response plans. + metadata, event tail, dry-run response plans, and a local Settings menu with + persistent themes. Web tests cover the theme registry and core text/status + contrast checks. - `respond plan ` builds read-only containment/recovery plans, persists CLI-generated plans under `response-plans/`, and appends `response-audit.log`. Dashboard/API plan previews do not write artifacts. diff --git a/README.md b/README.md index 9bffc51..1fffdf6 100644 --- a/README.md +++ b/README.md @@ -295,6 +295,10 @@ sudo systemctl enable --now enodia-sentinel-web API at `/api/status`, `/api/incidents`, `/api/respond/plan/`, `/api/posture`, `/api/rules`, `/api/alerts`, `/api/alerts/`, `/api/events`. +- **Operator settings**: the self-contained dashboard includes a Settings menu + with persistent local themes: Console, Paper, Contrast, LGBTQ, Trans, Dracula, + Solarized Dark, Solarized Light, and Twilight. Static dashboard tests guard + the theme registry and core text/status color contrast across every palette. CLI-generated response plans are saved for handoff/review under `/response-plans/`, with a JSONL trail in diff --git a/docs/COMMAND_REFERENCE.md b/docs/COMMAND_REFERENCE.md index 9c74ca2..de852d7 100644 --- a/docs/COMMAND_REFERENCE.md +++ b/docs/COMMAND_REFERENCE.md @@ -327,7 +327,11 @@ that certificate or replace it with a private/local CA certificate. The console exposes incidents, alert snapshots, posture findings, event-rule metadata, event tail, and dry-run response plans. It remains read-only; response -commands are displayed for review but not executed from the browser. +commands are displayed for review but not executed from the browser. Dashboard +settings are local to the browser and include persistent themes: Console, Paper, +Contrast, LGBTQ, Trans, Dracula, Solarized Dark, Solarized Light, and Twilight. +The theme registry and core text/status contrast pairs are covered by the web +test suite. Expected use: `enodia-sentinel-web.service`. diff --git a/docs/ROADMAP.md b/docs/ROADMAP.md index dd8b71f..47207ad 100644 --- a/docs/ROADMAP.md +++ b/docs/ROADMAP.md @@ -97,6 +97,11 @@ Purpose: define a stable single-host product. - Add signed release artifacts and checksums. - Improve dashboard from alert browser to local console: incidents, posture, integrity state, response plans, and watchdog status. +- ✅ Add a local dashboard Settings menu with persistent themes for dark + console, light evidence review, high-contrast operation, LGBTQ, Trans, + Dracula, Solarized Dark/Light, and Twilight palettes. +- ✅ Add dashboard theme contrast/visual smoke checks so readable text and + meaningful status colors are preserved across every palette. - Keep the dashboard read-only unless a separate authenticated write path is designed and reviewed. @@ -232,7 +237,6 @@ Useful ideas that need design before implementation: - Support for non-pacman package managers in signed-package verification. - Dedicated Debian/RPM packaging. - Installer preflight checks and health diagnostics. -- Rule documentation generated from source defaults. ## Roadmap Rules diff --git a/enodia_sentinel/static/dashboard.html b/enodia_sentinel/static/dashboard.html index 33464bb..c636506 100644 --- a/enodia_sentinel/static/dashboard.html +++ b/enodia_sentinel/static/dashboard.html @@ -5,45 +5,190 @@ Enodia Sentinel +