They’re not strictly redundant, but they overlap and in practice the “block HTTP JavaScript” rule is usually low value if you already run HTTPS-First.
HTTPS-First / Always use secure connections
- Goal: avoid HTTP entirely by upgrading to HTTPS when possible (and optionally warning/blocking when a site can’t do HTTPS).
- Security impact: high. It prevents the whole class of “someone tampered with my HTTP session” problems for sites that support HTTPS.
- Breakage: usually low to moderate (mainly old sites, captive portals, LAN device UIs).
Block JavaScript on `http://*`
- Goal: reduce script execution specifically on HTTP pages.
- Security impact: limited, because on HTTP an attacker can tamper with the HTML itself, links, forms, and downloads—not just JS. So “no JS” doesn’t make HTTP “safe.”
- Breakage: can be significant for any HTTP-only site/device UI that relies on JS.
So are they redundant?
- If HTTPS-First is enabled in a “strict” way (warn/block when HTTPS isn’t available), then blocking JS on HTTP becomes mostly redundant because you’re rarely (or never) loading HTTP pages.
- If HTTPS-First is in a more “fallback” mode (it tries HTTPS but still allows HTTP without a hard stop), then blocking JS on HTTP is not redundant—but it still doesn’t address the core insecurity of HTTP, and it can cause annoying breakage.
Recommended approach
- Use HTTPS-First as the primary control.
- If you want extra hardening, consider blocking high-abuse permissions globally (Notifications, popups/redirects, automatic downloads), rather than targeting JS on HTTP.
- Only add “block JS on `http://*`” if you have a specific environment where you frequently hit HTTP pages and you accept the usability cost.