Privacy Nutrition Label — це позначки конфіденційності в App Store, які показують користувачеві, які дані збирає застосунок і для яких цілей. Apple вимагає, щоб кожен застосунок мав заповнену позначку перед публікацією або оновленням. За даними Apple App Privacy Details, позначки приватності охоплюють 14 категорій даних і 5 цілей збору, від аналітики до персоналізації контенту.
Головне
Privacy Nutrition Label — це візуальний блок на сторінці застосунку в App Store, який відображає зведення про збір даних. Apple представила позначки у грудні 2020 року як аналог харчової цінності на продуктах: замість калорій і жирів користувач бачить, які дані збирає застосунок і як вони використовуються.
Позначки складаються з двох розділів: «Дані, що використовуються для відстеження» та «Дані, пов'язані з користувачем». У першому вказуються дані, що передаються третім сторонам для відстеження. У другому — всі дані, які застосунок збирає та пов'язує з обліковим записом або пристроєм користувача.
Кожен елемент даних маркується кольором: жовтий (дані пов'язані з користувачем) або зелений (дані не пов'язані з користувачем). Чим більше жовтих позначок, тим більше уваги приділяє користувач тому, які дані збираються. За даними Adjust (2024), застосунки з 8+ жовтими позначками мають на 22% менше конверсій встановлень.
Заповнення позначок відбувається в App Store Connect через веб-інтерфейс. Розробник відповідає на питання: чи збирає застосунок певний тип даних, чи пов'язаний він з користувачем і для яких цілей використовується. Apple не перевіряє правдивість позначок програмно, але невідповідність декларації реальній поведінці може призвести до відхилення.
Apple анонсувала позначки на WWDC 2020 разом з iOS 14. Спочатку вони були частиною ширшої ініціативи з приватності, що включала також ATT та Privacy Manifest. Заповнення позначок стало обов'язковим для всіх застосунків та оновлень з 8 грудня 2020 року.
Позначки стали відповіддю Apple на зростаючу увагу регуляторів і користувачів до збору даних. На відміну від GDPR та CCPA, які вимагають формальної згоди, Apple зробила акцент на прозорості: користувач одразу бачить, які дані збираються, ще до встановлення застосунку.
У 2022 році Apple додала позначкам інтерактивність: користувач може натиснути на кожну категорію та побачити, для яких цілей використовуються дані. У 2024 році Apple почала вимагати, щоб позначки відповідали даним, задекларованим у Privacy Manifest всередині бінарника.
Google ввела аналогічний розділ «Безпека даних» (Data Safety) у Google Play у квітні 2022 року. Основна відмінність: Google перевіряє позначки за допомогою автоматичного сканування коду та може запитати підтвердження у розробника, тоді як Apple покладається на декларацію розробника з перевіркою під час рев'ю.
Крім того, Google Play вимагає зазначення заходів безпеки (шифрування даних у спокої та при передачі, відповідність програмам безпеки). Apple не запитує цю інформацію, але перевіряє виконання вимог через обов'язкові функції на кшталт ATS (App Transport Security).
Apple не аналізує код застосунку для заповнення позначок — розробник самостійно декларує дані, що збираються. Однак у 2024 році Apple почала звіряти позначки з Privacy Manifest всередині бінарника, що робить процес більш формалізованим.
Розробник заходить в App Store Connect → обирає застосунок → розділ «Конфіденційність застосунку» → «Позначки конфіденційності». Відкривається анкета з питаннями щодо кожної з 14 категорій даних. Для кожної категорії потрібно вказати: чи збираєте ви цей тип даних, чи пов'язаний він з користувачем (linked), та для яких цілей.
Цілі збору включають: рекламу третіх сторін, аналітику розробника, розробку продукту, персоналізацію контенту, виконання функцій застосунку. Одна категорія даних може використовуватися для кількох цілей. Важливо: якщо дані передаються третім сторонам, це має бути позначено як відстеження.
Після збереження змін Apple генерує нову версію позначок, яка відображається в App Store протягом 24 годин. При відправленні нової збірки позначки перевіряються автоматично: якщо вони не заповнені, кнопка відправлення блокується. Apple Developer (2024) рекомендує оновлювати позначки при кожній зміні логіки збору даних.
До 2024 року позначки були повністю self-reported — Apple довіряла відповідям розробника. З появою Privacy Manifest та інтеграцією позначок з маніфестом Apple почала автоматичне звіряння. Наприклад, якщо маніфест декларує збір ідентифікаторів (IDFA) для реклами, а позначки не відмічають цю категорію, App Store Connect видає попередження.
Однак повної автоматичної перевірки поки немає. Розробник зобов'язаний підтримувати обидва джерела даних (позначки + маніфест) в актуальному стані. Невідповідність може бути виявлена при ручній перевірці рев'юером, особливо для великих оновлень або застосунків з великою кількістю даних.
| Метод перевірки | Apple | |
|---|---|---|
| Self-reporting | Так, основа | Так, основа |
| Автоматична перевірка коду | Частково (з 2024, через маніфест) | Так |
| Ручна перевірка рев'юером | При підозрі | Рідко |
Apple ділить дані на 14 категорій, які згруповані в 3 розділи: дані, що використовуються для відстеження; дані, пов'язані з користувачем; дані, не пов'язані з користувачем. Розглянемо основні категорії.
Категорія «Контактна інформація» включає ім'я, email, телефон, фізичну адресу. Категорія «Ідентифікатори» — IDFA, User ID, ім'я користувача. Якщо застосунок використовує вхід через соцмережі та отримує email користувача, необхідно вказати цю категорію з метою «Виконання функцій».
Категорія «Платіжні дані» включає інформацію про покупки: номер картки (якщо не використовується Apple Pay), історію покупок. Apple Pay не вимагає зазначення цієї категорії, оскільки Apple обробляє платежі на своїй стороні та не передає дані розробнику.
Категорія «Дані про використання» включає логи взаємодії, рекламні кліки, перегляди сторінок, час сесії. Більшість застосунків збирають ці дані для аналітики. Важливо: якщо дані передаються третім сторонам (Google Analytics, Firebase), необхідно відмітити мету «Аналітика».
Категорія «Діагностика» включає crash-логи, дані про продуктивність, звіти про запуск. Ці дані зазвичай не пов'язані з користувачем (not linked) і збираються в агрегованому вигляді. Незважаючи на це, вони мають бути відображені в позначках, якщо застосунок використовує Crashlytics або Sentry.
Категорія «Контент користувача» включає фото, відео, аудіо, файли, контент, створений користувачем (повідомлення, коментарі). Якщо застосунок запитує доступ до фото або файлів, ця категорія обов'язкова. Навіть якщо застосунок лише читає фото, це вважається збором даних.
Категорія «Історія покупок» — агреговані дані про покупки всередині застосунку, підписки, платежі. Не плутати з «Фінансовою інформацією». Історія покупок — це метадані транзакцій, а не платіжні реквізити.
Покрокова інструкція із заповнення Privacy Nutrition Label в App Store Connect для нового або оновлюваного застосунку.
Перед заповненням позначок складіть повний список всіх SDK та сервісів, які збирають дані: Firebase, AppsFlyer, Google Ads, Facebook SDK, Sentry, Amplitude. Для кожного SDK перевірте, які дані він збирає та чи передає їх третім сторонам. Adjust (2024) рекомендує вести таблицю з типами даних, цілями та зв'язуванням для кожного SDK.
Визначте, які дані збирає безпосередньо ваш код. Наприклад, якщо застосунок зберігає історію пошуку та пов'язує її з обліковим записом користувача — це «Дані про використання» linked для цілі «Розробка продукту». Завжди перевіряйте, чи не передаються дані третім сторонам (рекламні мережі, аналітика).
В App Store Connect виберіть застосунок → розділ «Конфіденційність застосунку». Натисніть «Почати» та виберіть, чи збирає ваш застосунок дані для відстеження. Якщо ні, переходьте до опитувальника. Відповідайте на кожне питання послідовно для всіх 14 категорій даних.
Приклад: якщо застосунок використовує Firebase Analytics, дайте відповідь «Так» для категорії «Дані про використання», вкажіть linked (Firebase прив'язує дані до Instance ID) та ціль «Аналітика». Якщо ви також використовуєте Firebase Crashlytics, додайте категорію «Діагностика» з ціллю «Розробка продукту».
Після заповнення збережіть позначки. Якщо у вас кілька застосунків, позначки унікальні для кожного — копіювання не передбачено. Оновлюйте позначки при кожній зміні в логіці збору даних, інакше старі позначки можуть не відповідати новому функціоналу.
// Приклад: перевірка відправлення даних для аналітики
import FirebaseAnalytics
final class AnalyticsService {
static func logEvent(_ name: String, params: [String: Any]) {
Analytics.logEvent(name, parameters: params)
}
static func logPurchase(amount: Double, currency: String) {
Analytics.logEvent(AnalyticsEventPurchase, parameters: [
AnalyticsParameterValue: amount,
AnalyticsParameterCurrency: currency
])
}
}
Щоб оновити позначки для опублікованого застосунку, відкрийте версію застосунку в App Store Connect та внесіть зміни в розділі «Конфіденційність застосунку». Зміни набувають чинності після проходження рев'ю. Нові позначки відображаються користувачам протягом 24 годин після публікації оновлення.
Важливо: видалення даних з позначок (наприклад, ви перестали передавати дані третім сторонам) не вимагає нової збірки — достатньо змінити позначки в App Store Connect. Додавання нових даних вимагає як зміни позначок, так і відповідного оновлення Privacy Manifest в коді.
Розробники часто допускають помилки при заповненні позначок, що призводить до відхилення оновлень або скарг користувачів.
Найпоширеніша помилка — розробник заповнює позначки лише на основі свого коду, забуваючи про сторонні SDK. Firebase, AppsFlyer, Facebook SDK та інші збирають дані автоматично без додаткового коду розробника. Наприклад, Firebase Analytics збирає дані про використання (події, екрани) та ідентифікатори (Instance ID, IDFV).
Рекомендація: для кожного інтегрованого SDK прочитайте розділ «Data Collected» в документації та додайте відповідні категорії в позначки. AppsFlyer (2024) публікує список даних, що збираються для кожної версії SDK, що допомагає розробникам звіряти позначки.
Багато розробників позначають дані як not linked, хоча вони пов'язані з обліковим записом. Якщо у користувача є обліковий запис і ви зберігаєте його ім'я або email — це linked. Якщо ви збираєте crash-логи без прив'язки до облікового запису — це not linked. Помилка в зв'язуванні може бути розцінена як введення користувача в оману.
Linked дані показуються жовтим кольором і привертають більше уваги користувача. Якщо ви не впевнені, чи є конкретний тип даних linked, краще вказати linked і надати пояснення при рев'ю. Apple не штрафує за надмірне декларування, але може відхилити за недостатнє.
Якщо дані передаються третім сторонам і використовуються для таргетованої реклами, це має бути позначено як «Дані, що використовуються для відстеження». Деякі розробники приховують трекінг, передаючи дані під виглядом аналітики — це порушує правила Apple і може призвести до бану.
Правило Apple: якщо дані передаються третій особі та використовуються для персоналізації реклами або атрибуції — це трекінг. Навіть якщо застосунок сам не показує рекламу, але використовує Google Ads для атрибуції встановлень, дані про перегляди вважаються трекінгом.
Старі позначки, що не відповідають поточній логіці збору даних — поширена проблема при довготривалому супроводі застосунку. Розробники змінюють SDK, додають нові функції, але забувають оновити позначки. В результаті користувач бачить неактуальну інформацію, що знижує довіру.
Найкраща практика: при кожній зміні коду, пов'язаної з даними, перевіряйте позначки та маніфест. Рекомендується налаштувати CI-перевірку, яка попереджає про необхідність оновлення позначок при зміні файлів PrivacyInfo.xcprivacy або списку SDK.
Поширені запитання
Так, позначки обов'язкові для всіх застосунків, включаючи безкоштовні, безкоштовні з покупками та платні. Виняток — лише застосунки в категорії «Для дітей», де правила ще суворіші.
App Store Connect не дозволить відправити збірку на рев'ю без заповнених позначок. Вже опубліковані застосунки залишаються в магазині, але не можуть отримувати оновлення без позначок.
При кожній зміні в логіці збору даних: додаванні нового SDK, зміні цілей використання, передачі даних третім сторонам. Хоча б раз на 6-12 місяців перевіряйте позначки на відповідність поточному коду.
Так, будь-який користувач може повідомити про невідповідність позначок реальній поведінці застосунку через форму Apple. При отриманні кількох скарг Apple може провести перевірку та відхилити наступне оновлення.
Так, позначки видні на сторінці застосунку, але не відображаються в результатах пошуку або рекомендаціях. Користувач бачить їх при перегляді сторінки застосунку перед встановленням.
Підсумки
Ми розробимо мобільний застосунок під ключ
IT Sectr створює застосунки для iOS та Android для стартапів і бізнесу з 2017 року. Ми проконсультуємо вас і запропонуємо найкраще рішення.
Читайте також