Манифест конфиденциальности

Краткий обзор. На 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 по умолчанию (например, измерение событий в приложении).