Índice
A beta 3 do iOS 16 introduziu uma nova funcionalidade de privacidade: o Modo de Bloqueio. A ideia é desativar algumas funcionalidades no iOS para reduzir a possibilidade de ataques relacionados à privacidade.
A Apple fornece uma lista aproximada de funcionalidades desativadas no Modo de Bloqueio, incluindo uma que se destaca imediatamente:
Navegação na web: Certas tecnologias web complexas, como a compilação de JavaScript just-in-time (JIT), são desativadas a menos que o utilizador exclua um site de confiança do Modo de Bloqueio.
Desativar a compilação JIT no JavaScriptCore implica uma queda significativa no desempenho, dado o quão pesado em JavaScript é a web moderna. Este artigo mede quão grande é esse impacto realmente e cataloga o que mais é desativado.
Funcionalidades desativadas
Através de testes manuais e deteção de funcionalidades com Modernizr, as seguintes funcionalidades são desativadas no Modo de Bloqueio:
- WebAssembly
- Reprodução de MP3
- MathML
- API de Gamepad
- API de Áudio Web
- WebGL
- JPEG 2000
- API de Reconhecimento de Fala
- MediaDevices.getUserMedia()
- RTCDataChannel
- Visualizador de PDF
- Fontes SVG
A maioria destas são desativadas para reduzir vetores de rastreamento passivo do utilizador.
WebAssembly
WASM, embora incrivelmente poderoso, pode ser usado para rapidamente identificar clientes através de discrepâncias de renderização de canvas ou varredura de portas locais, e dificulta a deteção de rastreadores por bloqueadores de anúncios. Isso irá quebrar aplicações Blazor e outras estruturas dependentes de WASM que não têm uma alternativa em JavaScript.
Reprodução de MP3
O suporte a MP3 é uma exceção aqui. Como a maioria dos navegadores o suporta, desativá-lo poderia identificar o dispositivo como estando em Modo de Bloqueio. Uma justificativa: evitar exploits de decodificação de MP3 elaborados. Sites que dependem de MP3 sem alternativas AAC ou OGG irão falhar.
MathML
A renderização de MathML varia ligeiramente por dispositivo, o que pode permitir rastreamento através do objeto DOMRect de uma expressão MathML renderizada.
API de Gamepad
Sem mitigação de identificação, a API de Gamepad pode rastrear utilizadores através das propriedades id e buttons após interação do utilizador com a página. Jogos no navegador e plataformas de streaming de jogos que dependem de entrada de controladores irão falhar.
API de Áudio Web
A API de Áudio Web permite a identificação de utilizadores do Safari através da interface webkitOfflineAudioContext e variações de sinal entre implementações de hardware.
WebGL
A identificação por WebGL é uma das técnicas de rastreamento mais antigas, explorando discrepâncias de renderização entre dispositivos individuais, mesmo executando hardware idêntico. O WebGLRenderingContext também expõe capacidades de hardware e versões de WebGL suportadas.
JPEG 2000
O suporte a JPEG 2000 é hoje um identificador confiável do Safari - é o único navegador mainstream que o suporta.
API de Reconhecimento de Fala
Embora a API de Fala Web funcione no dispositivo no macOS e iOS, pode ser acedida por uma página web para gravar utilizadores sem indicação óbvia. Isto é separado da ditado do iOS e Siri, que permanecem totalmente funcionais.
MediaDevices.getUserMedia()
A interface MediaDeviceInfo expõe uma propriedade deviceId persistente para câmaras, microfones e altifalantes, permitindo rastreamento entre sessões numa única origem. Sites que requerem acesso a microfone ou câmara não irão funcionar.
RTCDataChannel
A API WebRTC pode vazar tanto endereços IP públicos quanto locais - mesmo atrás de uma VPN - ao comunicar com um servidor STUN.
Visualizador de PDF
O visualizador de PDF do WebKit está desativado. Clicar num link de PDF aciona um download em vez disso. Documentos ainda podem ser abertos através da aplicação Ficheiros após o download.
Fontes SVG
As fontes SVG estão desativadas, provavelmente pela mesma razão que o JPEG 2000: são uma funcionalidade exclusiva do Safari que pode ser usada como um sinal de identificação.
Nota: Estas alterações aplicam-se a todos os navegadores iOS e iPadOS, uma vez que todos são obrigados a usar o WebKit. Chrome, Firefox e Brave no iOS são igualmente afetados.
Impacto no desempenho
Desativar a compilação JIT no JavaScriptCore afeta o desempenho em praticamente todos os sites, com um provável efeito secundário na vida útil da bateria.
A dimensão do impacto depende do dispositivo, da versão do iOS e de quanto JavaScript a página contém. Os testes de navegador abaixo (browserbench.org, o Octane descontinuado da Google) são a forma habitual de constatá-lo você mesmo - execute cada um com o Modo de Bloqueio desativado e depois ativado, e compare.
Octane
Octane já não é mantido, mas continua a ser uma linha de base relativa útil para o desempenho de JavaScript dentro do mesmo navegador.
Como mede a execução de JavaScript em bruto, é no Octane que a perda do JIT se manifesta de forma mais acentuada - espere uma queda grande. O valor parece dramático, e é para cargas de trabalho puramente JS, mas o navegador como um todo não fica mais lento na mesma proporção, uma vez que o pipeline de renderização, layout e rede não são afetados.
JetStream 2.0
JetStream não pôde ser concluído: seu foco pesado em WebAssembly significa que simplesmente falha no Modo de Bloqueio.
Speedometer 2.0
Speedometer avalia o desempenho de frameworks JavaScript do mundo real simulando interações do utilizador em vários frameworks. Isso dá uma visão mais prática do impacto.
A queda aqui é real mas mais moderada do que a do Octane - mais próxima do que se sente ao navegar diariamente em sites construídos com frameworks. Para utilizadores que requerem a troca pela privacidade, é este o valor que muda a decisão de "completamente impraticável" para "um compromisso deliberado". É o teste que convém executar você mesmo antes de decidir.
MotionMark 1.2
Ao contrário da maioria dos testes de desempenho gráfico, o MotionMark depende principalmente de renderização HTML e SVG através de operações CSS e canvas em vez de WebGL.
Como se apoia na renderização e não na execução de JavaScript em bruto, o MotionMark é o menos afetado dos quatro - a lentidão aqui é pequena e largamente imperceptível no uso diário.
Conclusão
Para utilizadores em risco de ataques direcionados, o Modo de Bloqueio é uma primeira linha de defesa prática. É fácil de ativar e cobre um conjunto significativo de vetores de rastreamento e exploração baseados em navegador sem exigir conhecimentos técnicos.
Não bloqueará toda a identificação - o nosso verificação da realidade da prevenção de rastreamento do Safari detalha o que ainda escapa. A Apple especificamente direcionou APIs que são difíceis para utilizadores não técnicos controlarem por meios convencionais. A penalidade no Speedometer é o verdadeiro custo - aceitável para um indivíduo de alto risco, proibitivo para uso geral. Meça-a no seu próprio dispositivo antes de se comprometer.
Atualização 2026
Quatro anos depois - a nossa retrospectiva de quatro anos do Modo de Bloqueio cobre todo o período - o Modo de Bloqueio foi ainda mais reforçado no iOS 17 e iOS 18. A Apple adicionou proteções fora do navegador - restringindo certas funcionalidades do FaceTime, acessórios USB e opções de conectividade sem fio em cenários de ameaça extrema.
No Safari, a troca do JIT permanece inalterada: o JIT continua desativado no Modo de Bloqueio, e a diferença de desempenho é aproximadamente a mesma em hardware moderno - os nossos testes de desempenho do JIT do WebKit de 2026 fornecem os números atuais. A lista de APIs web bloqueadas cresceu ligeiramente; WebGL2 e algumas funcionalidades avançadas do WebRTC agora juntam-se à lista de bloqueio.
A funcionalidade já não é experimental. Está documentada, suportada e usada por jornalistas, ativistas e investigadores de segurança em todo o mundo. Se você executa o iOS 18 e trabalha num contexto sensível, o caso para ativar o Modo de Bloqueio - pelo menos num dispositivo secundário - é mais forte do que era em 2022.
Guias relacionados: Estender o tablet reMarkable com Toltec e SSH (2026).
