Забезпечення ePrivacy Directive-комплайансу мобільного додатку
ePrivacy Directive (Directive 2002/58/EC із поправками 2009) — «cookie law» у народі. Для мобільних додатків вона значно строжча, ніж для веб-сайтів, тому що стосується не тільки cookies, але й будь-яких trackers, SDK, а з точки зору регуляторів — advertising ID вважається еквівалентом cookie.
Чим ePrivacy відрізняється від GDPR для мобайла
GDPR регулює обробку персональних даних. ePrivacy регулює доступ до пристрою та зберігання інформації на ньому. Це різні правові основи.
Рекламний ідентифікатор IDFA або GAID — це зберігання на пристрої. Для його читання потрібна согласие за ePrivacy, незалежно від того, чи є він персональними даними за GDPR. Саме тому Apple запровадила ATT (App Tracking Transparency) в iOS 14.5 — вони буквально реалізували ePrivacy в системному діалогу.
Fingerprinting (збір характеристик пристрою для ідентифікації без cookies) — теж під ePrivacy. Якщо SDK збирає screen resolution + OS version + device model + timezone та хешує їх в ідентифікатор — це те ж саме, що cookie, тільки без можливості видалити.
ATT на iOS — це ePrivacy в дії
AppTrackingTransparency.framework — обов'язковий компонент для будь-якого iOS додатку, що використовує IDFA або cross-app трекинг:
import AppTrackingTransparency
func requestTrackingPermission() {
ATTrackingManager.requestTrackingAuthorization { status in
switch status {
case .authorized:
// Можна читати IDFA
let idfa = ASIdentifierManager.shared().advertisingIdentifier
self.initializeMarketingSDKs(with: idfa)
case .denied, .restricted:
// Не можна використовувати IDFA, не можна передавати в рекламні сети
self.initializeMarketingSDKsWithoutIDFA()
case .notDetermined:
// Ще не запитували
break
}
}
}
Запитувати ATT потрібно після того, як користувач зрозумів цінність додатку — не при першому запуску. Apple може відхилити додаток, якщо ATT діалог з'являється занадто рано без контексту.
На Android аналогічного системного діалогу немає. Согласие управляється через власний consent UI додатку + IAB TCF/GPP рядки.
Що вимагає согласия, що — ні
Согласие не потрібне для:
- Технічно необхідних операцій: зберігання сеансного маркера, кошика покупок, настройок користувача
- Безпеки: виявлення шахрайства, захист від DDoS
- Аналітики в aggregate вигляді без cross-device трекингу (спірна точка між регуляторами)
Согласие потрібне для:
- Advertising ID / IDFA для будь-яких цілей крім attributing install
- Поведінкової реклами
- Cross-app або cross-site трекингу
- Fingerprinting
- Push сповіщень, якщо вони не функціональні (трансакційні), а маркетингові
Consent Management для ePrivacy
IAB Europe розробила Transparency and Consent Framework (TCF v2.2) для мобільних додатків. Реалізація через IAB-certified Consent Management Platform (CMP):
// Читання TCF consent string з SharedPreferences (стандарт IAB)
val consentString = sharedPrefs.getString("IABTCF_TCString", null)
val purposeConsents = sharedPrefs.getString("IABTCF_PurposeConsents", null)
// "1" в позиції N = согласие на purpose N дано
// Purpose 1 — базова реклама (необхідна для більшості рекламних SDK)
val adStorageConsent = purposeConsents?.getOrNull(0) == '1'
// Purpose 3 — створення персоналізованого рекламного профілю
val personalizationConsent = purposeConsents?.getOrNull(2) == '1'
Стандартні ключі IABTCF_* читаються всіма сумісними SDK автоматично — AdMob, Criteo, The Trade Desk та інші IAB-сумісні партнери.
ePrivacy Regulation — що очікувати
ePrivacy Directive повинна бути замінена ePrivacy Regulation (напрямо застосовуваним регламентом, без імплементації через національні закони). Переговори йдуть з 2017 року, фінального тексту немає. Поточний чернетка ужесточує вимоги до согласия та розширює область дії на OTT-комунікації (WhatsApp, Telegram аналоги).
Для практики: будувати систему согласия за GDPR + поточною ePrivacy директивою — це правильна база, яка з високою вероятністю буде сумісна з фінальною версією Regulation.
Терміни: інтеграція ATT на iOS + IAB TCF consent flow + настройка рекламних SDK: 2–3 дні. З кастомним CMP UI та повним аудитом всіх SDK: 4–5 днів.







