HERMES-GIELIE/docs
nesquena-hermes 58ba991c0d feat(extensions): opt-in CSP frame-src allowlist (HERMES_WEBUI_CSP_FRAME_EXTRA)
Adds a configurable frame-src directive so an extension can embed a
self-hosted web app in an iframe (e.g. an 'external app tab' pinning
Grafana / Vaultwarden / a dashboard). Mirrors the existing
HERMES_WEBUI_CSP_CONNECT_EXTRA knob: space-separated http(s) origins with
optional *.subdomain wildcard + port, validated, ignored if malformed
(directive-injection / paths / ws scheme / bad ports all rejected).

- Default frame-src is 'self' only, so existing same-origin iframes are
  unchanged; default-off when the env var is unset.
- frame-ancestors stays 'none' -- this only governs what THIS page may embed,
  never who may embed the WebUI.
- Threaded through both the enforced and report-only CSP builders + the
  server.py Handler wrapper, so both headers stay identical.

Docs in docs/EXTENSIONS.md. 8 new regression tests
(tests/test_csp_frame_src_extra.py) cover default, valid widening, enforced
parity, directive-injection rejection, path/ws/port rejection, and
connect/frame independence. Existing CSP test suite still green.

Note: full suite shows 2 pre-existing order-dependent flakes
(test_issue1574 spawn-context, test_issue3283 import-order) that pass in
isolation and are untouched by this CSP-only diff.
2026-06-28 04:08:04 +00:00
..
architecture fix(anchor): preserve settled mixed content order (#4958) 2026-06-27 22:54:29 +00:00
images docs: add clarify dialog screenshot evidence 2026-05-25 16:25:11 +08:00
pr-assets
pr-media Release v0.51.238 — Release HF (stage-q9) (#3493) 2026-06-03 12:23:46 -07:00
rfcs fix(anchor): harden registry contract before wiring 2026-06-13 00:44:26 +08:00
ui-ux chore(#4024): drop docs/ui-ux/review-shots/ trifecta scratch from the release diff 2026-06-13 02:15:01 +00:00
advanced-chat-setup.md docs(readme): re-sequence IA — pull Features up, consolidate access, extract niche docs 2026-06-01 02:26:18 +00:00
CONTRACTS.md Release LW stage — v0.51.359 (#3962 assistant turn anchor phase 0 scaffold) (#3977) 2026-06-10 23:14:18 -07:00
docker.md stage #4491: multi-container gateway URL (#4483) + v0.51.517 CHANGELOG 2026-06-19 19:09:00 +00:00
EXTENSIONS.md feat(extensions): opt-in CSP frame-src allowlist (HERMES_WEBUI_CSP_FRAME_EXTRA) 2026-06-28 04:08:04 +00:00
ISSUES.md
onboarding-agent-checklist.md docs: add agent onboarding entrypoint 2026-05-13 16:47:14 +08:00
onboarding.md docs(onboarding): place AIML setup with custom-provider guidance (#4045) 2026-06-12 12:41:43 -04:00
remote-access.md docs(readme): re-sequence IA — pull Features up, consolidate access, extract niche docs 2026-06-01 02:26:18 +00:00
supervisor.md fix: block duplicate webui start when launchd owns 8787 2026-05-31 23:02:23 +00:00
troubleshooting.md fix(bootstrap): discover agent installed as root (FHS) or behind the bash launcher 2026-06-21 16:55:40 +00:00
UIUX-GUIDE.md [HELD — independent review pending] Release v0.51.294 — stage-3401 (live-to-final redesign #3401 + 4 deep-review fixes) (#3741) 2026-06-06 12:12:37 -07:00
why-hermes.md docs: move Hermes overview out of agent context root 2026-05-19 23:55:58 -07:00
workspace-git.md Release v0.51.311 — Release KA (brick-wave: workspace Git RCE hardening #3769 + stale-snapshot sidebar visibility #3770) (#3776) 2026-06-07 08:05:30 -07:00
wsl-autostart.md