diff options
| author | Christophe Besson <cbesson@gmail.com> | 2026-09-01 17:49:28 +0200 |
|---|---|---|
| committer | Christophe Besson <cbesson@gmail.com> | 2026-09-01 17:49:28 +0200 |
| commit | 30c032f2659fe697f7731dc9ae2cf8b8499177d4 (patch) | |
| tree | abf4354d556d15ea734d0f455f16cc742b88b0c6 /docs/third-review.md | |
| parent | 6b38704d459dec1271c7ca883de3eb14190218f7 (diff) | |
| download | meshbay-30c032f2659fe697f7731dc9ae2cf8b8499177d4.tar.gz | |
fix(client): allow reCAPTCHA in the Electron CSP
Needed for the paired meshbay-hub commit that makes the registration
captcha unconditional (M1): the desktop client renders the same
RegisterPage widget the browser does, which needs its script, its
challenge iframe and its assets to load.
script-src, the new frame-src, and img-src now allow exactly
https://www.google.com and https://www.gstatic.com, and nothing else
external — the hub's own origin is still absent from script-src, so
T3 (nothing the hub returns is executed) is unaffected. This is a
one-time source change: it ships identical in every build via
`files: ["src/**"]` in electron-builder's config, with no build step,
packaging step, or installer action for anyone to perform, and no
setting for an end user to touch.
test_desktop_shell.py updated to pin the exception precisely: the
reCAPTCHA hosts are the *only* external origins allowed anywhere in
the policy, and a bare `https:` scheme is still refused in script-src.
Third security review, finding M1 (Option A, desktop half).
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011pG75yGK3NthNfyjH74omG
Diffstat (limited to 'docs/third-review.md')
0 files changed, 0 insertions, 0 deletions