Політика конфіденційності
Редакція від 2026-10-12 · застосунок «Smakora», версія 0.3.0
1. Хто відповідає за дані
Володільцем і розпорядником персональних даних (контролером у розумінні GDPR) є ФОП Яковенко Дмитро Олександрович (далі — Адміністратор), який надає застосунок «Smakora» (далі — Застосунок) з безкоштовним тарифом і платними підписками. Повні реквізити — на сторінці «Реквізити продавця». Зв'язатися можна через форму зворотного зв'язку або листом на [email protected] — це ж адреса для запитів щодо персональних даних.
Обробка відбувається відповідно до Закону України «Про захист персональних даних», а для користувачів з ЄС/ЄЕЗ — також відповідно до Загального регламенту про захист даних (GDPR); для них діє окремий розділ 9 нижче. Реєструючись — через форму (галочка згоди) або через вхід Google чи Apple (текст згоди під кнопками входу) — ти приймаєш цю Політику; згода як окрема правова підстава береться там, де вона потрібна (дані харчування, пуші).
2. Які дані ми збираємо
- Акаунт: адреса електронної пошти, пароль (зберігається лише у вигляді незворотного хешу — ми не знаємо і не можемо дізнатися твій пароль), нікнейм, аватар, мова, тема оформлення, адреса профілю.
- Журнал входів: час, країна (напр. «Україна») і тип браузера з системою («Chrome · Windows»). IP-адресу — ні повну, ні скорочену — ми не зберігаємо взагалі. Журнал видно тобі в розділі «Безпека» й Адміністратору; потрібен, щоб ти помітив(ла) чужий вхід.
- Твій контент: рецепти, фото, комора, списки покупок, меню, групи, коментарі, скарги й повідомлення зворотного зв'язку.
- Дані харчування (за бажанням): рік народження, стать, вага, дієтичні вподобання, алергії. Ці поля необов'язкові й обробляються лише за окремою згодою в налаштуваннях, яку можна там само відкликати. Це особлива категорія даних (дані про здоров'я): вони використовуються тільки для підбору меню, попереджень про алергени та роботи призначеного тобою нутриціолога, і в цих межах передаються ШІ-постачальнику (Google, США).
- Apple Health і Health Connect (за бажанням, лише в застосунках): якщо ти вмикаєш «Оновлювати з Apple Health / Health Connect», застосунок лише читає звідти вагу, зріст, рік народження, стать і середні активні калорії за тиждень і записує їх у ті самі поля профілю — для розрахунку добової норми калорій і БЖВ. Діє та сама окрема згода на дані про здоров'я. Ми нічого не записуємо в Apple Health чи Health Connect, не використовуємо ці дані для реклами чи маркетингу і не передаємо їх третім особам для таких цілей. Вимкнути можна там само; системний доступ відкликається в налаштуваннях телефона.
- Оплати: факт, сума, валюта, план, статус і час платежу, ідентифікатор рахунку, а для магазинів — токен покупки. Дані картки ми не бачимо й не зберігаємо.
- Джерело переходу: при першому візиті ми запам'ятовуємо, звідки ти
прийшов(ла) — лише назву сайту-джерела (без адреси конкретної
сторінки) або мітки посилання, як-от
utm_source, — і зберігаємо це разом з акаунтом при реєстрації. Це знеособлена статистика на кшталт «з Telegram» чи «з пошуку»; вона не відстежує тебе між сайтами. - Технічні дані: сесійна кукі (підписана, лише для входу), збережені налаштування, дані про використання ШІ-функцій (кількість запитів і токенів — для лімітів витрат), а якщо ти увімкнув(ла) сповіщення — токен пристрою для пушів. Якщо ти під'єднав(ла) віджет або Siri, додається ще перепустка пристрою — про неї розділ 6.
Ми не використовуємо сторонні лічильники, рекламні трекери, піксельні теги чи fingerprinting.
3. Навіщо ми їх використовуємо
- надання функцій Застосунку (рецепти, комора, меню, групи);
- вхід в акаунт і його захист (коди підтвердження, журнал входів, ліміти спроб);
- оформлення й супровід підписки, повернення коштів, бухгалтерський облік платежів;
- листи з кодами підтвердження та скидання пароля — жодних рекламних розсилок;
- підбір меню й попередження про алергени — якщо ти заповнив(ла) дані харчування;
- сповіщення на пристрій — якщо ти сам(а) їх увімкнув(ла);
- захист від ботів і зловживань (Turnstile, ліміти, автоматична перевірка фото);
- знеособлена статистика, звідки приходять користувачі.
4. Кому дані передаються
Ми не продаємо і не передаємо дані третім особам для їхніх власних цілей. Для роботи Застосунку окремі операції виконують сторонні сервіси-обробники:
- Hetzner Online GmbH (Industriestr. 25, 91710 Gunzenhausen, Німеччина; дата-центр у Нюрнберзі, Німеччина, ЄС) — хостинг сервера, на якому працює Застосунок і зберігається база даних (дані акаунтів, рецепти, харчування тощо). Hetzner обробляє дані лише за нашими вказівками згідно з договором обробки даних за ст. 28 GDPR.
- Google Gemini (США) — єдиний постачальник ШІ у Застосунку: усі ШІ-функції працюють через цей один сервіс, інших моделей і жодних інших ШІ-постачальників ми не використовуємо. Передається тільки те, що ти сам(а) даєш на розбір: текст запиту, вставлений текст або транскрипт відео, зображення (фото страви, скріншот рецепта, фото чека), а при підборі меню — профіль харчування; сюди ж належить автоматична перевірка фото. Ключ працює на платному тарифі Gemini API, і за умовами Google для платних послуг («Gemini API Additional Terms of Service», редакція від 28.04.2026, розділ Paid Services → How Google Uses Your Data) Google не використовує твої запити — зокрема файли: зображення, відео чи документи — і відповіді для покращення своїх продуктів, тобто не навчає на них свої моделі, і обробляє їх як data processor за власним додатком про обробку даних. Чесно про виняток: ті самі умови кажуть, що Google протягом обмеженого часу логує запити й відповіді — виключно щоб виявляти й запобігати порушенням своєї політики допустимого використання та для обов'язкового розкриття на вимогу закону. Тобто «не навчають» не означає «не зберігають узагалі». Не вводь у ШІ-функції конфіденційну інформацію.
- Cloudflare — проксі всього трафіку, сховище зображень (R2) і захист від ботів (Turnstile). Cloudflare бачить IP-адреси всіх запитів; при перевірці на бота Turnstile окремо отримує IP і дані браузера.
- Resend — надсилання листів з кодами (бачить твою пошту).
- Sentry (Functional Software, Inc., США) — лише в нативних застосунках iOS/Android: ловить падіння самої оболонки (щоб ми могли їх полагодити), коли ти нею користуєшся. Отримує технічні дані краху (тип помилки, стек викликів, модель і версію ОС пристрою) — без email, імені, IP чи вмісту твоїх рецептів чи харчування: автоматичний збір IP і подібних ідентифікаторів вимкнено окремим налаштуванням. Працює лише якщо оболонка впала; звичайне користування застосунком нічого туди не шле.
- Google / Apple (вхід) — лише якщо ти входиш через Google або Apple: ми отримуємо від них пошту та ім'я; їм передається факт входу. На сторінках входу й реєстрації підключається Google Identity Services — при завантаженні скрипта Google бачить IP і тип браузера.
- Apple (APNs) — доставка сповіщень у застосунок для iPhone: Apple отримує токен пристрою й загальний текст сповіщення без вмісту повідомлень (наприклад, «нове повідомлення від {нік}»). Тим самим каналом ідуть тихі сповіщення, яких ти не бачиш: у них немає ані тексту, ані будь-яких твоїх даних — лише команда застосунку «онови віджети» чи «покажи відлік таймера».
- Google (Firebase Cloud Messaging) — доставка сповіщень у застосунок для Android із Google Play: Google отримує реєстраційний токен пристрою й той самий загальний текст без вмісту повідомлень, що й Apple, а також ті самі тихі сповіщення без тексту — команду оновити віджети чи показати відлік таймера. Аналітика Firebase у застосунку вимкнена й не встановлена; рекламний ідентифікатор не збирається.
- Служби web-push (Google, Mozilla, Apple — залежно від браузера) — доставка сповіщень у браузер. Вміст зашифрований, служба бачить лише адресу підписки й факт доставки.
- App Store і Google Play — якщо підписка оформлена в застосунку з магазину: магазин є продавцем, обробляє оплату й передає нам токен покупки та статус підписки. Дані картки лишаються в магазині.
- monobank — якщо ти оплачуєш підписку на сайті або підтримуєш проєкт донатом: оплату обробляє банк, ми не бачимо й не зберігаємо дані картки — лише факт, суму й статус платежу. Для підписки з автопоновленням банк зберігає твою картку й видає нам токен, яким можна списати лише на нашу користь; при скасуванні підписки ми видаляємо цей токен.
- Сільпо — лише якщо ти сам(а) під'єднав(ла) свій акаунт магазину: зберігається токен доступу, а в магазин передаються позиції списку покупок і — при оформленні доставки — адреса й спосіб доставки.
- Open Food Facts, USDA, Zakaz — довідкові запити про продукти за штрихкодом чи назвою; персональні дані туди не передаються.
- YouTube і Vimeo — плеєр вантажиться лише після твого кліку по відео в рецепті. З цього моменту Google або Vimeo отримують твій IP, тип браузера й можуть ставити власні куки за своїми політиками.
- GitHub — якщо ти надсилаєш повідомлення про помилку чи пропозицію, твій нікнейм, номер акаунта, текст і доданий скріншот потрапляють у приватний трекер проєкту.
- Telegram — службові сповіщення Адміністратору (скарги, збої, події оплат). Туди передаються нікнейм, номер акаунта й текст повідомлення чи скарги — і більше нічого: фото й скріншоти в Telegram не передаються, Адміністратор дивиться їх лише в адмін-панелі. Пошта потрапляє в сповіщення тільки тоді, коли ти сам(а) вписав(ла) її в публічну форму зворотного зв'язку, щоб отримати відповідь.
- Home Assistant — лише якщо ти сам(а) підключив(ла) свій вебхук.
Ці сервіси працюють за власними політиками конфіденційності; частина з них зберігає дані за межами України та ЄС (насамперед у США) — про підстави передачі див. розділ 9.
5. Куки, локальне сховище й захист від ботів
Ми використовуємо лише строго необхідні та функційні куки — рекламних і аналітичних немає жодної, тож приймати чи відхиляти нічого: при першому візиті Застосунок показує коротке інформаційне повідомлення про це (не банер згоди — вибору «прийняти» чи «відхилити» там нема, лише «Гаразд»):
session— підписана сесійна кукі: тримає вхід в акаунт. Строк — 14 днів, прапорціHttpOnly,Secure,SameSite=Lax. Строго необхідна.google_native— позначка про те, що вхід через Google почався з нативної оболонки застосунку; живе 10 хвилин, рівно стільки, скільки триває сам вхід.apple_state— одноразовий стан входу через Apple (захист від підробки запиту при поверненні з Apple). Живе 10 хвилин.tz— часовий пояс браузера, щоб дати й час у застосунку збігалися з твоїми. Строк — 1 рік. Функційна.locale_checked— позначка, що мову інтерфейсу вже визначено й не треба питати вдруге. Строк — 1 рік. Функційна.smk_src— мітка джерела першого переходу (назва каналу з посилання, як-отutm_source, і назва кампанії), щоб знати, звідки нас знаходять. Строк — 30 днів, перезапису немає,HttpOnly. Ні IP, ні адреси конкретних сторінок, ні профілю користувача; між сайтами тебе вона не відстежує.
У локальному сховищі браузера (localStorage) зберігається лише стан інтерфейсу: чернетки форм, згорнуті секції, обраний вигляд списків, кеш офлайн-режиму. Ці дані не залишають твій пристрій і нам не надсилаються.
Cloudflare Turnstile перевіряє на ботів форми реєстрації та публічного зворотного зв'язку. При перевірці Cloudflare отримує твій IP і технічні дані браузера. Це захист від зловживань, а не трекінг: профіль користувача з цього не будується.
6. Що застосунки зберігають на твоєму пристрої
Застосунки для iPhone і Android — це не тільки вікно на сайт. Щоб системний пошук, віджети й Siri працювали тоді, коли застосунок закритий (або взагалі немає мережі), частину даних вони тримають на самому пристрої. Ці копії нікуди не передаються: доступ до них має лише сам Застосунок та його віджети, і ані Apple, ані Google їхнього вмісту не отримують.
- Пошук на пристрої (Spotlight, iPhone). Застосунок кладе в системний пошук iPhone назви й короткі описи (до 120 символів) тих рецептів, які ти зібрав(ла) сам(а): своїх, рецептів груп, у яких ти учасник, збережених і тих, що лежать у Книзі рецептів. Це рівно те, що ти й так бачиш у Застосунку; фото не індексуються, чернеток і чужого приватного там немає. Перелік повністю замінюється при відкритті Застосунку — не частіше ніж раз на 6 годин, — тому рецепт, який ти видалив(ла), зняв(ла) зі збереженого або втратив(ла) разом із групою, зникає з пошуку сам; щойно доданий рецепт з'являється там одразу. Індекс очищається при виході з акаунта й зникає разом із Застосунком, якщо його видалити.
- Віджети на робочому столі (iPhone і Android). Щоб віджет малювався миттєво й без мережі, Застосунок тримає на пристрої копію даних «на сьогодні»: страви меню на день, скільки позицій у списку покупок і в коморі та кілька назв зі списку, з'їдені й цільові калорії дня, кілька продуктів із найближчим терміном придатності. На iPhone ця копія лежить у спільному сховищі Застосунку та його віджетів, на Android — у приватному сховищі Застосунку. Вона оновлюється з сервера й зникає при виході з акаунта, відкликанні пристрою або видаленні Застосунку.
- Перепустка пристрою (віджети й Siri). Віджет і Siri працюють поза вікном Застосунку, тому для них видається окрема перепустка — не пароль і не сесія. Вона вміє лише прочитати меню дня, лічильники комори й покупок і твої таймери та дописати рядок у список покупок; змінити акаунт, пароль чи оплату вона не може. Живе рік; у нас зберігається лише її незворотний хеш і те, коли нею востаннє скористались, — щоб ти відрізнив(ла) живий віджет від того, що лишився на проданому телефоні. Відкликати її можна будь-коли в Профілі, розділ «Пристрої й віджети»; разом з акаунтом вона видаляється.
7. Хто ще бачить твої дані всередині Застосунку
- Учасники твоїх груп — спільні рецепти, комору, списки й меню.
- Будь-хто — твої публічні рецепти, нікнейм, аватар і публічний профіль. Новостворений рецепт за замовчуванням приватний.
- Призначений тобою нутриціолог — дані харчування (див. Угоду, розділ 8).
- Адміністратор і модератори — у межах модерації скарг і підтримки.
8. Як довго зберігаються дані
- Дані акаунта й контент — доки існує акаунт; після видалення акаунта зникають разом з ним.
- Журнал входів — 90 днів, далі видаляється автоматично.
- Платіжні записи (факт, сума, план, статус) — 3 роки (1095 днів) після платежу, зокрема й після видалення акаунта: цього вимагає ст. 44 Податкового кодексу України. Ці записи знеособлюються настільки, наскільки це сумісне з обліком.
- Звернення в підтримку й скарги — текст лишається, але після видалення акаунта з нього стирається пошта, а зв'язок з акаунтом рветься.
- Резервні копії бази — зашифровані, робляться щогодини й видаляються за ротацією: у хмарному сховищі — щогодинні копії щонайменше за останні 7 днів і по одній на день за останні 30 днів, на сервері — лише копії за останню добу. Жодна копія не зберігається довше 30 днів, тож видалені дані зникають із копій не пізніше ніж через 30 днів.
- Службові журнали сервера — коротка хвіст-історія, яка перезаписується сама; історію відвіданих сторінок сервер не веде.
9. Для користувачів з ЄС/ЄЕЗ
Якщо ти в Європейському Союзі чи ЄЕЗ, до обробки твоїх даних застосовується GDPR. Контролер — Адміністратор (розділ 1).
Мета обробки та правова підстава:
- Акаунт, вхід, робота застосунку, підписка й оплата — ст. 6(1)(b): обробка потрібна для виконання договору з тобою (Угоди користувача).
- Зберігання платіжних записів 1095 днів — ст. 6(1)(c): виконання податкового обов'язку.
- Безпека акаунтів, журнал входів, ліміти, захист від ботів, службові алерти Адміністратору — ст. 6(1)(f): законний інтерес у тому, щоб сервіс працював і не використовувався для зловживань. Проти цієї обробки можна заперечити (див. права нижче).
- Push-сповіщення на пристрій — ст. 6(1)(a): твоя згода, яку ти даєш, вмикаючи сповіщення, і відкликаєш, вимикаючи їх.
- Дані харчування (вага, зріст, стать, алергії, дієтичні обмеження) — це особлива категорія даних у розумінні ст. 9. Підстава — ст. 9(2)(a): явна згода, яку ти даєш окремою згодою в налаштуваннях і можеш там само відкликати разом з очищенням полів. Відкликання не впливає на законність обробки до нього.
Передача даних за межі ЄС/ЄЕЗ. Сервер і база даних розташовані в ЄС (Hetzner, Німеччина). Частина інших обробників розташована у США: Google (Gemini, вхід, web push, Google Play), Cloudflare, Apple (вхід, APNs, App Store), Resend, Sentry (лише крашрепорти нативних застосунків). Передача відбувається на підставі стандартних договірних положень Європейської Комісії та/або участі відповідного постачальника в EU–US Data Privacy Framework. Ключ Google Gemini працює на платному тарифі — за умовами Google для платних послуг запити й відповіді не використовуються для навчання моделей і обробляються Google як процесором; обмежене логування для виявлення зловживань зберігається — подробиці в розділі 4.
Твої права за GDPR: доступ (ст. 15), виправлення (16), видалення (17), обмеження обробки (18), перенесення даних (20), заперечення проти обробки на підставі законного інтересу (21), відкликання згоди будь-коли (7(3)). Автоматизованого ухвалення рішень, які мають для тебе юридичні наслідки (ст. 22), у Застосунку немає: автоматична перевірка фото лише тимчасово блокує завантаження нових фото, і рішення переглядає людина.
Скарга. Ти маєш право поскаржитися до наглядового органу із захисту даних країни свого проживання, місця роботи або місця ймовірного порушення.
10. Твої права
- Доступ і копія: у кабінеті є експорт усіх твоїх даних одним файлом («Завантажити мої дані»).
- Виправлення: пошту, нікнейм, дані харчування й решту можна змінити в кабінеті будь-коли; дані харчування — також повністю очистити.
- Видалення: акаунт видаляється самостійно в кабінеті («Видалити акаунт»; покроково — на сторінці видалення акаунта); підтвердження — кодом на пошту, пароль для цього не потрібен, тож видалити акаунт може й той, хто входить через Google чи Apple. Разом з акаунтом видаляються твої особисті дані — комора, списки покупок, улюблене, підписки, меню, листування, дані харчування й фото. Долю доданих тобою рецептів обираєш ти сам(а) при видаленні: лишити їх у Застосунку без прив'язки до акаунта або видалити разом з ним (див. Угоду, розділ 17). З резервних копій дані зникають при ротації; платіжні записи лишаються на строк із розділу 8.
- Відкликання згоди: згоду на дані харчування — в налаштуваннях, згоду на сповіщення — вимкненням сповіщень; будь-яку обробку можна припинити, видаливши акаунт.
- Зі скаргою можна звернутись до Уповноваженого Верховної Ради України з прав людини, а якщо ти в ЄС/ЄЕЗ — до наглядового органу країни свого проживання (розділ 9).
11. Безпека
Паролі зберігаються лише у вигляді bcrypt-хешів; коди підтвердження — у вигляді HMAC-хешів; листування з нутриціологом зашифроване в базі; сесії — у підписаних куках, що передаються лише по HTTPS; резервні копії шифруються. Доступ до бази має лише Адміністратор. Водночас жодна система не гарантує абсолютної безпеки — див. розділ «Доступність сервісу» Угоди.
12. Діти
Застосунок призначений для осіб від 16 років. Ми свідомо не збираємо дані молодших дітей; якщо такий акаунт буде виявлено — його буде видалено.
13. Зміни цієї Політики
Політика може оновлюватися; дата чинної редакції вказана вгорі. Про суттєві зміни повідомимо банером у Застосунку. Продовження користування після змін означає згоду з новою редакцією.
Угода користувача · Відмова від відповідальності · Повернення коштів