District Element Hider is a policy engine for school-managed Chrome and ChromeOS. It hides page elements that a Google Workspace administrator lists in the extension policy.
It ships with NO filters and NO blocklist. Until an administrator pastes Policy for extensions JSON, the extension does not hide anything. A student, parent, or other district who only installs the item will see normal websites.
How it works
• Force-install on a student organizational unit from Google Admin.
• Add hide rules in Policy for extensions using hostname##css-selector, hostname##selector:has-text(text), or the built-in hostname##+js(force-autoplay-off) scriptlet.
• The extension reads chrome.storage.managed and applies those rules on matching pages.
• Text matches and the autoplay scriptlet are implemented inside the packaged extension. Administrators cannot supply arbitrary JavaScript.
• There is no popup, no slider, and no student setting. Students cannot turn filtering off.
• Staff OUs with no policy are unaffected even if the extension is installed.
Intended use (examples only — none of these ship in the package)
• Hide a video site home feed while leaving direct watch links usable.
• Hide a share button or share dialog by its visible text on Workspace apps the administrator names.
• Force YouTube autoplay off and hide end-of-video next/replay controls.
What this extension does not do
• It is not an ad blocker and does not subscribe to EasyList or any public filter list.
• It does not collect, sell, share, or upload browsing data, names, or page contents.
• It does not run remotely hosted JavaScript. All code is inside the uploaded package.
• It does not accept or execute JavaScript pasted into Admin policy. The only scriptlet is force-autoplay-off, which is compiled into the extension.
• It does not change sites for unmanaged or personal Chrome profiles unless someone with developer access writes local test filters.
Other school districts
Other districts may force-install this item. They must create their own Admin JSON. They do not inherit another district’s rules. Support for third-party selectors is as-is; Google page structure can change and rules may need updates.
Example policy (administrator-supplied, not bundled):
{
"filters": {
"Value": [
"www.youtube.com##ytd-rich-grid-renderer[elements-per-row][style][is-default-grid] > div",
"docs.google.com##button:has-text(Share)",
"www.youtube.com##+js(force-autoplay-off)"
]
}
}