Yo sugeriría usar un llamado proxy de intercepción SSL.
Para que el usuario instale el certificado de CA Root, es posible utilizar un portal cautivo, para obligar al usuario final a instalar CA Root para obtener acceso a Internet.
Esto es cómo hacerlo:
Primero, tienes una página de portal. Esta página del portal debe utilizar un certificado VÁLIDO. Esta página del portal, llamémosla captive.yourdomain.tld, tiene un certificado válido emitido por una CA válida que ya está en confianza.
En esta página del portal, tiene instrucciones sobre cómo descargar el certificado CA de .cer y cómo importarlo en el navegador.
Ahora, desde captive.yourdomain.tld, establece HSTS con subDomains activado.
Entonces, tienes un iframe 1x1, que se carga desde, digamos validate.captive.yourdomain.tld. Este validate.captive.yourdomain.tld utiliza un certificado de servidor firmado por su certificado de CA Proxy Interception.
Esta página de validate.captive.yourdomain.tld también tiene un formulario que envía automáticamente (utilizando un javascript) credenciales válidas para acceder a la red WLAN. La mejor opción aquí es usar códigos TOTP o algo así, para evitar que las personas lo eviten.
Si lo desea, puede tener una página de términos de servicio, pero el botón "Acepto" está dentro de dicho formulario TOTP detrás de Iframe (en lugar de un envío automático de javascript, entonces el iframe debe ser un poco más grande). Si el usuario no ha instalado la CA raíz, el botón "Acepto" no se cargará y el usuario no puede aceptar los términos.
El resultado es un portal cautivo, que REQUIERE la instalación de un certificado raíz de CA en el navegador para obtener acceso a Internet. Dado que la página está protegida con un certificado real, el usuario no podrá acceder (si HSTS no tiene página de bloqueo de recurso) si validate.captive.yourdomain.tld no puede validar, lo que haría si no hubiera importado la raíz de CA.
El usuario no necesita autenticarse en el portal cautivo, esto sucede automáticamente siempre que haya importado la raíz de CA.
Aquí hay un video de cómo se ve:
enlace
(Pero se puede implementar en cualquier dispositivo de portal cautivo que permita cargar una página de autenticación personalizada)
Luego, cuando haya hecho esto, puede usar cualquier proxy intermedio con este proxy de intercepción SSL para filtrar el contenido por palabras clave, URL o lo que considere oportuno.