El experimento se llevó a cabo con cinco iPhone 17e con iOS 26.5.2. El comportamiento se repitió en todos los dispositivos. El tráfico de red se analizó en una red Wi-Fi controlada. Principal conclusión del estudio:
Desactivar la analítica del sistema no detiene la transmisión automática de metadatos a la infraestructura de Apple. Desactiva una categoría concreta de informes de diagnóstico, pero no detiene «Buscar mi iPhone», la cuenta de Apple, los servicios de localización, los componentes publicitarios, la App Store, MobileAsset ni los mecanismos de registro del sistema.
¿Qué transmite exactamente el iPhone?
En las solicitudes descifradas se han detectado:
- la dirección de la cuenta de Apple;
- el DSID y el DSID alternativo de la cuenta;
- el ADSID publicitario;
- el número de serie;
- el UDID del dispositivo;
- Tóquenes APNs y push;
- IDS (identificador del dispositivo);
- modelo del teléfono;
- versión y compilación de iOS;
- plataforma de hardware;
- capacidad de la memoria RAM;
- nombre del dispositivo;
- región de la cuenta;
- idioma y zona horaria;
- estado de la batería;
- estado de la carga;
- estado del bloqueo de pantalla;
- estado de «Buscar mi dispositivo»;
- estado de los servicios de geolocalización;
- BSSID de los puntos de acceso Wi-Fi cercanos;
- coordenadas para WeatherKit;
- versiones de los componentes del sistema instalados;
- información sobre los dispositivos Apple conectados.
No se trata de un único «informe analítico». Los datos se distribuyen entre varios servicios funcionales de Apple. Pero, desde un punto de vista técnico, se trata de telemetría automática: el teléfono transmite a servidores remotos información sobre sí mismo, su estado y su entorno.
Apple recibe notificaciones cuando se activa y se desactiva la geolocalización
El mecanismo más revelador está relacionado con «Buscar mi iPhone».
Cada vez que cambia el estado de los servicios de geolocalización, el iPhone envía una solicitud:
POST p117-fmf.icloud.com/fmipservice/fmf/<DSID>/<UDID>/register
Al desactivar la geolocalización, el cuerpo de la solicitud HTTP contenía lo siguiente:
{
"cause": "LocationServicesStateChanged",
"registeredCauses": [
"LocationServicesStateChanged"
],
"locationServicesEnabled": false,
...
}Al activarse posteriormente:
{
"cause": "LocationServicesStateChanged",
"registeredCauses": [
"LocationServicesStateChanged"
],
"locationServicesEnabled": true
}Ambas solicitudes fueron aceptadas por el servidor de Apple con la siguiente respuesta: HTTP 204 No Content
De este modo, Apple no solo obtiene el estado actual de la geolocalización. El servidor recibe un evento independiente que le indica que el usuario ha modificado la configuración correspondiente.
El propio indicador true o false no es más que una pequeña parte de la solicitud. Junto con él se transmiten:
- el DSID de la cuenta de Apple;
- el UDID del teléfono;
- el número de serie;
- el modelo del dispositivo;
- la versión y el build de iOS;
- nombre del teléfono;
- token APN;
- lista de tokens push;
- ID del dispositivo (IDS);
- nivel de batería;
- estado de la carga;
- estado de bloqueo;
- ubicación;
- zona horaria;
- encabezados de certificación de Apple.
Se trata de un evento totalmente identificado. Está vinculado simultáneamente a una cuenta, a un dispositivo concreto y a su estado actual.
¿Qué ocurre tras activar la geolocalización?
Con la geolocalización desactivada, se interrumpieron las solicitudes con envío de BSSID. Durante dos horas y media no se produjo ninguna consulta al servicio principal de posicionamiento por Wi-Fi.
Inmediatamente después de activar la geolocalización, el iPhone comenzó a comunicarse con: http://gs-loc.apple.com/clls/wloc
Proceso del sistema locationd que enviaba a Apple listas de puntos de acceso cercanos.
En una de las solicitudes se transmitieron 19 BSSID. En respuesta, Apple devolvió 119 registros Wi-Fi correspondientes a la zona circundante.
El mecanismo funciona de la siguiente manera:
- El iPhone escanea los puntos de acceso Wi-Fi disponibles.
- El teléfono envía a Apple sus BSSID, es decir, las direcciones MAC de los puntos de acceso.
- El servidor devuelve información geográfica sobre los puntos encontrados y los puntos cercanos.
- El teléfono calcula su ubicación de forma local.
Formalmente, el dispositivo no envía un mensaje del tipo «me encuentro en esta dirección». Sin embargo, la lista de varios BSSID cercanos, junto con la hora de la solicitud, permite al servidor determinar la zona en la que se encuentra el teléfono con gran precisión.
Por otra parte, el proceso geod se dirige a: http://gspXX-ssl.ls.apple.com/wifi_request
En esta solicitud se transmite un único BSSID —probablemente, el identificador del punto de conexión actual o del punto principal utilizado para el posicionamiento—.
Los servicios de geolocalización siguen funcionando con la geolocalización desactivada
La desactivación de los servicios de geolocalización detenía la descarga de las listas de BSSID cercanos, pero no detenía la propia pila geográfica de iOS.
Los procesos geod y locationd seguían accediendo a:
gspXX-ssl-background.ls.apple.com/dispatcher.arpc
gsp-ssl.ls.apple.com/ab.arpc
configuration.ls.apple.com/config/defaults
gspeX-ssl.ls.apple.com/pep/gcc
gspeXX-ssl.ls.apple.com/ligl/v1/ligl.bin
gspeXX-ssl.ls.apple.com/geo_manifest/dynamic/configEn las solicitudes se incluían:
- modelo de iPhone;
- versión de iOS;
- número de compilación;
- identificador del proceso del sistema;
- idioma;
- región;
- tipo de solicitud de Apple Maps;
- parámetros de servicio de configuración geográfica.
En las respuestas dispatcher.arpc aparecían datos regionales y bloques de geocodificación inversa.
Ante consultas idénticas, distintos nodos del servidor devolvían información correspondiente a Japón o a la región de la cuenta de Apple. Esto demuestra que el subsistema geográfico sigue recibiendo la configuración del servidor incluso cuando el usuario tiene desactivado el acceso a la geolocalización.
WeatherKit transmite las coordenadas en la URL
El componente meteorológico de iOS se conectaba a:
weatherkit.apple.com/api/v2/weather/<lang>/<lat>/<lon>Las coordenadas figuraban directamente en la ruta de la URL con una precisión de tres decimales, es decir, aproximadamente hasta cien metros.
Además, se transmitían:
- la zona horaria;
- el país;
- los idiomas del dispositivo;
- la versión de iOS;
- número de compilación;
- lista de conjuntos de datos meteorológicos;
- rango temporal;
- UUID de la solicitud;
- JWT de tipo «Bearer».
El JWT se utilizó para la autorización de WeatherKit y no contenía DSID, UDID ni número de serie. Sin embargo, la propia solicitud HTTPS sí contenía las coordenadas y la dirección IP del origen.
En una de las capturas, el servidor de Apple procesó con éxito dicha solicitud y devolvió HTTP 200.
Por lo tanto, la transmisión de coordenadas a WeatherKit no es solo una solicitud generada localmente, sino también un intercambio confirmado por el servidor.
«Buscar mi» transmite el estado del teléfono
«Buscar mi iPhone» no solo se utiliza al activar o desactivar la geolocalización.
Tras reiniciarse, el iPhone envía el mismo tipo de registro con el motivo: cause = DeviceRestart
En el dispositivo se encuentran:
- el número de serie;
- UDID;
- nombre del dispositivo;
- modelo;
- versión de iOS;
- tokens push;
- IDS (identificador del dispositivo);
- nivel de batería;
- estado de carga;
- si el cargador está conectado;
- si la pantalla está bloqueada;
- si la geolocalización está activada;
- si la función «Buscar mi» está activa.
El servidor obtiene la hora exacta de reinicio y el estado actual del dispositivo.
En este caso, «Buscar mi» actúa como un canal completo de telemetría operativa, vinculado a una cuenta de Apple y a un dispositivo físico concreto.
Registro en la cuenta de Apple
Tras el reinicio, el proceso del sistema com.apple.NewDeviceOutreach envía una solicitud:POST sse-ws-p189.apple.com/device/api/v1/checkIn
En ella se incluyen:
- el correo electrónico de la cuenta de Apple;
- el DSID principal;
- el DSID alternativo;
- el número de serie;
- modelo del dispositivo;
- nombre del teléfono;
- color de la carcasa;
- región;
- tienda;
- idioma;
- zona horaria;
- código de garantía;
- lista de dispositivos Apple locales;
- información sobre los Apple Watch vinculados;
- identificadores de servicio de Apple Media Services;
- certificación de hardware.
El servidor devuelve el resultado SUCCESS y la hora del próximo registro.
Esta es una de las solicitudes que contiene más datos personales. Combina la cuenta, el dispositivo físico, los datos de garantía e información sobre los dispositivos vinculados.
La infraestructura publicitaria sigue funcionando con la personalización desactivada
Aunque la publicidad personalizada estuviera desactivada, los procesos del sistema seguían funcionando:
com.apple.ap.promotedcontentd
com.apple.ap.adprivacydAccedían a:
sas.pcms.apple.com
iadsdk.apple.com
ca.iadsdk.apple.com
partiality.itunes.apple.comEn las solicitudes de segmentación publicitaria se transmitían:
- DSID;
- ADSID;
- storefront;
- localización;
- zona horaria;
- certificado del dispositivo;
- cookies del servidor;
- indicadores de servicio del perfil publicitario.
El punto final de atribución recibía:
- identificador de la aplicación en la App Store;
- ID del paquete;
- clave de atribución;
- el modelo de iPhone;
- la versión de iOS;
- compilación;
- tienda;
- marca de tiempo;
- firma de Apple.
En el cuerpo se encontraba el valor: attribution = false
Esto significa que no se estableció una atribución publicitaria positiva. Sin embargo, el mecanismo de atribución y segmentación publicitaria siguió funcionando.
Desactivar la publicidad personalizada no desactiva la pila publicitaria. Modifica las normas de uso de los datos, pero no detiene el intercambio en red.
La App Store descarga la configuración de métricas a través de bag.itunes.apple.com/bag.xml
el iPhone recibe la configuración de la App Store y de los servicios multimedia.
En las solicitudes, el teléfono transmite:
- el modelo;
- clase del dispositivo;
- versión y compilación de iOS;
- tienda;
- idioma;
- zona horaria;
- identificador del proceso del sistema.
Las respuestas contienen las direcciones:
xp.apple.com/report
daf.xp.apple.com/reportAdemás, el servidor transmite:
- temas de métricas de uso;
- temas de métricas de rendimiento;
- intervalos de envío;
- parámetros de muestreo;
- ID de cliente rotativos;
- reglas de limitación de eventos y campos.
Se registraron conexiones con xp.apple.com se registraron, pero su contenido permaneció cifrado. Por lo tanto, es imposible determinar con exactitud la composición de los eventos enviados a dicho servidor a partir de los datos disponibles.
Solo se puede afirmar lo siguiente: el canal de métricas estaba configurado y el iPhone establecía conexiones con el servidor de recepción de informes.
Siri y Apple Intelligence siguen recibiendo manifiestos del sistema
Incluso con Siri y Apple Intelligence desactivados, el teléfono seguía conectándose a: gdmf-ados.apple.com/v2/assets
Se solicitaban los siguientes paquetes del sistema:
com.apple.MobileAsset.UAF.Siri.UnderstandingNLOverrides
com.apple.MobileAsset.UAF.Siri.UnderstandingASRHammer
com.apple.MobileAsset.UAF.IF.PlannerOverridesEn las solicitudes se transmitían:
- el modelo del teléfono;
- la plataforma de hardware;
- la capacidad de la memoria RAM;
- la versión y el número de compilación de iOS;
- ID de compilación;
- ID de la imagen del sistema;
- estado de la actualización;
- estado de la reversión;
- versiones de los componentes instalados;
- ID de sesión;
- Nonce;
- Público del activo.
Las respuestas contenían manifiestos firmados:
- URL del archivo del sistema;
- versión del componente;
- compilación;
- ID del archivo;
- clave de descifrado del archivo;
- resumen;
- tamaño;
- rango de versiones compatibles de iOS;
- reglas de almacenamiento en caché.
Aquí no se transmiten llamadas de voz, mensajes de texto, comandos de Siri ni solicitudes de los usuarios. Se trata de una comprobación de actualizaciones de los modelos del sistema.
Sin embargo, la desactivación de estas funciones no excluye al dispositivo del mantenimiento de los componentes correspondientes: el iPhone sigue comprobando periódicamente sus versiones y enviando a Apple la configuración detallada del hardware y el software.
El reinicio y el modo avión activan una cascada de conexiones
El reinicio es uno de los eventos que generan más actividad.
Inmediatamente después de encenderse, el iPhone:
- se registra en «Buscar mi iPhone» con el motivo
DeviceRestart; - realiza el registro en la cuenta de Apple;
- comprueba la disponibilidad de la red;
- determina la IP externa;
- descarga las listas de la App Store;
- restablece la conexión con iCloud;
- comprueba MobileAsset;
- actualiza las configuraciones geográficas.
Durante el primer minuto tras el reinicio se registraron decenas de accesos a:
gateway.icloud.com
bag.itunes.apple.com
setup.icloud.com
gsa.apple.com
itunes.apple.com
fpinit.itunes.apple.comSe observó un comportamiento similar al activar y desactivar el modo avión.
Tras recuperar la red, el iPhone establecía conexiones con: gateway.icloud.com
e iniciaba una reinicialización de los servicios del sistema de Apple.
El contenido del intercambio con gateway.icloud.com no se pudo descifrar, pero el mero hecho del evento de red y su relación con la activación y desactivación del modo avión se reprodujeron en un experimento controlado.
Los servicios protegidos desaparecen al navegar por HTTPS
Algunos servicios de Apple dejaban de funcionar de forma sistemática mientras se navegaba por tráfico HTTPS.
El experimento se repitió:
- en cinco iPhone 17e;
- durante dos días;
- tras 5-10 reinicios de cada dispositivo.
Mientras se descifraba el tráfico HTTPS, los servicios correspondientes no establecían conexiones operativas.
Inmediatamente después de desactivar el descifrado, reanudaban su funcionamiento y pasaban a aparecer como conexiones opacas CONNECT.
Este comportamiento se repetía y no se trataba de un fallo de red fortuito.
Por lo tanto, el panorama completo se componía de dos tipos de captura:
- con descifrado —para analizar las URL, los encabezados y los cuerpos;
- sin descifrado: para registrar los servicios protegidos que se negaban a funcionar bajo supervisión.
Una CONNECT no equivale a una sola solicitud HTTP. Dentro de un mismo túnel pueden tener lugar múltiples operaciones. Por lo tanto, el número CONNECT no se puede comparar directamente con el número de GET y POST descifrados.
El teléfono sigue conectándose a Apple en modo inactivo
En una sesión prolongada en segundo plano, el iPhone permaneció inactivo sin intervención del usuario.
A pesar de que la analítica, la geolocalización, Siri y la sincronización estaban desactivadas, el dispositivo seguía conectándose a la infraestructura de Apple cada pocos minutos.
Entre las conexiones más habituales se encuentran:
gspXX-ssl-background.ls.apple.com— aproximadamente cada 30 minutos;configuration.ls.apple.com— aproximadamente cada 50 minutos;iphone-ld.apple.com— aproximadamente cada 51 minutos;gateway.icloud.com— en rachas;weatherkit.apple.com— aproximadamente cada varias horas;caldav.icloud.com— aproximadamente una vez cada hora.
En 8,8 horas no hubo ningún intervalo de «sueño» completo de más de 21 minutos.
Conclusión
El estudio no ha detectado informes de fallos evidentes, trazas de pila ni archivos de diagnóstico completos. Es probable que el interruptor «Analítica del iPhone» desactive efectivamente este tipo de informes.
Pero no desactiva la telemetría de iOS como sistema.
Aunque la configuración de usuario esté desactivada, el iPhone 17e sigue enviando a Apple:
- identificadores de cuenta;
- el correo electrónico de la cuenta de Apple;
- el DSID y el ADSID;
- el número de serie;
- UDID;
- tokens push;
- IDS (identificador del dispositivo);
- estado de la batería;
- estado de bloqueo;
- si se ha reiniciado;
- si se ha cambiado la geolocalización;
- si se ha modificado el estado de la red;
- BSSID de los puntos de acceso Wi-Fi cercanos;
- coordenadas para el servicio meteorológico;
- información sobre los dispositivos conectados;
- huella detallada de hardware y software;
- datos de segmentación y atribución publicitaria.
Conclusión clave:
En iOS no existe un interruptor de usuario único que desactive la transmisión automática de metadatos a Apple. Desactivar la analítica desactiva un mecanismo analítico concreto, pero los servicios funcionales siguen comunicando al servidor de qué dispositivo se trata, a qué cuenta está vinculado, en qué estado se encuentra y qué ocurre con su configuración del sistema.
Todos los datos descritos se transmiten a través de conexiones HTTPS cifradas. Ni el proveedor de Internet ni el propietario de una red Wi-Fi convencional pueden verlos. Los recibe directamente Apple. No podemos afirmar qué se podría haber transmitido a gateway.icloud.com y a otros servicios que utilizan SSL Pinning.