How do I block adult content on school devices permanently?
Use Skie so the blocking is set by the device owner and cannot be edited by the student. A locked filtering DNS, forced SafeSearch, the safe-sites filter, locked Chrome rules, blocked alternative browsers, VPN and proxy apps, and blocked unknown sources work together, and violations are reported.
Permanent blocking needs two things: filters that cover several routes, and settings the student cannot change. A single setting on its own gets bypassed, because a determined student only needs one gap.
On a Skie device the layers are these. The filtering DNS is set by the device owner and the Private DNS setting is blocked. Chrome has SafeSearch forced, the safe-sites filter on, incognito blocked, the search engine locked, and secure DNS off so the system filter is used. More than 50 alternative browsers, plus VPN, proxy and DNS changer apps, are always blocked. Unknown sources, developer options and adb are off, so a file cannot be sideloaded.
Each setting is enforced by Android itself, because Skie is the device owner. Protections are re-applied if something reverts them, the device reads them back from Android after every apply, and a score and alert tell the admin if anything is out of place. Skie is built to be tamper-proof, and if anything ever did get through the admin is alerted immediately, down to the exact device.
To set it up: put the devices in one group, apply a policy with the Chrome rules, pick a filter, and test on a pilot device in school and out of school. Phones and tablets get the same treatment.
A note on honesty: no filter is flawless, because new sites appear daily. Report any miss and it gets fixed centrally for every device.