Эксперимент проводился на пяти iPhone 17e под управлением iOS 26.5.2. Поведение повторялось на всех устройствах. Сетевой трафик анализировался в подконтрольной Wi-Fi-сети. Главный результат исследования:

Отключение системной аналитики не прекращает автоматическую передачу метаданных в инфраструктуру Apple. Оно отключает отдельный класс диагностических отчётов, но не останавливает Find My, Apple Account, геосервисы, рекламные компоненты, App Store, MobileAsset и системные check-in-механизмы.

Что именно передаёт iPhone

В расшифрованных запросах обнаружены:

  • адрес Apple Account;
  • DSID и альтернативный DSID аккаунта;
  • рекламный ADSID;
  • серийный номер;
  • UDID устройства;
  • APNs- и push-токены;
  • IDS Device ID;
  • модель телефона;
  • версия и сборка iOS;
  • аппаратная платформа;
  • объём оперативной памяти;
  • имя устройства;
  • регион аккаунта;
  • язык и часовой пояс;
  • состояние аккумулятора;
  • состояние зарядки;
  • состояние блокировки экрана;
  • состояние Find My;
  • состояние служб геолокации;
  • BSSID окружающих Wi-Fi-точек;
  • координаты для WeatherKit;
  • версии установленных системных компонентов;
  • сведения о связанных устройствах Apple.

Это не единый «аналитический отчёт». Данные распределены между несколькими функциональными сервисами Apple. Но с технической точки зрения речь идёт об автоматической телеметрии: телефон передаёт удалённым серверам информацию о себе, своём состоянии и окружении.

Apple получает событие включения и выключения геолокации

Наиболее показательный механизм связан с Find My.

При каждом изменении состояния служб геолокации iPhone отправляет запрос:

POST p117-fmf.icloud.com/fmipservice/fmf/<DSID>/<UDID>/register

При выключении геолокации в теле находилось:

{
  "cause": "LocationServicesStateChanged",
  "registeredCauses": [
    "LocationServicesStateChanged"
  ],
  "locationServicesEnabled": false,
  ...
}

При последующем включении:

{
  "cause": "LocationServicesStateChanged",
  "registeredCauses": [
    "LocationServicesStateChanged"
  ],
  "locationServicesEnabled": true
}

Оба запроса были приняты сервером Apple с ответом: HTTP 204 No Content

Таким образом, Apple получает не только текущее состояние геолокации. Сервер получает отдельное событие, сообщающее, что пользователь изменил соответствующую настройку.

Сам флаг true или false является лишь небольшой частью запроса. Вместе с ним передаются:

  • DSID Apple Account;
  • UDID телефона;
  • серийный номер;
  • модель устройства;
  • версия и сборка iOS;
  • имя телефона;
  • APNs-токен;
  • список push-токенов;
  • IDS Device ID;
  • заряд аккумулятора;
  • состояние зарядки;
  • состояние блокировки;
  • локаль;
  • часовой пояс;
  • аттестационные заголовки Apple.

Это полностью идентифицированное событие. Оно связано одновременно с аккаунтом, конкретным устройством и его текущим состоянием.

Что происходит после включения геолокации?

При выключенной геолокации запросы с выгрузкой BSSID прекращались. За два с половиной часа не было ни одного обращения к основному Wi-Fi-сервису позиционирования.

Сразу после включения геолокации iPhone начал обращаться к: http://gs-loc.apple.com/clls/wloc

Системный процесс locationd отправлял Apple списки окружающих точек доступа.

В одном из запросов передавались 19 BSSID. В ответ Apple вернула 119 Wi-Fi-записей, относящихся к окружающей территории.

Механизм работает следующим образом:

  1. iPhone сканирует доступные Wi-Fi-точки.
  2. Телефон отправляет Apple их BSSID — MAC-адреса точек доступа.
  3. Сервер возвращает географические сведения по найденным и соседним точкам.
  4. Телефон вычисляет своё местоположение локально.

Формально устройство не отправляет сообщение «я нахожусь по этому адресу». Но список из нескольких окружающих BSSID вместе со временем запроса позволяет серверу определить район нахождения телефона с высокой точностью.

Отдельно процесс geod обращается к: http://gspXX-ssl.ls.apple.com/wifi_request

В этом запросе передаётся один BSSID — вероятно, идентификатор текущей точки подключения или основной точки, используемой при позиционировании.

Геосервисы продолжают работать при выключенной геолокации

Отключение служб геолокации прекращало выгрузку списков окружающих BSSID, но не останавливало сам географический стек iOS.

Процессы geod и locationd продолжали обращаться к:

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/config

В запросах передавались:

  • модель iPhone;
  • версия iOS;
  • номер сборки;
  • идентификатор системного процесса;
  • язык;
  • регион;
  • тип запроса Apple Maps;
  • служебные параметры географической конфигурации.

В ответах dispatcher.arpc присутствовали региональные данные и блоки обратного геокодирования.

На одинаковые запросы разные серверные узлы возвращали сведения для Японии или региона Apple Account. Это показывает, что географическая подсистема продолжает получать серверную конфигурацию даже при отключённом пользовательском доступе к геолокации.

WeatherKit передаёт координаты в URL

Погодный компонент iOS обращался к:

weatherkit.apple.com/api/v2/weather/<lang>/<lat>/<lon>

Координаты находились непосредственно в пути URL с точностью до трёх знаков после запятой — примерно до ста метров.

Дополнительно передавались:

  • часовой пояс;
  • страна;
  • языки устройства;
  • версия iOS;
  • номер сборки;
  • список погодных наборов данных;
  • временной диапазон;
  • request UUID;
  • Bearer JWT.

JWT использовался для авторизации WeatherKit и не содержал DSID, UDID или серийного номера. Однако сам HTTPS-запрос всё равно содержал координаты и IP-адрес источника.

В одном из захватов сервер Apple успешно обработал такой запрос и вернул HTTP 200.

Следовательно, передача координат в WeatherKit — не только сформированный локально запрос, но и подтверждённый серверный обмен.

Find My передаёт состояние телефона

Find My используется не только при переключении геолокации.

После перезагрузки iPhone отправляет тот же тип регистрации с причиной: cause = DeviceRestart

В теле находятся:

  • серийный номер;
  • UDID;
  • имя устройства;
  • модель;
  • версия iOS;
  • push-токены;
  • IDS Device ID;
  • заряд аккумулятора;
  • состояние зарядки;
  • подключено ли зарядное устройство;
  • заблокирован ли экран;
  • включена ли геолокация;
  • активно ли Find My.

Сервер получает точное время перезагрузки и текущее состояние аппарата.

Find My в данном случае выступает полноценным каналом эксплуатационной телеметрии, привязанным к Apple Account и конкретному физическому устройству.

Apple Account check-in

После перезагрузки системный процесс com.apple.NewDeviceOutreach отправляет запрос:
POST sse-ws-p189.apple.com/device/api/v1/checkIn

В нём находятся:

  • email Apple Account;
  • основной DSID;
  • альтернативный DSID;
  • серийный номер;
  • модель устройства;
  • имя телефона;
  • цвет корпуса;
  • регион;
  • storefront;
  • язык;
  • часовой пояс;
  • warranty hash;
  • список локальных Apple-устройств;
  • сведения о связанных Apple Watch;
  • служебные идентификаторы Apple Media Services;
  • аппаратная аттестация.

Сервер возвращает результат SUCCESS и время следующего check-in.

Это один из наиболее насыщенных персональными данными запросов. Он объединяет аккаунт, физическое устройство, гарантийные сведения и информацию о связанных устройствах.

Рекламная инфраструктура работает при отключённой персонализации

При отключённой персонализированной рекламе продолжали работать системные процессы:

com.apple.ap.promotedcontentd
com.apple.ap.adprivacyd

Они обращались к:

sas.pcms.apple.com
iadsdk.apple.com
ca.iadsdk.apple.com
partiality.itunes.apple.com

В запросах рекламной сегментации передавались:

  • DSID;
  • ADSID;
  • storefront;
  • локаль;
  • часовой пояс;
  • machine-attestation;
  • серверные cookies;
  • служебные флаги рекламного профиля.

Endpoint атрибуции получал:

  • идентификатор приложения в App Store;
  • bundle ID;
  • attribution key;
  • модель iPhone;
  • версию iOS;
  • сборку;
  • storefront;
  • timestamp;
  • подпись Apple.

В теле находилось значение: attribution = false

Это означает, что положительная рекламная атрибуция не была установлена. Но сам механизм атрибуции и рекламной сегментации продолжал работать.

Отключение персонализированной рекламы не выключает рекламный стек. Оно изменяет правила использования данных, но не прекращает сетевой обмен.

App Store загружает конфигурацию метрик через bag.itunes.apple.com/bag.xml

iPhone получает конфигурацию App Store и медиасервисов.

В запросах телефон передаёт:

  • модель;
  • класс устройства;
  • версию и сборку iOS;
  • storefront;
  • язык;
  • часовой пояс;
  • идентификатор системного процесса.

В ответах содержатся адреса:

xp.apple.com/report
daf.xp.apple.com/report

Также сервер передаёт:

  • темы usage-метрик;
  • темы performance-метрик;
  • интервалы отправки;
  • параметры sampling;
  • вращающиеся client IDs;
  • правила ограничения событий и полей.

Соединения с xp.apple.com были зафиксированы, но их содержимое оставалось зашифрованным. Поэтому установить точный состав отправленных туда событий по имеющимся данным невозможно.

Можно утверждать только следующее: конвейер метрик был сконфигурирован, а iPhone устанавливал соединения с сервером приёма отчётности.

Siri и Apple Intelligence продолжают получать системные манифесты

Даже при отключённых Siri и Apple Intelligence телефон продолжал обращаться к: gdmf-ados.apple.com/v2/assets

Запрашивались системные пакеты:

com.apple.MobileAsset.UAF.Siri.UnderstandingNLOverrides
com.apple.MobileAsset.UAF.Siri.UnderstandingASRHammer
com.apple.MobileAsset.UAF.IF.PlannerOverrides

В запросах передавались:

  • модель телефона;
  • аппаратная платформа;
  • объём оперативной памяти;
  • версия и сборка iOS;
  • Build ID;
  • System Image ID;
  • состояние обновления;
  • состояние rollback;
  • версии установленных компонентов;
  • Session ID;
  • Nonce;
  • Asset Audience.

Ответы содержали подписанные манифесты:

  • URL системного архива;
  • версию компонента;
  • build;
  • archive ID;
  • ключ расшифрования архива;
  • digest;
  • размер;
  • диапазон совместимых версий iOS;
  • правила кэширования.

Передачи голоса, текста Siri или пользовательских запросов здесь нет. Это проверка обновлений системных моделей.

Однако отключение функций не снимает устройство с обслуживания соответствующих компонентов: iPhone продолжает регулярно проверять их версии и передавать Apple подробную аппаратно-программную конфигурацию.

Перезагрузка и авиарежим запускают каскад соединений

Перезагрузка является одним из наиболее шумных событий.

Сразу после старта iPhone:

  • регистрируется в Find My с причиной DeviceRestart;
  • выполняет Apple Account check-in;
  • проверяет доступность сети;
  • определяет внешний IP;
  • загружает App Store bags;
  • восстанавливает соединения с iCloud;
  • проверяет MobileAsset;
  • обновляет географические конфигурации.

В течение одной минуты после перезагрузки фиксировались десятки обращений к:

gateway.icloud.com
bag.itunes.apple.com
setup.icloud.com
gsa.apple.com
itunes.apple.com
fpinit.itunes.apple.com

Аналогичное поведение наблюдалось при включении и выключении авиарежима.

После возврата сети iPhone устанавливал соединения с: gateway.icloud.com

и запускал повторную инициализацию системных сервисов Apple.

Содержимое обмена с gateway.icloud.com было недоступно для расшифровки, но сам факт сетевого события и его связь с переключением авиарежима воспроизводились в контролируемом эксперименте.

Защищённые сервисы исчезают при просмотре HTTPS

Часть сервисов Apple стабильно не работала при активном просмотре HTTPS-трафика.

Эксперимент повторялся:

  • на пяти iPhone 17e;
  • в течение двух дней;
  • после 5–10 перезагрузок каждого устройства.

Пока HTTPS-трафик расшифровывался, соответствующие сервисы не устанавливали рабочие соединения.

Сразу после отключения расшифровки они возобновляли работу и становились видны как непрозрачные CONNECT-соединения.

Это поведение повторялось и не было случайным сетевым сбоем.

Поэтому полная картина составлялась из двух типов захвата:

  1. с расшифровкой — для анализа URL, заголовков и тел;
  2. без расшифровки — для фиксации защищённых сервисов, отказывающихся работать под наблюдением.

Один CONNECT не равен одному HTTP-запросу. Внутри одного туннеля может проходить множество операций. Поэтому число CONNECT нельзя напрямую сравнивать с числом расшифрованных GET и POST.

Телефон продолжает обращаться к Apple в простое

В длительной фоновой сессии iPhone лежал без действий пользователя.

Несмотря на отключённые аналитику, геолокацию, Siri и синхронизацию, устройство продолжало обращаться к инфраструктуре Apple каждые несколько минут.

Среди наиболее регулярных направлений:

  • gspXX-ssl-background.ls.apple.com — примерно раз в 30 минут;
  • configuration.ls.apple.com — примерно раз в 50 минут;
  • iphone-ld.apple.com — примерно раз в 51 минуту;
  • gateway.icloud.com — сериями;
  • weatherkit.apple.com — примерно раз в несколько часов;
  • caldav.icloud.com — примерно раз в час.

За 8,8 часа не было ни одного полностью «спящего» интервала длиннее 21 минуты.

Вывод

Исследование не обнаружило явных crash reports, stack traces или полных диагностических архивов. Вероятно, переключатель «Аналитика iPhone» действительно отключает именно этот класс отчётности.

Но он не отключает телеметрию iOS как систему.

При отключённых пользовательских настройках iPhone 17e продолжает передавать Apple:

  • идентификаторы аккаунта;
  • email Apple Account;
  • DSID и ADSID;
  • серийный номер;
  • UDID;
  • push-токены;
  • IDS Device ID;
  • состояние аккумулятора;
  • состояние блокировки;
  • факт перезагрузки;
  • факт переключения геолокации;
  • факт изменения сетевого состояния;
  • BSSID окружающих Wi-Fi-точек;
  • координаты для погодного сервиса;
  • сведения о связанных устройствах;
  • подробный аппаратно-программный fingerprint;
  • данные рекламной сегментации и атрибуции.

Ключевой вывод:

В iOS отсутствует единый пользовательский переключатель, прекращающий автоматическую передачу метаданных в Apple. Отключение аналитики отключает отдельный аналитический механизм, но функциональные сервисы продолжают сообщать серверу, какое это устройство, к какому аккаунту оно привязано, в каком состоянии находится и что происходит с его системными настройками.

Все описанные данные передаются внутри зашифрованных HTTPS-соединений. Провайдер или владелец обычной Wi-Fi-сети их не видит. Их получает непосредственно Apple. Утверждать что могло быть передано к gateway.icloud.com и другим сервисам использующих SSL Pinning мы не можем.