Tabla de contenidos
La tercera beta de iOS 16 introdujo una nueva función de privacidad: el modo de aislamiento. El objetivo es deshabilitar ciertas funcionalidades de iOS para reducir la superficie de ataque relacionada con la privacidad.
Apple proporciona una lista general de las funciones deshabilitadas, entre las que destaca una en particular:
Navegación web: ciertas tecnologías web complejas, como la compilación de JavaScript justo-a-tiempo (JIT), se deshabilitan a menos que el usuario excluya un sitio de confianza del modo de aislamiento.
Deshabilitar la compilación JIT en JavaScriptCore implica una caída significativa del rendimiento, dada la cantidad de JavaScript presente en las páginas web modernas. Este artículo mide el impacto real y cataloga qué más queda deshabilitado.
Funcionalidades desactivadas
Mediante pruebas manuales y detección con Modernizr, las siguientes funcionalidades se deshabilitan en el modo de aislamiento:
- WebAssembly
- Reproducción de MP3
- MathML
- API Gamepad
- Web Audio API
- WebGL
- JPEG 2000
- API de reconocimiento de voz
- MediaDevices.getUserMedia()
- RTCDataChannel
- Visor de PDF
- Fuentes SVG
La mayoría se deshabilitan para reducir los vectores de rastreo pasivo de usuarios.
WebAssembly
WASM es extremadamente potente, pero puede usarse para identificar dispositivos rápidamente mediante discrepancias en el renderizado de canvas o escaneo de puertos locales, y dificulta su detección por parte de bloqueadores de anuncios. Esto romperá aplicaciones Blazor y otros frameworks dependientes de WebAssembly sin fallback a JavaScript.
Reproducción de MP3
La compatibilidad con MP3 es un caso particular. Como la mayoría de navegadores lo soportan, deshabilitarlo podría identificar un dispositivo en modo de aislamiento. Una posible justificación: evitar ataques mediante decodificación MP3 maliciosa. Los sitios que usen MP3 sin fallback a AAC u OGG dejarán de funcionar.
MathML
El renderizado de MathML varía ligeramente entre dispositivos, lo que permite el rastreo a través del objeto DOMRect de una expresión MathML renderizada.
API Gamepad
Sin mitigación del fingerprinting, la API Gamepad puede rastrear usuarios a través de las propiedades id y buttons tras la interacción con la página. Los juegos en el navegador y las plataformas de streaming que usen mando se verán afectados.
Web Audio API
La Web Audio API permite crear una huella digital de usuarios Safari a través de la interfaz webkitOfflineAudioContext y las variaciones de señal entre implementaciones de hardware.
WebGL
El fingerprinting WebGL es una de las técnicas de rastreo más antiguas: explota las discrepancias de renderizado entre dispositivos individuales, incluso con hardware idéntico. El WebGLRenderingContext también expone capacidades de hardware y versiones WebGL soportadas.
JPEG 2000
La compatibilidad con JPEG 2000 es hoy un identificador fiable de Safari: es el único navegador de uso general que lo soporta.
API de reconocimiento de voz
Aunque la Web Speech API funciona localmente en macOS e iOS, una página web puede acceder a ella para grabar usuarios sin indicación evidente. Esto es distinto del dictado de iOS y Siri, que siguen funcionando con normalidad.
MediaDevices.getUserMedia()
La interfaz MediaDeviceInfo expone una propiedad deviceId persistente para cámaras, micrófonos y altavoces, permitiendo el rastreo entre sesiones en un mismo origen. Los sitios que requieran acceso al micrófono o cámara no funcionarán.
RTCDataChannel
La API WebRTC puede filtrar las direcciones IP pública y local de un dispositivo, incluso detrás de una VPN, al comunicarse con un servidor STUN.
Visor de PDF
El visor de PDF de WebKit queda deshabilitado. Hacer clic en un enlace PDF activa una descarga. Los documentos pueden abrirse después desde la app Archivos.
Fuentes SVG
Las fuentes SVG se deshabilitan, probablemente por la misma razón que el JPEG 2000: son exclusivas de Safari y constituyen una señal de fingerprinting.
Nota: Estos cambios se aplican a todos los navegadores de iOS e iPadOS, ya que todos deben usar WebKit internamente. Chrome, Firefox y Brave en iOS se ven afectados de manera idéntica.
Impacto en el rendimiento
Deshabilitar la compilación JIT en JavaScriptCore afecta al rendimiento en prácticamente todos los sitios web, con un probable efecto secundario sobre el consumo de batería.
Los resultados a continuación son promedios de 10 ejecuciones, registrados en un iPhone 13 mini con iOS 16 developer beta 3.
Octane
Octane ya no recibe mantenimiento, pero sigue siendo una referencia relativa útil para medir el rendimiento JavaScript dentro del mismo navegador.
Resultado: caída de aproximadamente el 95%. Espectacular para cargas de trabajo JS puras, pero el navegador en su conjunto no es un 95% más lento, ya que el pipeline de renderizado, el layout y la red no se ven afectados.
JetStream 2.0
JetStream no pudo completarse: su fuerte énfasis en WebAssembly hace que simplemente se bloquee en modo de aislamiento.
Speedometer 2.0
Speedometer mide el rendimiento de frameworks JavaScript en condiciones reales simulando interacciones de usuario en múltiples frameworks. Ofrece una visión más práctica del impacto.
Resultado: caída de aproximadamente el 65%. Significativa, pero menos extrema que el resultado de Octane. Para usuarios que necesitan este compromiso de privacidad, esto desplaza la decisión de "completamente inusable" a "un compromiso deliberado".
MotionMark 1.2
A diferencia de la mayoría de benchmarks gráficos, MotionMark se basa principalmente en el renderizado HTML y SVG mediante CSS y operaciones canvas, en lugar de WebGL.
Resultado: caída de aproximadamente el 20% — imperceptible en el uso cotidiano.
Conclusión
Para usuarios expuestos a ataques dirigidos, el modo de aislamiento es una primera línea de defensa práctica. Es fácil de activar y cubre un conjunto significativo de vectores de rastreo y explotación en el navegador sin requerir conocimientos técnicos.
No bloqueará todo el fingerprinting. Apple apuntó específicamente a las APIs que son difíciles de controlar por medios convencionales para usuarios no técnicos. La penalización del 65% en Speedometer es el coste real — aceptable para una persona de alto riesgo, prohibitivo para uso general.
Actualización 2026
Cuatro años después, el modo de aislamiento se ha reforzado en iOS 17 e iOS 18. Apple ha añadido protecciones fuera del navegador — restringiendo ciertas funciones de FaceTime, accesorios USB y opciones de conectividad inalámbrica en escenarios de amenaza extrema.
En Safari, el compromiso JIT no ha cambiado: la compilación JIT sigue deshabilitada en modo de aislamiento, y la brecha de rendimiento es aproximadamente la misma en hardware moderno. La lista de APIs web bloqueadas ha crecido ligeramente; WebGL2 y algunas funciones avanzadas de WebRTC se han añadido a la lista.
La función ya no es experimental. Está documentada, soportada y utilizada por periodistas, activistas e investigadores de seguridad en todo el mundo. Si usas iOS 18 en un contexto sensible, el argumento para activar el modo de aislamiento — al menos en un dispositivo secundario — es más sólido que en 2022.