Como bloquear navegadores dentro de outros aplicativos: você não caça um por um, você filtra por baixo de todos eles. A maioria dos apps de um celular embute um navegador escondido, uma webview, que abre links por dentro, e os filtros no nível do Safari nunca o veem. A ordem que funciona é filtragem de DNS no nível do sistema por baixo de todo app, restrições que forçam os links para o navegador filtrado onde dá, e uma camada de tela no dispositivo que julga o que de fato é renderizado, em qualquer app. A TKO’T roda esse conjunto no Mac e no iPhone, de graça. Tudo aqui é defesa: nomear a porta só o suficiente para fechá-la.
Uma webview é um navegador inteiro disfarçado
Os apps embutem o motor de navegador do sistema, no iOS é o componente WKWebView, para mostrar conteúdo da web sem te mandar para fora. Ele renderiza as mesmas páginas que o navegador de verdade renderizaria, só pula a moldura: sem barra de endereço, sem ajustes, sem filtro de conteúdo próprio. Apps de conversa, clientes de e-mail, apps sociais, apps de compra, ferramentas de anotação e documento, leitores de QR code, até as telas de ajuda dentro de jogos carregam um. Cada um é uma porta que abre a web inteira, e um setup só de Safari não guarda nenhuma delas.
Por que um setup só de Safari não cobre nada disso vale a pena deixar explícito: o filtro do Safari mora no Safari, e a webview de um app de conversa ou de notas não é o Safari, é um motor de navegador separado que aquele app controla. É como trancar a porta da frente e deixar uma dúzia de portas dos fundos, uma em cada cômodo, escancaradas. O conteúdo que entra por uma webview nunca toca o app que você endureceu, então qualquer defesa amarrada a um navegador específico passa longe. É por isso que a resposta inteira se move para baixo do navegador e para cima dele, e não para dentro de um navegador só.
A versão do app de calculadora merece a própria frase: as lojas hospedam de vez em quando apps utilitários que são secretamente navegadores, uma calculadora com uma aba de web escondida atrás de um gesto. O contra é estrutural, trave a instalação de apps para que navegadores-surpresa não cheguem em silêncio, porque você não consegue listar o que não sabe que existe. É exatamente a lição do mapa completo das portas laterais: cace portas e você perde; guarde as camadas e você não.
Cubra todas de uma vez, por baixo
DNS embaixo de tudo. A filtragem de DNS no nível do sistema fica por baixo de todo app, então o pedido de página de uma webview bate na mesma parede que o do navegador. Essa é a defesa de massa: milhares de domínios conhecidos mortos na chegada, não importa qual app pediu. As restrições de conteúdo da Apple somam o filtro de conteúdo da web que as webviews do framework da Apple respeitam, o que fecha a metade casual do problema no iPhone.
Force os links para a luz onde der. Alguns apps oferecem um ajuste de abrir links no navegador; ligá-lo roteia o tráfego pelo navegador que você de fato endureceu. Vale fazer, nunca basta, porque a opção é um presente do desenvolvedor do app, não uma regra que você impõe.
Julgue a tela, porque toda webview termina lá. A resposta estrutural é a camada que não liga para qual superfície renderizou o conteúdo: a detecção na tela no dispositivo lê o que de fato é exibido e fecha a janela em menos de 80 milissegundos, seja a página carregada num navegador, na webview de um app de conversa, na prévia de um app de notas, ou em algo mais estranho. Domínios novos, cópias passadas por proxy ou tradutor, players embutidos: na hora da renderização todos eles parecem iguais, que é o ponto.
As bordas estranhas, com honestidade
Leitor de QR code. Os celulares modernos leem o QR pela própria câmera e entregam o link ao sistema, o que quer dizer que a sua filtragem no nível do sistema já se aplica. Os apps de leitor dedicados com navegador interno são a exceção; o ajuste de abrir no navegador, ou simplesmente apagar o app redundante, fecha isso. Para o navegador embutido de um leitor de QR específico, o conserto é o mesmo: force o link para fora, para o navegador filtrado, ou tire o app que insiste em abrir por dentro.
App de e-mail e apps de notas e PDF. O navegador escondido dentro do app de e-mail abre os links das mensagens por dentro, e os apps de anotação e PDF abrem links e prévias na própria webview. Onde o app oferecer o ajuste de abrir links no navegador externo, ligue, e por baixo o DNS e a camada de tela cobrem o resto, porque a prévia de um PDF que renderiza conteúdo explícito é fechada na tela como qualquer outra página. Você não precisa achar o navegador de cada app; precisa filtrar por baixo deles e vigiar a tela acima deles.
Relógios inteligentes e jogos em nuvem. Um relógio pareado a um celular travado herda a maioria das restrições do celular, e os navegadores de relógio são fracos demais para muito; cubra o celular direito e desative o navegador autônomo do relógio se houver um. Um desktop transmitido por jogo em nuvem é um navegador no computador de outra pessoa, exibido no seu: bloqueie as categorias de desktop remoto e jogo em nuvem na máquina protegida, e a camada de tela ainda vigia o que a transmissão renderiza.
O padrão de toda borda é o mesmo: você nunca vai enumerar todos os navegadores escondidos nos seus apps, e não precisa. Filtre por baixo deles, vigie a tela acima deles, e torne o conjunto inteiro difícil de desligar para a cobertura ainda estar lá na noite que importa.
Onde a webview se esconde, por tipo de app
A webview não fica num lugar só, e saber onde ela mora em cada tipo de app ajuda a ligar o ajuste certo, mas a defesa de baixo cobre todos do mesmo jeito:
| Tipo de app | Onde o navegador se esconde | O ajuste a ligar |
|---|---|---|
| Conversa e e-mail | Links de mensagens abertos por dentro | Abrir links no navegador externo |
| Notas e PDF | Prévias e links na própria webview | Abrir links no navegador externo |
| Leitor de QR code | O link aberto no app, não no sistema | Abrir no navegador, ou apagar o app |
| Compras e jogos | Telas de promoção e de ajuda | Sem ajuste; conte com DNS e tela |
A leitura prática: onde existe o ajuste de abrir links fora, ligue, e onde não existe, o DNS no nível do sistema e a camada de tela cobrem assim mesmo. A coluna da direita é um bônus, não a defesa; a defesa de verdade é filtrar abaixo e vigiar acima, que vale com ou sem o ajuste do app.
Por onde começar, em ordem
Três camadas mais ajustes de app por toda parte parecem muito, então feche na ordem de maior alcance e desça, porque cada passo cobre o que o anterior deixou. Primeiro, ligue a filtragem de DNS no nível do sistema: ela fica por baixo de todo app de uma vez e mata a massa de domínios conhecidos, seja qual for a webview que pediu, então é o passo que mais cobre por menos esforço. Segundo, ligue o filtro de conteúdo da web das restrições, que as webviews do framework da Apple respeitam, fechando a metade casual no iPhone. Terceiro, adicione a camada de tela como a rede que não liga para a superfície: ela fecha o que renderiza em qualquer app, inclusive os que nenhum ajuste alcança. Só depois disso vale passar pelos ajustes de abrir links no navegador externo, app por app, como reforço, e travar a instalação de apps para que navegadores-surpresa não cheguem. Você não precisa fazer os quatro num dia; o DNS mais a camada de tela já cobrem a esmagadora maioria das webviews antes de você tocar em qualquer ajuste de app. A ordem importa porque as duas primeiras camadas valem em todo app sem configuração, e os ajustes por app são bônus, não fundação.
O limite honesto
Nenhuma camada é hermética, e um bloqueador é suporte, não terapia. Uma pessoa determinada, com um aparelho que você nunca configurou, ainda encontra uma webview fora do alcance; o que essa ordem fecha é a deriva casual para o navegador escondido que a maioria das recaídas de fato usa. Combine as camadas técnicas com uma pessoa para conversar a parte que a parede não resolve, e se o uso está prejudicando seriamente a sua vida, traga ajuda profissional ao lado das camadas. O alívio prático é que você nunca mais precisa caçar a próxima webview escondida: com o DNS por baixo e a camada de tela por cima, um app novo com um navegador novo já nasce coberto, e a sua atenção volta para viver, não para auditar cada app à procura de uma porta escondida que você nunca terminaria de encontrar.
Perguntas frequentes (FAQ)
Como bloqueio navegadores dentro de outros aplicativos? Por baixo de todos eles, não um por um: filtragem de DNS no nível do sistema que fica abaixo de todo app, o ajuste de abrir links no navegador externo onde o app oferecer, e uma camada de tela que julga o que de fato é renderizado em qualquer app. A TKO’T roda esse conjunto no Mac e no iPhone, de graça, e fecha a janela em menos de 80 milissegundos, seja a página numa webview de conversa, de e-mail ou de notas. Você não enumera as webviews, você filtra abaixo e vigia acima.
Como bloqueio o navegador embutido do leitor de QR code? Os celulares modernos leem o QR pela câmera e entregam o link ao sistema, então a sua filtragem no nível do sistema já se aplica; o problema é o app de leitor dedicado com navegador interno. Ligue o ajuste de abrir links no navegador externo, ou apague o app redundante, e por baixo o DNS e a camada de tela cobrem o que abrir por dentro. Travar a instalação de apps impede que outro leitor com navegador chegue depois.
Como desativo o navegador escondido dentro do aplicativo de e-mail? Onde o app de e-mail oferecer o ajuste de abrir links no navegador externo, ligue, para os links das mensagens saírem para o navegador que você endureceu. Como nem todo app oferece isso, o que de fato cobre é o DNS no nível do sistema por baixo do app e a camada de tela por cima, que fecha o conteúdo explícito quando ele renderiza na webview, independentemente do app. Filtre abaixo, vigie acima.
Como bloqueio o navegador oculto dentro de apps de anotações e PDF? Esses apps abrem links e prévias na própria webview, então ligue o ajuste de abrir links no navegador externo onde existir, e deixe o DNS no nível do sistema e a camada de tela cobrirem o resto. A prévia de um PDF que renderiza conteúdo explícito é fechada na tela como qualquer outra página, em menos de 80 milissegundos, sem você ter que achar o navegador escondido de cada app.
Vale a pena tentar listar todos os apps com navegador escondido? Não, e é a armadilha: você nunca vai enumerar todas as webviews dos seus apps, e tentar é como se perde. Guarde as camadas em vez das portas, filtragem de DNS por baixo, camada de tela por cima, e trave a instalação de apps para que navegadores-surpresa não cheguem. Torne o conjunto difícil de desligar com a resistência a violação, e a cobertura continua lá na noite que importa, mesmo nos apps que você nunca pensou em conferir.