Solve security slider (maybe remove safer)
fyi for readers: thorin is the author
- an empty confidential issue created by rui so he could access it
- description filled in by thorin
reduce (or remove security levels)
- at the very least I think we could get rid of safer
Some thoughts
- It creates extra buckets of users
- see #41751 where some safer settings are only applied at startup (AFAICT) and thus create unintended entropy if a user changes the level between safer vs standard mid session
- same issue: we don't require a restart but the three javascript ones do, so we need to engineer that
- some items are probably no longer the threat they once were, but we need to check
- e.g. RDD, RLBox. maturity etc
- such as svg, mathml
- some items we could maybe set the stricter mode at "standard" such as HoM
- there are only 10 items in safer and given some are weak to include, and others are less of a threat than many years ago, I do not think this level even deserves to exist as a threat model
- If NoScript could handle a no JS level, then we could get rid of this concept entirely
- this would fix/close issues such as the one with users wanting security settings per site
- reduce maintenance and footguns
class, discuss!!
// __kSecuritySettings__.
// A table of all prefs bound to the security slider, and the value
// for each security setting. Note that 2-m and 3-m are identical,
// corresponding to the old 2-medium-high setting. We also separately
// bind NoScript settings to the browser.security_level.security_slider
// (see noscript-control.js).
/* eslint-disable */
// prettier-ignore
const kSecuritySettings = {
// Preference name: [0, 1-high 2-m 3-m 4-low]
"javascript.options.ion": [, false, false, false, true ],
"javascript.options.baselinejit": [, false, false, false, true ],
"javascript.options.native_regexp": [, false, false, false, true ],
"mathml.disabled": [, true, true, true, false],
"gfx.font_rendering.graphite.enabled": [, false, false, false, true ],
"gfx.font_rendering.opentype_svg.enabled": [, false, false, false, true ],
"svg.disabled": [, true, false, false, false],
"javascript.options.asmjs": [, false, false, false, true ],
"javascript.options.wasm": [, false, false, false, true ],
};
Edited by Thorin