Дата набуття чинності: ще не настала (чернетка).
1. Хто ми
Wellboy управляється компанією Pankka Group Oy, товариством з обмеженою відповідальністю, зареєстрованим у Фінляндії (ідентифікатор підприємства 3397011-8), Sukkulatie 10, 87700 Kajaani, Finland. Pankka Group Oy є контролером персональних даних, описаних у цій політиці.
Контакт з питань конфіденційності: [email protected]
У цій політиці «Wellboy», «ми» та «нас» означають Pankka Group Oy, а під «застосунком» мається на увазі застосунок Wellboy (версії для iOS, Android і настільні версії).
2. Короткий виклад простою мовою
- Застосунок працює насамперед офлайн: твої дані зберігаються в локальній базі даних на твоєму пристрої, а основне відстеження працює без підключення. Для синхронізації, функцій ШІ, покупок, поширення та пошуку товарів онлайн потрібне підключення.
- Коли є підключення, твій вміст синхронізується з нашою хмарною базою даних (Google Cloud Firestore) у регіоні ЄС europe-north1 (Finland) і зберігається під приватним ідентифікатором облікового запису; читати або записувати цей вміст може лише користувач, який увійшов до твого облікового запису.
- Спочатку автоматично створюється анонімний обліковий запис, а наприкінці початкового налаштування тобі пропонується зареєструвати спосіб входу (Apple, Google або електронна пошта), щоб зберегти дані на різних пристроях.
- Функції ШІ (сканування фотографії страви, чат із тренером, створення тренування) передають потрібні вхідні дані через власні сервери Wellboy до OpenAI для обробки. Застосунок звертається до нашого сервера, а ключ API ШІ зберігається як секрет сервера. Запити надсилаються з вимкненим зберіганням стану застосунку OpenAI; OpenAI може зберігати журнали API для моніторингу зловживань відповідно до власних умов (зазвичай до 30 днів), а Wellboy і OpenAI не використовують твої вхідні дані для навчання моделей ШІ.
- Ти можеш за бажанням підключити Apple Health (HealthKit) або Health Connect (Android). Імпорт у застосунок Wellboy доступний лише для читання. Якщо ти використовуєш необов’язковий застосунок-компаньйон для Apple Watch, щоб записати тренування, годинник зберігає це тренування (з пульсом і активною енергією) у Apple Health на твоїх власних пристроях; дані не надсилаються на сервери Wellboy (розділ 3.5).
- Покупки Wellboy Pro обробляються Apple або Google; ми ніколи не бачимо даних твоєї картки. RevenueCat обробляє чеки покупок для нас.
- У цій версії ми не показуємо рекламу і не використовуємо сторонню аналітику продукту. Компоненти SDK Google, які використовує застосунок (ML Kit, Firebase), передають Google обмежену технічну телеметрію (розділи 3.4 і 9).
- Звіти про збої є необов’язковими та за замовчуванням вимкнені. Якщо ти їх увімкнеш, звіти про збої та помилки (лише технічні дані, ніколи не твій вміст) надходитимуть до Google Firebase Crashlytics і оброблятимуться у Сполучених Штатах. Ти можеш будь-коли вимкнути їх у Налаштуваннях (розділ 3.7).
- Нагадування-сповіщення плануються на твоєму пристрої і ніколи не залишають його. Єдині повідомлення, які надсилають наші сервери: необов’язкові цінові сповіщення про покупку доступу назавжди та невидимий сигнал, що дає застосунку вказівку оновити власні дані (розділ 3.8).
- Історія чату з тренером, списки покупок, щоденні підрахунки кроків і більшість налаштувань застосунку ніколи не завантажуються до твого хмарного облікового запису. Фотографії страв, зроблені для сканування, також залишаються на твоєму пристрої. Відповідь тренера на кожне повідомлення, за яке списано кредит, зберігається в записі запиту ШІ на сервері (розділ 5.5).
- Коди поширення публікують незмінний загальнодоступний знімок поширеного вмісту, який може переглянути будь-хто, хто має код.
- Ти можеш експортувати свої дані як ZIP-файл (JSON + твої файли зображень) і видалити обліковий запис (разом з усіма синхронізованими даними) безпосередньо в застосунку.
3. Які дані ми збираємо
3.1 Дані облікового запису
- Анонімний обліковий запис (випадковий ідентифікатор облікового запису) створюється автоматично під час першого підключення застосунку, а під час початкового налаштування тобі пропонується зареєструвати спосіб входу.
- Коли ти реєструєш або прив’язуєш спосіб входу, ми зберігаємо ідентифікатори, які надає нам відповідний постачальник: твою електронну адресу та ідентифікатори облікових записів у постачальників (Sign in with Apple, Google Sign-In або електронна пошта + пароль), а також статус підтвердження електронної адреси. Якщо постачальник передає нам це, ми також можемо отримати ім’я, пов’язане з обліковим записом у цього постачальника (наприклад, від Sign in with Apple).
- Ми не пропонуємо автентифікацію через телефон/SMS.
3.2 Вміст, який ти додаєш (дані про здоров’я та фітнес)
Залежно від функцій, якими ти користуєшся, це може включати:
- записи про прийоми їжі та харчування (продукти, порції, енергетичну цінність, макронутрієнти), споживання води, підсумки щоденних відміток і цілі щодо харчування;
- твої цілі (основні цілі тренувань, цільова вага, цільова кількість тренувань на тиждень, повсякденний рівень активності);
- записи про якість сну;
- тренування: власні шаблони тренувань, завершені заняття (підходи, ваги, повторення, час, відстані), заплановані тренування та програми тренувань;
- рецепти та вміст кулінарної книги, зокрема фотографії рецептів;
- списки покупок (лише на пристрої);
- параметри тіла та фотографії прогресу (фотографії прогресу доступні лише користувачам віком від 18 років, див. розділ 14);
- дані, імпортовані з Apple Health або Health Connect (розділ 3.5);
- результати викликів (наприклад, бали за виклик із віджимань);
- серії, бали досвіду (XP), історію віртуальних кредитів і чеки за списання віртуальних кредитів;
- записи про поширення (метадані створених тобою кодів поширення) та записи програми запрошення друзів (розділ 8.3);
- необов’язкову фотографію аватара;
- повідомлення чату з тренером (зберігаються лише на твоєму пристрої);
- твій профіль: ім’я, стать і дата народження (використовуються для оцінок калорій, персоналізації тренера та перевірки мінімального віку; твій вік обчислюється під час використання і ніколи не зберігається).
Значна частина цих даних пов’язана зі здоров’ям. За замовчуванням ми розглядаємо всі ці дані як приватні та зберігаємо їх лише для надання тобі послуги.
3.3 Налаштування
Одиниці вимірювання, мова, тема, налаштування сповіщень, стандартні параметри тренувань, необов’язкове приблизне місцезнаходження на рівні країни/міста та необов’язковий шлях до фотографії профілю зберігаються лише на твоєму пристрої (див. розділ 4.3). Винятками є твої ім’я, стать і дата народження, які синхронізуються з твоїм хмарним обліковим записом як профіль (разом із позначкою про завершення початкового налаштування та, якщо ти відповів або відповіла, твоїм необов’язковим вибором «звідки ти про нас дізнався або дізналася», розділ 3.6), щоб вони були доступні на новому пристрої.
Деталі щодо місцезнаходження: ти можеш самостійно ввести країну й місто або надати операційній системі дозвіл на приблизне місцезнаходження. Застосунок ніколи не запитує точне місцезнаходження GPS. Місцезнаходження використовується лише для регіонального вмісту.
3.4 Дані, які збираються автоматично
- Ми не використовуємо SDK для реклами та сторонні SDK для аналітики продукту. Компоненти SDK Google, які використовує застосунок (ML Kit для розпізнавання поз, Firebase), передають Google обмежену технічну телеметрію (дані про пристрій, застосунок, конфігурацію, продуктивність і помилки; див. розділ 9).
- Використання сервісів Google неминуче розкриває Google стандартні технічні дані (IP-адресу, інформацію про пристрій, часові позначки) як нашому постачальнику послуг, коли застосунок звертається до кінцевих точок автентифікації, бази даних або сервера.
- Застосунок використовує Firebase App Check для атестації пристрою та застосунку, щоб допомогти перевірити, що запити надходять від справжнього, незміненого застосунку Wellboy. Під час атестації відбувається обмін токеном цілісності, виданим Apple або Google; цей токен не ідентифікує тебе особисто.
- Щоб справедливо застосовувати денні обмеження в різних часових поясах, наш сервер зберігає в обліковому записі останню назву часового поясу IANA твого пристрою (наприклад, “Europe/Helsinki”) і використовує її (або Europe/Helsinki, якщо часовий пояс не збережено) для визначення меж дня. Часовий пояс є приблизним регіональним сигналом, а не відстеженням місцезнаходження.
- Під час сканування штрихкоду до нашого власного сервісу-дзеркала товарів (food.wellboy.net, розміщеного на Cloudflare) надсилаються лише цифри штрихкоду. Якщо дзеркало не повертає придатний товар (невідомий штрихкод, відсутні значення харчової цінності або помилка дзеркала), цифри потім надсилаються до Open Food Facts, а для користувачів на ринку США цифри надсилаються до USDA FoodData Central для резервного пошуку. Кожен сервіс неминуче бачить твою IP-адресу як частину запиту; ідентифікатор облікового запису не надсилається. Результати зі значеннями харчової цінності кешуються на пристрої протягом 30 днів, тому повторне сканування того самого товару не створює мережевого запиту.
- Демонстраційні відео вправ транслюються з нашої CDN (cdn.wellboy.net), яка бачить стандартні журнали вебзапитів.
- Необов’язкові звіти про збої та помилки за замовчуванням вимкнені й описані в розділі 3.7; поки вони вимкнені, для цієї мети нічого не збирається.
- На iOS і Android застосунок реєструє токен маршрутизації push-сповіщень у Google Firebase Cloud Messaging, щоб наш сервер міг доставляти повідомлення, описані в розділі 3.8. Токен зберігається у твоєму обліковому записі та створюється навіть якщо ти відхилиш видимі сповіщення (він також передає невидимий сигнал оновлення).
3.5 Імпорт із застосунків здоров’я (Apple Health / Health Connect)
Якщо ти підключиш Wellboy до Apple Health (iOS) або Health Connect (Android), застосунок із твого дозволу зчитує лише такі типи даних:
- вагу, відсоток жирової тканини, безжирову масу тіла, пульс у стані спокою та (на iOS) окружність талії: імпортовані записи зберігаються як вручну введені параметри тіла, позначаються їхнім джерелом і синхронізуються з твоїм хмарним обліковим записом, як і інші параметри тіла;
- щоденну кількість кроків і, якщо ти ввімкнув або ввімкнула калорії тренування в налаштуваннях Wellboy, щоденну активну енергію: вони відображаються в поданні активності застосунку та викликах, зберігаються лише на твоєму пристрої й ніколи не синхронізуються;
- показники пульсу під час тренування (лише якщо ти ввімкнув або ввімкнула пульс під час тренування): зчитуються в реальному часі, щоб показувати твій пульс і розрахункові калорії під час і після заняття; самі показники ніколи не зберігаються: зберігається лише підсумок тренування, який ти зберігаєш.
Імпорт зі сховища даних про здоров’я на твоєму телефоні доступний лише для читання: телефонний застосунок Wellboy зчитує лише перелічені вище типи даних і не записує дані до сховища здоров’я.
Застосунок-компаньйон Apple Watch: якщо ти встановиш необов’язковий застосунок Wellboy для годинника та запишеш за його допомогою тренування, годинник вимірює заняття через HealthKit і, з наданими тобою на годиннику дозволами HealthKit, зберігає тренування з пульсом та активною енергією в Apple Health, щоб тренування зараховувалося до твоїх кілець активності. Це записування відбувається у твоєму власному сховищі здоров’я на твоїх власних пристроях; годинник не завантажує тренування, дані про пульс або енергію на сервери Wellboy.
Ти можеш будь-коли від’єднати застосунок у налаштуваннях ОС (iOS: Settings > Health > Data Access; Android: застосунок Health Connect), а необов’язкову автоматичну синхронізацію з дозавантаженням можна вимкнути в налаштуваннях Wellboy. Дані про здоров’я ніколи не використовуються для реклами або маркетингу та ніколи не передаються третім особам для їхніх власних цілей.
3.6 Звідки ти про нас дізнався або дізналася (необов’язкове маркетингове питання)
Наприкінці початкового налаштування ми запитуємо, звідки ти дізнався або дізналася про Wellboy. Відповідати необов’язково, і ти можеш продовжити, нічого не обираючи. Якщо ти відповіси, один обраний тобою варіант (друг, Instagram, TikTok, YouTube, Facebook, магазин застосунків, подкаст або «інше») зберігається у твоєму профілі (розділ 4.2) і використовується, щоб зрозуміти, які канали приводять користувачів до Wellboy. Це маркетингові дані, а не діагностичні дані: вони не є частиною звітів про збої, описаних у розділі 3.7, на обрану тобою платформу нічого не надсилається, дані не використовуються для реклами або відстеження та видаляються разом із твоїм обліковим записом.
3.7 Звіти про збої та помилки (необов’язково, за замовчуванням вимкнено)
Щоб знаходити й виправляти збої та приховані помилки, застосунок містить Firebase Crashlytics (Google). Звіти про збої за замовчуванням вимкнені та вмикаються лише якщо ти активуєш їх на сторінці початкового налаштування, де про них запитують, або пізніше в Налаштуваннях. Їх ніколи не вибирають заздалегідь і ніколи не вмикають як побічний ефект будь-чого іншого. Поки функцію вимкнено, для цієї мети нічого не збирається і не надсилається.
Якщо ти ввімкнеш цю функцію, Wellboy надсилає до Google Crashlytics:
- звіти про збої та звіти про нефатальні помилки (помилки, які застосунок перехопив і після яких продовжив роботу, наприклад невдала спроба синхронізації або невдалий виклик сервера), разом із технічним трасуванням помилки;
- модель пристрою, версію операційної системи, версію застосунку та технічний стан пристрою на момент звіту (наприклад, доступну пам’ять);
- ідентифікатор установлення Crashlytics: випадковий ID установлення застосунку, який використовується для підрахунку кількості пристроїв, яких стосується проблема. Ми не встановлюємо жодного ідентифікатора, який пов’язував би звіт із твоїм обліковим записом Wellboy;
- часові позначки;
- невеликий набір технічних значень контексту для нефатальних помилок: підсистему застосунку, яка повідомила про помилку, технічні коди причин, коди помилок і статуси HTTP, а також невеликі лічильники. Дозволені ключі контексту утворюють фіксований технічний список дозволених ключів, дотримання якого забезпечується кодом застосунку.
Звіти про збої та помилки ніколи не містять твого вмісту або даних про здоров’я: ні тренувань, ні прийомів їжі, ні ваги чи параметрів тіла, ні фотографій, ні імен, ні адрес електронної пошти, ні повідомлень чату з тренером.
Дані про збої обробляються Google у Сполучених Штатах (Crashlytics не пропонує вибору місця розташування даних). Це навмисний, задокументований виняток із описаного в розділі 4.2 зберігання в ЄС і одна з причин, чому функція є необов’язковою. Передача ґрунтується на сертифікації Google LLC відповідно до Рамкової програми захисту даних ЄС–США, а резервною гарантією є Стандартні договірні положення ЄС (розділ 9).
Звіти про збої та їхні ідентифікатори зберігаються 90 днів, після чого автоматично видаляються. Crashlytics не підтримує видалення для окремого користувача: уже надіслані звіти не можна згодом вибірково видалити, тому вимкнення звітів або видалення твого облікового запису Wellboy не видаляє заднім числом уже надіслані звіти; вони видаляються після завершення 90-денного строку. Оскільки ідентифікатор, пов’язаний з обліковим записом, не встановлюється, звіти також неможливо знайти за користувачем.
Правовою підставою цієї обробки є твоя згода (розділ 12). Ти можеш відкликати її будь-коли, вимкнувши звіти про збої в Налаштуваннях; зміна повністю набирає чинності під час наступного запуску застосунку.
3.8 Push-сповіщення та push-токен
Сповіщення у Wellboy надходять із двох різних джерел, і ця відмінність має значення:
- Нагадування створюються на твоєму пристрої. Нагадування про тренування, об’єднане вечірнє нагадування про відмітку дня та кредити, ранковий дайджест і нагадування про питний режим плануються застосунком локально на основі даних, які вже є на твоєму телефоні. Вони ніколи не залишають пристрій, і сервер не бере участі в їхньому надсиланні.
- Лише два види повідомлень надходять із серверів Wellboy через Google Firebase Cloud Messaging (FCM): необов’язкові цінові сповіщення про покупку доступу назавжди (попередження, коли поточний ціновий рівень майже заповнено, і повідомлення в останню годину перед його закриттям), які показуються лише якщо сповіщення дозволені для застосунку; та невидимий сигнал фонового оновлення, що дає застосунку вказівку отримати свіжі дані з твого облікового запису (наприклад, одразу після того, як наш сервер нарахував тобі бали досвіду). Сигнал оновлення нічого тобі не показує і не містить вмісту, а лише вказівку оновити дані.
Цінові сповіщення надсилаються до анонімної теми для кожної валюти (наприклад, “price_eur” для всіх, у кого ціни в магазині зазначені в євро), а не особисто тобі: сервер не обирає отримувачів за обліковими записами.
Для маршрутизації цих повідомлень на твоєму пристрої зберігається реєстраційний токен FCM: адреса маршрутизації push-сповіщень, видана Google Firebase Cloud Messaging. Він ідентифікує установлення застосунку для доставки повідомлень; це не ідентифікатор твого облікового запису, і він не містить персональних даних. Застосунок зберігає поточний токен кожного пристрою у твоїх даних облікового запису (users/{uid}/pushTokens), разом із платформою (“ios” або “android”) і часовими позначками створення/оновлення, та використовує його виключно для доставки описаних вище повідомлень: ніколи для реклами, профілювання або відстеження між застосунками.
Життєвий цикл токена: операційна система та Firebase SDK час від часу оновлюють токен, після чого застосунок замінює збережений токен. Вихід із облікового запису видаляє токен пристрою з твого облікового запису в межах можливого; якщо Google повідомляє, що токен більше недійсний, наш сервер автоматично видаляє його; а записи токена видаляються разом з усім іншим у твоєму обліковому записі, коли ти видаляєш його (розділ 10.3). Токен створюється для сигналу фонового оновлення навіть якщо ти відхилиш дозвіл на сповіщення (сигнал оновлення нічого не показує, тому операційна система не вимагає для нього дозволу); відхилення дозволу означає, що тобі ніколи не показується видиме сповіщення. Самі push-повідомлення ніколи не містять твого вмісту або даних про здоров’я.
4. Де зберігаються твої дані
4.1 На твоєму пристрої
Локальна база даних є робочою копією всього вмісту, тому основне відстеження працює офлайн; для онлайн-функцій (синхронізації, ШІ, покупок, поширення та пошуку товарів онлайн) потрібне підключення. Файли зображень (аватар, фотографії рецептів, фотографії страв, зроблені під час сканування, фотографії прогресу) зберігаються в приватному сховищі застосунку на пристрої.
4.2 У нашій хмарі (синхронізовані колекції)
Коли пристрій підключено до мережі, застосунок синхронізує наведений нижче вміст із Cloud Firestore (регіон europe-north1, Фінляндія), де Google діє як наш обробник. Дані кожного користувача зберігаються під його власним приватним ідентифікатором облікового запису:
| Синхронізований вміст | Примітки |
|---|---|
| Шаблони тренувань | Твої власні збережені тренування |
| Завершені тренувальні заняття | Підходи, ваги, повторення, час |
| Заплановані тренування | Записи календаря |
| Програми тренувань | Стан програми та прогрес |
| Записи про прийоми їжі | Продукти, порції, значення харчової цінності |
| Записи про споживання води | Обсяги напоїв |
| Підтвердження щоденних відміток | Підсумки дня, зокрема загальна кількість води |
| Цілі щодо харчування | Цільові показники енергії та макронутрієнтів |
| Цілі користувача | Основні цілі, цільова вага, цільова кількість тренувань на тиждень, рівень повсякденної активності |
| Записи про сон | Одна оцінка якості на день |
| Рецепти | Вміст твоєї кулінарної книги |
| Нарахування XP | Історія балів досвіду |
| Записи про кредити | Журнал отримання та витрачання віртуальних кредитів |
| Списання в магазині | Чеки за списання віртуальних кредитів |
| Результати викликів | Наприклад, бали за виклик із віджимань |
| Параметри тіла | Вага та інші показники, зокрема імпортовані із застосунків здоров’я |
| Фотографії прогресу | Запис про фото та саме стиснене зображення |
| Записи про поширення | Метадані твоїх кодів поширення |
| Стан серій | Щоденні лічильники серій |
| Зображення користувача | Аватар, фотографії рецептів і прогресу як стиснені зображення |
| Профіль | Ім’я, стать, дата народження, необов’язкова відповідь «звідки ти про нас дізнався або дізналася» |
Примітки щодо зображень:
- Фотографії аватара, рецептів і прогресу синхронізуються як невеликі стиснені блоки даних зображень, щоб вони були доступні на новому пристрої. Видалення будь-якої з них також стирає байти зображення із сервера.
- Фотографії страв, зроблені під час сканування, не синхронізуються: вони зберігаються лише на твоєму пристрої як мініатюри страв. Запис про прийом їжі синхронізує шлях до файлу фотографії як фрагмент текстових метаданих, але байти зображення ніколи не завантажуються.
Крім синхронізованого вмісту, наш сервер зберігає під твоїм обліковим записом невеликі операційні записи: записи запитів ШІ (розділ 5.5), звернення до служби підтримки (розділ 8), статус членства Pro (розділ 6) і токени маршрутизації push-сповіщень твоїх пристроїв (розділ 3.8).
4.3 Ніколи не синхронізується (лише на пристрої)
Історія чату з тренером, списки покупок, щоденні підрахунки кроків і активна енергія, стан виклику щодо споживання води, налаштування застосунку, крім профілю (зокрема поля країни/міста та шлях до фотографії профілю), фотографії страв, зроблені під час сканування, та незавершені чернетки прийомів їжі залишаються на твоєму пристрої й не завантажуються.
4.4 Контроль доступу
Доступ до нашої бази даних контролюється правилами безпеки, що за замовчуванням забороняють доступ: лише запити, автентифіковані твоїм обліковим записом, можуть читати або записувати твій синхронізований вміст, а серверні записи, описані в цій політиці (наприклад, події покупок і загальнодоступні знімки поширення), можна читати лише в межах, описаних у відповідних розділах. Правила перебувають під контролем версій і змінюються лише шляхом явного розгортання.
5. Функції ШІ (OpenAI)
Усі запити до ШІ проходять через власний сервер Wellboy (функція Google Cloud у ЄС), де ключ API ШІ зберігається як секрет сервера; сервер перевіряє ліміти використання твого плану та пересилає для обробки до OpenAI лише потрібні вхідні дані. Оскільки запит до OpenAI надсилає наш сервер, OpenAI отримує мережеву адресу сервера, а не твою IP-адресу, і Wellboy не додає до запиту ідентифікатор твого облікового запису (текст, який ти вводиш сам або сама, надсилається як є, тому не вводь ідентифікатори, які не хочеш надсилати). Запити надсилаються з вимкненим зберіганням стану застосунку OpenAI (“store: false”), і наш сервер забезпечує це для кожного запиту; OpenAI може зберігати журнали API для моніторингу зловживань відповідно до власних умов (зазвичай до 30 днів). Ні Wellboy, ні OpenAI не використовують твої вхідні дані для навчання моделей ШІ.
5.1 Сканування фотографії страви
Коли ти скануєш страву, фотографія зазвичай обрізається до центрованого квадрата та зменшується на твоєму пристрої (приблизно 768 пікселів); якщо ця обробка не вдається, натомість надсилається оригінальна фотографія. Зображення надсилається разом із необов’язковими назвою та примітками, введеними тобою, щоб оцінити харчову цінність. Оцінка зберігається у твоєму журналі прийомів їжі. Сама фотографія зберігається лише на твоєму пристрої як мініатюра картки страви; Wellboy не завантажує її до сховища, контрольованого Wellboy.
5.2 Чат із тренером
Повідомлення, які ти вводиш для тренера зі ШІ, надсилаються на обробку разом з останніми кількома повідомленнями розмови. Тренер може запитувати дані застосунку, але дані передаються лише після того, як ти явно схвалиш конкретну картку запиту в чаті. Після схвалення на твоєму пристрої створюється стислий текстовий підсумок (нещодавні тренування, харчування за підтверджені дні, сон, параметри тіла або серія) і надсилається; із пристрою надсилається саме текст підсумку, який показується та зберігається в чаті, а не необроблена база даних. Історія чату зберігається лише на твоєму пристрої і не завантажується як розмова; однак відповідь тренера на кожне повідомлення, за яке списано кредит, зберігається в описаному в розділі 5.5 записі запиту ШІ на сервері.
5.3 Створення тренування
Якщо ти користуєшся створенням тренування за допомогою ШІ, твій список обладнання, рівень досвіду та вибрані тобою параметри генератора (час, місце, фокус, необов’язкові побажання у вільній формі) надсилаються для формування пропозиції тренування.
5.4 Ліміти використання та списання
Дії ШІ споживають віртуальні кредити в застосунку на безкоштовному плані та підпадають під денні й місячні ліміти на обох планах як захід проти зловживань (ліміти добросовісного використання Pro опубліковані в Умовах використання, а застосунок показує кількість доступних тобі використань). Списання та повернення кредитів записуються в журналі кредитів у твоєму обліковому записі.
5.5 Записи запитів ШІ на нашому сервері
Щоб правильно списувати кредити, наш сервер зберігає у твоєму обліковому записі невеликий запис запиту ШІ для кожної дії ШІ, за яку списано кредит: використану функцію ШІ, статус, вартість, часові позначки та результат ШІ (наприклад, створене тренування, оцінку під час сканування або відповідь тренера). Текст твоїх запитів і фотографії ніколи не зберігаються в цих записах. Журнали застосунку Wellboy щодо ШІ спроєктовані так, щоб не містити твоїх запитів, фотографій і результатів; вони містять ідентифікатори (ідентифікатори облікового запису та запиту), статус, затримку та кількість токенів. Записи запитів видаляються разом із твоїм обліковим записом.
6. Покупки (Wellboy Pro)
- Оплата Wellboy Pro (підписок і покупок довічного доступу) обробляється App Store від Apple або Google Play відповідно до їхніх власних умов. Ми ніколи не отримуємо даних твоєї картки чи банківських реквізитів.
- Ми використовуємо RevenueCat, Inc. (США) як обробника для керування покупками. RevenueCat отримує випадковий ідентифікатор твого облікового запису Wellboy, чек/токен покупки з магазину та історію покупок у цьому застосунку, а також базові технічні дані, які збирає його SDK (модель і тип пристрою, версію ОС, версію застосунку та часові позначки останньої активності), і повідомляє нам, яке членство є активним. Якщо ти використав або використала код автора, цей код додається до покупки. Ми не надсилаємо RevenueCat твоє ім’я, електронну адресу чи вміст.
- Наш сервер отримує через RevenueCat події покупок (продукт, ціна, валюта, час, ідентифікатор облікового запису) та зберігає у твоєму обліковому записі статус членства, а також журнал подій, який використовується для бухгалтерського обліку, запобігання шахрайству й атрибуції продажів за кодами авторів. Автори не мають прямого доступу до цих записів; будь-які звіти про продажі, які ми надаємо авторам, не містять ідентифікаторів облікових записів і містять лише сукупні показники.
- Самі магазини застосунків також зберігають історію твоїх покупок відповідно до власних політик конфіденційності (Apple і Google діють як незалежні контролери платіжної операції).
7. Обробка, що переважно залишається на твоєму пристрої
- Виклик із віджимань: кадри з камери аналізуються на пристрої за допомогою ML Kit для розпізнавання поз. Відео та кадри нікуди не передаються; сама бібліотека ML Kit передає Google технічну телеметрію (розділ 3.4), але ніколи не передає твої зображення чи результати розпізнавання поз. Необов’язковий запис екрана зберігається лише у твоїй фототеці.
- Сканування штрихкоду: розпізнавання виконується на пристрої; назовні надсилаються лише цифри штрихкоду, переважно до нашого власного сервісу-дзеркала товарів (food.wellboy.net), а Open Food Facts (і USDA FoodData Central для користувачів на ринку США) використовуються як резервні варіанти, якщо дзеркало не має придатного товару. Кешовані результати надаються без мережевого запиту.
- Текстовий пошук продуктів: загальна база даних продуктів (на основі відкритих даних Fineli та USDA) вбудована в застосунок, тому пошук продуктів повністю виконується на пристрої та нічого не передає.
- Щоденні кроки: кількість кроків, зчитана зі сховища здоров’я, показується та оцінюється для викликів на пристрої й залишається там.
8. Поширення, програма запрошення друзів і підтримка
8.1 Коди поширення
Створення коду поширення публікує незмінний знімок вибраного вмісту (рецепту, тренування, сеансу відновлення або програми, включно зі стисненими зображеннями) під випадковим кодом у загальнодоступній частині нашої бази даних. Будь-хто, хто має код, може переглядати та імпортувати цей знімок. Знімки не оновлюються, коли згодом ти редагуєш оригінал.
Коли хтось використовує твій код, ми записуємо ідентифікатор облікового запису цієї особи та час, щоб можна було підраховувати окремі активації. Ти бачиш кількість, а не особи.
Ти можеш деактивувати (і повторно активувати) свої коди будь-коли в меню Налаштування > Мої коди поширення. Деактивовані коди більше не можна переглядати або активувати.
8.2 Поширення та видалення облікового запису
Видалення твого облікового запису також назавжди видаляє загальнодоступні знімки поширення, які ти опублікував або опублікувала (знімок, його зображення та записи про активації), як частину каскаду видалення, описаного в розділі 10.3. Вміст, який інші користувачі вже імпортували з твоїх кодів, залишається в їхніх облікових записах (під час імпорту він став їхньою копією).
8.3 Програма запрошення друзів
Якщо ти створюєш код для запрошення друга або вводиш такий код, ми зберігаємо цей код, ідентифікатори облікових записів користувача, який запросив друга, і запрошеного користувача, а також статус винагороди, щоб винагороду за запрошення друга можна було одноразово надати кожній зі сторін. Коди для запрошення друзів є ідентифікаторами, якими діляться за власним вибором, а не секретами. Записи програми запрошення друзів видаляються в межах каскаду видалення облікового запису.
8.4 Запити до служби підтримки (Зв’язатися з нами)
Коли ти надсилаєш повідомлення через Налаштування > Зв’язатися з нами, ми зберігаємо звернення у твоєму обліковому записі і пересилаємо його електронною поштою на нашу адресу підтримки; копія в нашій черзі надсилання видаляється через 30 днів. Звернення містить твоє повідомлення, необов’язкову контактну електронну адресу та, для запитів щодо вправ, необов’язкове надане тобою посилання на відео-приклад, а також діагностичні дані, обсяг яких залежить від типу запиту: запити щодо функцій і вправ містять стислий набір (версія застосунку, тип збірки, платформа та версія ОС, мова застосунку), тоді як звіти про помилки та запити про допомогу також містять модель пристрою, часовий пояс пристрою, регіон і мовні налаштування (локаль), одиниці вимірювання й тему, налаштування сповіщень і синхронізації даних про здоров’я, ідентифікатор твого облікового запису, тип постачальника входу, електронну адресу облікового запису, статуси Pro, рівня та кредитів, статус синхронізації та лічильники (лише числові значення, а не вміст) основних типів твоїх даних. До звітів про помилки додатково додається до 12 усічених однорядкових повідомлень про помилки з поточного сеансу застосунку. Надсилання обмежене за частотою для запобігання зловживанням. Якщо звернення неможливо надіслати, застосунок натомість пропонує попередньо заповнений лист на адресу [email protected]; після цього лист надсилається поза застосунком.
8.5 Системне меню поширення
Вміст, який ти надсилаєш через меню поширення операційної системи (наприклад, експорт даних або код поширення), передається до вибраного тобою застосунку й не контролюється нами.
9. Сторонні служби
| Служба | Роль | Що вона отримує |
|---|---|---|
| Google Firebase (Authentication, Cloud Firestore, Cloud Functions, App Check, Cloud Messaging) | Обробник / постачальник послуг | Ідентифікатори облікових записів, синхронізований вміст (розділ 4.2), push-токени та push-повідомлення, що маршрутизуються через них (розділ 3.8), технічні дані запитів |
| Google Firebase Crashlytics | Звітування про збої та помилки (лише якщо ти це ввімкнеш) | Звіти про збої та помилки з технічними даними про пристрій/застосунок (розділ 3.7); обробляються у Сполучених Штатах |
| OpenAI API | Обробка ШІ (через наш сервер) | Вхідні дані ШІ, описані в розділі 5; без IP-адреси та ідентифікатора облікового запису |
| Apple App Store / Google Play | Обробка платежів (незалежні контролери) | Дані про покупки та платежі відповідно до їхніх власних умов |
| RevenueCat, Inc. | Обробник для керування покупками | Випадковий ідентифікатор облікового запису, чеки з магазину, історія покупок, основні дані про пристрій (модель, версія ОС, версія застосунку, час останньої активності), необов’язковий код автора |
| Sign in with Apple | Постачальник входу | Стандартні дані обміну під час входу |
| Google Sign-In | Постачальник входу | Стандартні дані обміну під час входу |
| Wellboy food mirror (food.wellboy.net, Cloudflare Workers + KV) | Основний пошук товарів, який ми здійснюємо | Цифри штрихкодів відсканованих товарів |
| Open Food Facts | Незалежна база даних продуктів (резервний варіант, якщо наше дзеркало не має придатного товару) | Цифри штрихкодів відсканованих товарів |
| USDA FoodData Central | Харчова база даних уряду США (резервний варіант для користувачів на ринку США) | Цифри штрихкодів відсканованих товарів |
| Wellboy CDN (cdn.wellboy.net, на базі Cloudflare R2) | Доставка вмісту | Стандартні журнали вебзапитів під час потокового відтворення демонстраційних відеофрагментів |
| ML Kit pose detection (Google) | Бібліотека обробки на пристрої | Кадри з камери та результати розпізнавання поз залишаються на пристрої; бібліотека передає Google технічну телеметрію пристрою та застосунку |
Міжнародні передачі: контролер має місцезнаходження в ЄС, а твій синхронізований вміст зберігається в ЄС (europe-north1). Деякі з наших обробників базуються у США (OpenAI для функцій ШІ; RevenueCat для керування покупками; Cloudflare для дзеркала товарів і медіа-CDN), а Google може обробляти обмежені технічні дані в інших місцях відповідно до умов обробки даних Google Cloud. Якщо ти ввімкнеш звітування про збої (розділ 3.7), дані про збої оброблятимуться Google у Сполучених Штатах; ця передача ґрунтується на сертифікації Google LLC відповідно до Рамкової програми захисту даних ЄС–США, а резервною гарантією є Стандартні договірні положення ЄС. Доставка push-повідомлень (розділ 3.8) здійснюється на глобальній інфраструктурі Google Firebase Cloud Messaging, тому push-токени й дані маршрутизації повідомлень можуть оброблятися за межами ЄС відповідно до тих самих умов обробки даних Google Cloud. Ці передачі ґрунтуються на умовах обробки даних постачальників, Стандартних договірних положеннях ЄС та, де це застосовно, Рамковій програмі захисту даних ЄС–США. Ти можеш запросити копію гарантій, що використовуються для цих передач (наприклад, відповідних Стандартних договірних положень), звернувшись на [email protected].
10. Зберігання, видалення, експорт
10.1 Видалення вмісту
Твій вміст зберігається, доки ти не видалиш його або не видалиш свій обліковий запис. Коли ти видаляєш окремий елемент, зберігається мінімальна позначка видалення (без вмісту), щоб усі твої пристрої узгодили стан видалення; позначки видаляються разом із твоїм обліковим записом. Байти видалених зображень також стираються із сервера.
10.2 Вихід із облікового запису
Вихід із облікового запису стирає дані застосунку на цьому пристрої, повертаючи його до заводського стану. Синхронізовані дані залишаються у твоєму хмарному обліковому записі та повертаються, коли ти знову входиш. В анонімні облікові записи неможливо знову ввійти: якщо ти користуєшся Wellboy без реєстрації та вийдеш із системи або втратиш пристрій, доступ до цих даних буде назавжди втрачено.
10.3 Видалення облікового запису
Налаштування > Обліковий запис > Видалити обліковий запис назавжди видаляє опубліковані тобою знімки поширення, твої записи програми запрошення друзів і все, що зберігається під твоїм обліковим записом (усі синхронізовані колекції з розділу 4.2, записи запитів ШІ, звернення до служби підтримки, статус членства, push-токени), видаляє твій запис автентифікації та стирає локальну копію на пристрої. Цю дію неможливо скасувати. Технічний запис завдання на видалення (ідентифікатор твого облікового запису та часові позначки прогресу, без вмісту) зберігається протягом 7 днів після завершення, щоб переконатися, що видалення завершено, а потім автоматично видаляється. Записи про покупки, які зберігають Apple, Google і RevenueCat, а також наші записи про події покупок і продажі авторів (розділ 6), зберігаються після видалення облікового запису відповідно до відповідних політик і передбачених законом обов’язків щодо зберігання (бухгалтерський облік і запобігання шахрайству). Звіти про збої та помилки, уже надіслані до Crashlytics (розділ 3.7), не можна вибірково стерти, і вони не пов’язані з твоїм обліковим записом; вони автоматично видаляються після завершення 90-денного строку зберігання.
10.4 Експорт
На сторінці облікового запису є дія Експортувати дані, яка створює ZIP-файл, що містить твої дані у форматі JSON (усі синхронізовані дані та налаштування застосунку), а також доступні файли зображень, що належать застосунку (аватар, фотографії рецептів, фотографії прогресу та фотографії страв, збережені у власному сховищі застосунку), і відкриває системне меню поширення, щоб ти міг або могла зберегти його там, де хочеш.
Експорт не включає дані, які зберігаються лише на пристрої й ніколи не синхронізуються: історію чату з тренером, списки покупок, щоденні підрахунки кроків і активну енергію, стан виклику щодо споживання води та незавершені чернетки. Він також не включає операційні записи на сервері, описані в цій політиці (записи запитів ШІ, звернення до служби підтримки, події покупок, push-токени); надіслані тобою звернення до служби підтримки є хмарними записами, які видаляються разом із твоїм обліковим записом.
11. Твої права
Оскільки контролер має місцезнаходження у Фінляндії, GDPR застосовується до нашої обробки незалежно від того, де ти живеш, а законодавство твоєї країни може також надавати тобі додаткові права. Ти маєш право:
- отримувати доступ до своїх даних (експорт у застосунку охоплює синхронізований вміст),
- виправляти їх (більшість введеного тобою вмісту можна редагувати в застосунку; щодо записів, які ти не можеш редагувати сам або сама, наприклад рядків журналу, звертайся на [email protected]),
- видаляти їх (видаляти окремі елементи або весь обліковий запис у застосунку),
- перенесення даних (експорт у форматі ZIP/JSON),
- заперечувати проти обробки, що ґрунтується на наших законних інтересах (розділ 12), з огляду на обставини твоєї конкретної ситуації, а також обмежувати обробку у випадках, передбачених GDPR,
- відкликати згоду, якщо обробка ґрунтується на згоді (наприклад, обмін даними з тренером схвалюється для кожного запиту; звітування про збої вимикається в Налаштуваннях, розділ 3.7; доступ до застосунків здоров’я, камери, фотографій, сповіщень і місцезнаходження можна змінити в налаштуваннях ОС). Відкликання згоди не впливає на законність обробки, здійсненої до цього. Від’єднання застосунку здоров’я припиняє подальший імпорт; дані, які вже імпортовано, залишаються у твоєму обліковому записі, доки ти не видалиш їх,
- подати скаргу до наглядового органу. Нашим провідним наглядовим органом є Офіс Уповноваженого із захисту даних у Фінляндії (tietosuoja.fi), оскільки контролер має місцезнаходження у Фінляндії; ти також можеш подати скаргу до органу у своїй країні проживання.
Щоб скористатися будь-яким правом, для якого вбудованих інструментів застосунку недостатньо, звертайся на [email protected].
12. Правові підстави (GDPR)
| Обробка | Правова підстава |
|---|---|
| Створення облікового запису та автентифікація | Виконання договору (надання послуги) |
| Надання послуги (локальне та синхронізоване відстеження) | Виконання договору; явна згода на обробку даних про здоров’я |
| Імпорт із застосунків здоров’я | Явна згода, виражена через процедуру надання дозволу ОС на доступ до даних про здоров’я |
| Функції ШІ (сканування фотографій, чат із тренером, генерування) | Згода, надана для кожного використання під час запуску дії; явна згода на вхідні дані, пов’язані зі здоров’ям |
| Обмін даними з тренером | Явна згода для кожної картки запиту |
| Коди поширення, програма запрошення друзів і запити до служби підтримки | Виконання договору (функції, які ти використовуєш) |
| Пошук товарів за штрихкодом і доставка медіа | Виконання договору (функції, які ти використовуєш) |
| Необов’язкове приблизне місцезнаходження (регіональний вміст) | Згода через дозвіл ОС або самостійно введені тобою дані |
| Звіти про збої та помилки (Crashlytics, розділ 3.7) | Згода (перемикач увімкнення за згодою, за замовчуванням вимкнений; відкликати в Налаштуваннях) |
| Необов’язкове маркетингове питання (звідки ти про нас дізнався або дізналася, розділ 3.6) | Згода (відповідь добровільна) |
| Цінові сповіщення (push, розділ 3.8) | Згода через дозвіл ОС на сповіщення |
| Сигнал фонового оновлення (тихий push, розділ 3.8) | Виконання договору (підтримання синхронізації твоїх пристроїв і облікового запису) |
| Покупки та керування членством | Виконання договору; юридичний обов’язок (бухгалтерський облік); законні інтереси (запобігання шахрайству та атрибуція продажів авторів) |
| Безпека та протидія зловживанням (атестація, правила, обмеження) | Законні інтереси |
| Необов’язкові дозволи (камера, фотографії, сповіщення) | Згода через дозвіл ОС |
Твоя дата народження потрібна для перевірки мінімального віку під час налаштування застосунку, а для покупки потрібні дані, які збирає форма оформлення замовлення магазину; без них не можна завершити реєстрацію або покупку. Усе інше, що ти додаєш, є добровільним: функції просто працюють без даних, які ти не надаєш.
13. Безпека
Дані шифруються під час передачі (TLS) і під час зберігання (шифрування під керуванням Google). Доступ обмежений правилами безпеки для кожного користувача, які за замовчуванням забороняють доступ. Більшість інтерфейсу застосунку читає локальну копію твоїх даних (ціни та статус членства на екрані оплати читаються із сервера); в інших випадках хмара є лише ціллю синхронізації, що мінімізує шляхи розкриття даних. Баланс віртуальних кредитів і XP визначається на сервері. Наші журнали застосунку щодо ШІ спроєктовані так, щоб не містити твоїх запитів, фотографій і результатів (розділ 5.5); інші журнали сервера можуть містити ідентифікатори та технічні відомості про запити й використовуються для операційної діяльності та запобігання зловживанням. Ми не додаємо стороннього рекламного коду та не використовуємо сторонню аналітику продукту (компоненти SDK Google передають обмежену технічну телеметрію, розділ 3.4). Звітування про збої та помилки є необов’язковим і за замовчуванням вимкнене (розділ 3.7).
14. Діти
Wellboy призначено для користувачів віком від 13 років, а також старшого віку, якщо національний вік цифрової згоди вищий (від 13 до 16 років у ЄС/ЄЕЗ; наприклад, 13 років у Фінляндії та 16 років у Німеччині, Ірландії й Нідерландах). Застосунок запитує твою дату народження й не приймає дату, що означає вік нижче мінімального віку, чинного за місцем твого проживання, під час початкового налаштування, у Налаштуваннях і в одноразовому запиті для облікових записів, створених до появи вікового обмеження. Можливості отримати згоду батьків немає: якщо твій вік нижчий за місцевий мінімум, ти не можеш користуватися застосунком, тому ми свідомо не збираємо дані дітей, молодших за цей вік.
Фотографії прогресу призначені для користувачів віком від 18 років. Якщо тобі менше 18 років, функція фотографій прогресу тобі не пропонується, і жодна фотографія прогресу не зберігається на твоєму пристрої, не синхронізується з твоїм обліковим записом і нікуди не завантажується. Усі інші функції працюють у звичайному режимі.
15. Зміни до цієї політики
Ми публікуватимемо всі оновлення на https://wellboy.app/privacy і повідомлятимемо про істотні зміни в застосунку до того, як вони набудуть чинності.
16. Мова
Ми складаємо та підтримуємо цю політику англійською мовою; переклади створюються з англійського тексту для зручності. Якщо переклад і англійський текст відрізняються, англійський текст є версією, яку ми підтримуємо і з якою звіряємо правильність перекладів, а ми прагнемо, щоб кожна опублікована мовна версія залишалася точною в суттєвих аспектах.
17. Контакти
Pankka Group Oy Sukkulatie 10, 87700 Kajaani, Фінляндія Ідентифікатор підприємства 3397011-8 [email protected]