Security

Threat model and hardening history — the short version.

Source · SECURITY.md

The full policy lives in SECURITY.md in the repository; this page summarizes it. FocusTube's trust boundaries are the pages it runs on, the messages passed between contexts, and anything that ever renders as HTML.

Hardened in v1.0.1 and since

  • AI summary output HTML-escaped — no XSS through provider responses
  • Stored domains, profile images and keyword overlays built via DOM APIs
  • All incoming message payloads validated
  • API keys redacted from any log output
  • updateSettings filtered to known keys only
  • web_accessible_resources tightened to the minimum set

Known limitations

FocusTube reads public page DOM by design and cannot protect content outside the browser. Selector drift on YouTube is the main maintenance cost. The full, honest list is in SECURITY.md — including what the extension deliberately does not do.