Реалізація GDPR-сумісності у мобільному додатку
Штраф по GDPR розраховується від глобального річного обороту — до 4% або €20M, що більше. Для мобільного додатку проблема конкретна: додаток збирає дані користувачів з ЕС, та повинен відповідати вимогам регламенту. Це не юридична консультація — список технічних завдань, які потрібно реалізувати в коді.
Що вважається персональними даними в контексті мобільного додатку
GDPR широко трактує «персональні дані». В мобільному контексті це: email, ім'я, телефон — очевидно. Але також: IP-адреса, рекламний ідентифікатор (IDFA/GAID), push-токен, геолокація, fingerprint пристрою, поведінкові дані (які екрани відкривав, скільки часу провів). Якщо аналітика Firebase або Amplitude збирає user_id у зв'язці з будь-яким з перерахованих — персональні дані.
Згода на обробку (Consent)
Згода повинна бути: конкретною (для кожної цілі окремо), інформованою (що збирається та зачим), вільною (відмова не позбавляє функціональності) та відзивною.
Технічно: до першого збору даних показати CMP (Consent Management Platform). Популярні: OneTrust, Usercentrics, Didomi, Cookiebot. Всі інтегруються в iOS та Android через SDK. Важливо: Firebase Analytics, Facebook SDK, AppsFlyer не ініціалізувати до отримання згоди.
Зберігати згоду з timestamp та версією Privacy Policy. При оновленні політики — запитати згоду повторно.
Права суб'єктів даних — технічна реалізація
Право на доступ (Art. 15). Користувач може запросити всі дані про себе. Реалізація: API endpoint, який агрегує дані з усіх баз та сервісів (основна БД, аналітика, CRM, пуш-сервіс) та повертає JSON або PDF. Автоматизація цього процесу економить час підтримки.
Право на видалення (Art. 17, «право на забвення»). Не просто помітити користувача як deleted — реально видалити або анонімізувати всі персональні дані з усіх сховищ. Це включає: основну БД, аналітичні системи (Firebase — deleteUserData, Amplitude — Delete User API), резервні копії (з затримкою по розкладу бекапів), логи (обезличування IP, user_id).
Повне видалення з бекапів — складна задача. Стандартна практика: бекапи зберігаються максимум 30–90 днів (документується в Privacy Policy), після цього дані видалених користувачів зникають природним чином.
Право на переносимість (Art. 20). Експорт даних у машинозчитному форматі (JSON, CSV). Реалізується як функція в настройках додатку.
Право на виправлення (Art. 16). Користувач редагує профіль — зазвичай вже існує. Перевірити, що зміни синхронізуються з усіма пов'язаними системами.
Мінімізація даних та retention
GDPR вимагає збирати тільки те, що дійсно потрібно. Технічний аудит: пройтися по всіх місцях відправки аналітики, убрати зайві поля. Firebase Analytics за замовчуванням збирає багато — вимкнути через setAnalyticsCollectionEnabled(false) до згоди, обмежити через setUserProperty тільки потрібними атрибутами.
Retention policy: дані зберігаються тільки необхідний час. У Firebase Console — настройка retention періоду. У основній БД — cron-job для анонімізації застарілих записів.
Обробка даних неповнолітніх
Для користувачів до 16 років (у деяких країнах ЕС — до 13) потрібна згода батьків. Технічно: при реєстрації запитати дату народження, при виявленні неповнолітнього — окремий flow з верифікацією батьківської згоди або блокування.
Повідомлення про утечу даних
GDPR вимагає повідомити надзорний орган в течение 72 годин після виявлення утечи. Технічно означає: система моніторингу з алертами на аномальний доступ до даних, документований процес реагування, логування всіх операцій з персональними даними.
Що потрібно від додатку конкретно
- CMP SDK інтеграція з умовною ініціалізацією SDK аналітики/реклами
- Екран настройок конфіденціальності з управлінням согласиями
- API для експорту та видалення даних
- Політика конфіденціальності з актуальним описанням всіх обробляються даних
- Логування согласиев (хто, коли, яку версію прийняв)
- Механізм сповіщення про зміни політики
Обсяг роботи варіюється від 3–5 днів (тільки технічні зміни в існуючому додатку при наявності CMP) до кількох тижнів при необхідності будувати інфраструктуру управління даними з нуля. Ціна розраховується після аудиту поточного стану додатку та списку використовуваних сервісів.







