You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
harden(deploy): add CSP + security headers, drop external Google Fonts
Two defense-in-depth fixes from the security review:
1. Self-contained fonts. Remove the Google Fonts <link>s from
build/template.html; the --ui/--mono CSS stacks already fall back to
system fonts. The served page now makes zero third-party requests
(privacy + air-gap + truly self-contained).
2. Security headers. deploy/http_handlers.xml now sends a strict CSP
(default-src 'none'; connect-src 'self' <issuer-origins>;
frame-ancestors 'none'; base-uri 'none'; img-src data:; script/style
'unsafe-inline' since the bundle is inlined), plus nosniff and
Referrer-Policy: no-referrer. connect-src is the real win — it bounds
where the sessionStorage tokens can be sent if an XSS ever lands.
install.sh resolves the issuer's OIDC discovery and rewrites
connect-src to the real issuer + token-endpoint origins (fail-soft to
the Google default if discovery is unreachable), writing the rendered
file to dist/http_handlers.xml. New --dry-run flag renders config.json
+ http_handlers.xml and prints them with no ClickHouse contact.
README + DEPLOYMENT docs updated. No src/ changes; 319 tests still pass.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01QennTvGKAtJZrv9EpQagef
0 commit comments