Is 7TV safe?
7TV fetches a remote configuration from its servers to determine which other installed extensions to flag for disabling.
On startup, 7TV requests https://7tv.io/v3/config/extension and parses a compatibility list of extension IDs from the response. Any installed extension whose ID appears in that server-controlled list is displayed with a warning in the 7TV Compat UI, and a Disable button is presented to the user. With the optional management permission granted, clicking that button calls chrome.management.setEnabled to disable the targeted extension — with the target set entirely determined by the remote server.
AI-generated. Findings may contain errors. Those marked Verified have been manually reviewed.
Publishers can request a review.
Findings
Remote compatibility config can flag extensions for disabling
The compatibility screen requests 7TV's config from 7tv.io.
Code matches installed extension IDs against the response's list, warns on matches, and once granted management permission, disables the match via a DISABLE button.
You open 7TV's compatibility screen during onboarding or from settings.
The screen includes a Check Compatibility flow that asks for the optional management permission.
The extension downloads a server-provided compatibility list and compares it with installed extensions.
If an installed extension is listed with issues, the UI shows the issue text and can offer a DISABLE button after permission is granted.
| Field | Value | Why it matters | |
|---|---|---|---|
Matched extension IDs | ["ajopnjidmegmdimjlfnijceegpefgped", "firefox@betterttv.net"] | Lets the compatibility list decide which installed extensions appear as concerns in the UI. | |
Issue severity | DUPLICATE_FUNCTIONALITY | Sets the warning category and color shown beside a matched extension. | |
Issue message | A significant amount of functionality from this extension is also in 7TV. While there is no known immediate clashing with this extension, such redundancy may decrease performance | Controls the explanatory text shown to you for the matched extension. | |
Installed extension state | BetterTTV 7.6 enabled | Lets the UI decide whether the matched extension is still enabled and should receive a DISABLE button. |
Compatibility config drives the warning list and disable action
fetch("https://7tv.io/v3/config/extension").then(e => e.json()).then(e => h.value = e);
function O() {
chrome.permissions.request({
permissions: ["management"]
}, e => {
d.value = e
})
}
function T() {
chrome.management.getAll(e => {
var s, c;
_.value.length = 0, f.clear(), _.value = e.filter(t => t.type === "extension");
const i = [];
for (const t of _.value) {
const l = (c = (s = h.value) == null ? void 0 : s.compatibility) == null ? void 0 : c.find(r => r.id.includes(t.id));
i.push([t, l ?? {
id: [],
issues: []
}])
}
i.sort(([, t], [, l]) => t.issues.length > l.issues.length ? -1 : 1);
for (const [t, l] of i) f.set(t, l)
})
}
function x(e) {
chrome.management.setEnabled(e.id, !1, () => {
e.enabled = !1
})
}b(D, null, {
default: g(() => [c.issues.length ? (n(), o("div", J, [(n(!0), o(N, null, C(c.issues, (r, L) => (n(), o("div", {
key: L,
class: "ext-compat-concern"
}, [a("h4", {
style: E({
color: k[r.severity]
})
}, m(r.severity.replace("_", " ")), 5), a("p", null, m(r.message), 1)]))), 128))])) : p("", !0)]),
_: 2
}, 1024), c.issues.length && s.enabled ? (n(), o("div", Z, [a("button", {
onClick: r => x(s)
}, "DISABLE", 8, ee)])) : p("", !0)- 7tv.io
Receives the compatibility configuration GET request and returns the extension ID and issue list that the UI uses for matching.