Краткий обзор. На WWDC23 компания Apple представила новые манифесты конфиденциальности. Благодаря манифестам конфиденциальности разработчики приложений могут предоставить более точное описание внедрения конфиденциальности в своих приложениях. Компания AppsFlyer разработала манифест конфиденциальности для AppsFlyer SDK, подробности которого описаны ниже.
Фон
Благодаря манифестам конфиденциальности разработчик приложения сможет создать запись о категориях данных, которые он собирает через свое приложение самостоятельно и с помощью сторонних зависимостей, таких как сторонние SDK, используемые приложением. Эта информация помогает разработчикам приложений точно представлять внедрение конфиденциальности в своих приложениях, в том числе на этикетках с описанием, которые они предоставляют своим пользователям.
Во многих случаях разработчики приложений не знают, какие данные собирают сторонние SDK и для чего конкретный SDK использует эти данные. Манифест конфиденциальности позволяет сторонним SDK легко передавать эту информацию разработчикам приложений, помогая им создавать точные этикетки с описанием.
Что такое этикетки с описанием?
Этикетки с описанием предоставляют информацию о практике конфиденциальности приложений в удобном для чтения и понимания формате. Конечные пользователи получают больше прозрачности в отношении того, какие данные и с какой целью собирает приложение. Более подробную информацию об этикетках можно найти здесь.
Что содержится в манифесте конфиденциальности AppsFlyer?
Важно!
Помимо SDK AppsFlyer, вам придется самостоятельно определять способы сбора данных, API с указанием причины использования и их использования в вашем приложении или других SDK, а также сообщать эту информацию на этикетках с описанием.
AppsFlyer SDK 6.14.0 включает в себя манифест конфиденциальности AppsFlyer. Сюда входят:
Использование данных
Apple требует от разработчиков приложений и SDK фиксировать категории данных и причины, по которым приложение или сторонний SDK собирает такие данные.
Разработчики приложений могут использовать Xcode для создания отчета о конфиденциальности, обобщающего информацию о собранных данных.
Ниже перечислены типы данных, собираемых AppsFlyer SDK, которые включены в Манифест конфиденциальности:
Примечание
Далее предполагается применение настроек программного обеспечения AppsFlyer по умолчанию. Разработчики приложений несут ответственность за то, что они соответствующим образом адаптируют свои собственные манифесты в соответствии с их конкретными конфигурациями и использованием AppsFlyer SDK.
Имя | NSPrivacyCollectedDataType | NSPrivacyCollectedDataTypeLinked | NSPrivacyCollectedDataTypeTracking | NSPrivacyCollectedDataTypePurposes |
---|---|---|---|---|
Идентификатор устройства (IDFA, IDFV) | NSPrivacyCollectedDataTypeDeviceID | Да | Да | NSPrivacyCollectedDataTypePurposeThirdPartyAdvertising |
Взаимодействие с продуктами (запуски) | NSPrivacyCollectedDataTypeProductInteraction | Нет | Нет | NSPrivacyCollectedDataTypePurposeAnalytics |
API с указанием причины использования
Apple предоставила список API, для использования которых требуется обоснование. Приложения и SDK, использующие эти API, должны указать их в разделе «API с указанием причины использования» (Required Reason APIs) в Манифесте конфиденциальности. Эти API разделены на категории в зависимости от их функциональности и информации, которую они предоставляют, в соответствии со списком тем Apple. Это API, которые включены в манифест конфиденциальности AppsFlyer SDK версии 6.14.0:
Чтобы уточнить использование API с указанием причины использования, разработчики приложений должны будут объявить категорию API и указать причины использования API из утвержденного списка в манифесте конфиденциальности. Ниже представлены API AppsFlyer и их использование.
SDK версии 6.14.0 и выше
Категория API | Тип категории API | Причина | Комментарии |
---|---|---|---|
API для меток времени файлов | NSPrivacyAccessedAPICategoryFileTimestamp | C617.1 | SDK использует API NSFileCreationDate и NSFileModificationDate для определения даты установки приложения и даты обновления приложения. |
API с настройками пользователей по умолчанию | NSPrivacyAccessedAPICategoryUserDefaults | CA92.1 | SDK хранит данные, необходимые для его работы. Например, ведет учет того, сколько раз запускалось приложение. |
SDK версии 6.13.x и более ранние версии
Категория API | Тип категории API | Причина | Комментарии |
---|---|---|---|
API для меток времени файлов | NSPrivacyAccessedAPICategoryFileTimestamp | C617.1 | SDK использует API NSFileCreationDate и NSFileModificationDate для определения даты установки приложения и даты обновления приложения. |
API времени загрузки системы | NSPrivacyAccessedAPICategorySystemBootTime | 35F9.1 | Измерение производительности SDK (время выполнения запроса и т.д.) |
API с настройками пользователей по умолчанию | NSPrivacyAccessedAPICategoryUserDefaults | CA92.1 | SDK хранит данные, необходимые для его работы. Например, ведет учет того, сколько раз запускалось приложение. |
Для удобства вы можете скопировать следующий фрагмент кода, включающий приведенные выше необходимые причины, и вставить его в свой файл PrivacyInfo.xcprivacy.
<key>NSPrivacyAccessedAPITypes</key>
<array>
<dict>
<key>NSPrivacyAccessedAPITypeReasons</key>
<array>
<string>CA92.1</string>
</array>
<key>NSPrivacyAccessedAPIType</key>
<string>NSPrivacyAccessedAPICategoryUserDefaults</string>
</dict>
<dict>
<key>NSPrivacyAccessedAPITypeReasons</key>
<array>
<string>C617.1</string>
</array>
<key>NSPrivacyAccessedAPIType</key>
<string>NSPrivacyAccessedAPICategoryFileTimestamp</string>
</dict>
<dict>
<key>NSPrivacyAccessedAPITypeReasons</key>
<array>
<string>35F9.1</string>
</array>
<key>NSPrivacyAccessedAPIType</key>
<string>NSPrivacyAccessedAPICategorySystemBootTime</string>
</dict>
</array>
Домены отслеживания
Любой домен отслеживания, используемый в приложении или стороннем SDK, должен быть записан в манифесте конфиденциальности. Если пользователи не предоставят разрешения на сбор данных (opt-out) через фреймворк App Tracking Transparency (ATT), операционная система iOS будет блокировать весь исходящий трафик к этому домену. AppsFlyer SDK проверяет статус ATT пользователя перед любым запросом к серверу и выполняет запрос, основываясь на том, дал ли пользователь согласие на сбор даннных.
Вопросы и ответы
Есть ли у AppsFlyer SDK с поддержкой манифеста конфиденциальности?
Да, начиная с версии 6.14.0, SDK полностью поддерживает манифест конфиденциальности.
Должен ли я сообщать о своем сборе данных?
Да, помимо AppsFlyer или других SDK, вам придется самостоятельно определять порядок сбора и использования данных и сообщать эту информацию в этикетках с описанием, включая любые изменения, внесенные в конфигурацию SDK AppsFlyer по умолчанию (например, измерение событий в приложении).