Kimda
Політика конфіденційності
Останнє оновлення: 27 жовтня 2026 р.
Це машинний переклад. Юридичну силу має текст чеською мовою.
Юридично обов'язковою є чеська версія цієї політики. Переклади іншими мовами надаються для довідки; у разі розбіжностей переважну силу має чеська версія.
У цьому документі описано, які дані обробляють застосунок Kimda («застосунок», «ми») та сайт kimda.app, навіщо і на якій правовій підставі, кому ми їх передаємо, як довго зберігаємо і які права маєте ви та ваші діти. Застосунок призначений для використання всією родиною, включно з дітьми, — тому до захисту даних ми ставимося особливо ретельно.
1. Хто є контролером даних
Контролером даних є Mgr. Ivo Slávka, який керує застосунком Kimda як фізична особа-підприємець, зареєстрована в реєстрі підприємців районної адміністрації Прага 8 (ÚMČ Praha 8), IČO (ідентифікаційний номер) 30070929, з місцезнаходженням: Bergerova 1115/2, 182 00 Praha 8 – Kobylisy, Чеська Республіка. Контактна електронна адреса для запитань щодо конфіденційності та для реалізації ваших прав: privacy@kimda.app.
2. Які дані ми обробляємо і навіщо
- Дані акаунта: ім’я, прізвище, номер телефону, роль (батько чи мати/дитина), вибрана мова та тема оформлення, необов’язкове фото профілю, версія цієї політики та час, коли ви з нею погодилися, для батьків — час підтвердження повноліття, а для дитини — час, версія політики та батько чи мати, які дали згоду за дитину (пункт 5). Ваше ім'я та фото профілю бачать інші члени вашої родини в додатку (батьки бачать усіх членів, дитина бачить своїх батьків та братів/сестер).
- Номер телефону ми використовуємо для підтвердження особи (код із SMS) і входу, а його незворотний відбиток також для захисту пробного періоду Premium (пункт 6), після зміни номера для перевірки запиту на повернення перехопленого акаунта (записи безпеки нижче) та після відновлення бази даних із резервної копії для затримання входу за номером, який акаунт раніше залишив (журнал змін телефону нижче) — застосунок на номер інакше нікому не пише і не ділиться ним із третіми особами, окрім постачальника SMS-підтвердження (Twilio, див. пункт 4).
- Дані про родину: назва родини, хто до неї входить, які в кого ролі та налаштування (відсотки розподілу кишенькових грошей, валюта, мова та часовий пояс родини) та історія змін фінансових правил (хто й коли змінив, наприклад, відсоткову ставку, відсотки розподілу, валюту або часовий пояс і з якого значення на яке).
- Запити на приєднання: ім’я, прізвище, роль і номер телефону людини, яка хоче приєднатися до родини, а також час запиту — щоб батьки бачили, кого вони схвалюють.
- Запити на згоду батьків: тип запиту (видалення одного з батьків або видалення всієї родини), хто його подав, кого він стосується і хто його схвалив, відхилив або скасував (внутрішні ідентифікатори), час (подання, строк, нагадування, розгляд) та результат (схвалено, відхилено, скасовано, виконано після закінчення строку або анульовано); імена, номери телефонів та довільний текст ми не зберігаємо. Запити видно батькам родини в додатку.
- Дані про завдання: назва завдання, бали, коли його було виконано/схвалено/відхилено, і фото, якщо завдання вимагає фото, включно з технічним відбитком фото (див. пункт 3).
- Плани, рутини та нагадування: кому призначено завдання, запланований день і час, стан виконання, запізнення, порядок черговості та чи було надіслано нагадування.
- Нагороди та цілі: сімейний каталог нагород, запити на нагороду, цілі заощаджень і суми, які дитина переказала до цілі. Огляд для батьків формує з цих даних зведені показники виконання, своєчасності й рівномірності розподілу; публічного рейтингу дітей він не створює.
- Фінансові дані застосунку: бали, віртуальні кишенькові гроші та їхній розподіл, запити на виплату, позики та відсотки в межах родини — це внутрішній облік застосунку, а не справжні банківські або платіжні дані. Застосунок не має доступу до жодного банківського рахунку чи платіжної картки. Щомісячне зведення дитини (кількість схвалених завдань, бали, а з Premium також сума за поточний місяць; не баланси скарбничок) також бачать інші діти в тій самій родині, поки хтось із батьків не вимкне це в налаштуваннях родини.
- Записи прямих виплат і ручних погашень: коли хтось із батьків у застосунку виплачує дитині частину її залишку прямо (без запиту дитини) або вручну записує погашення її позики, сервер зберігає про кожну таку операцію окремий запис, який надалі не змінюється. Він містить внутрішні ідентифікатори родини, дитини та того з батьків, хто здійснив операцію, вид операції (пряма виплата, ручне погашення), суму, у разі виплати — скарбничку, з якої виплачувалося, та розподіл суми (у разі виплати — на частину з власних внесків і на частину з нарахованих відсотків, у разі погашення — на основну суму і на відсотки), час операції та випадковий ідентифікатор запиту. Запис слугує для того, щоб можна було підтвердити, що й коли хтось із батьків записав у застосунку, і щоб можливий спір у родині можна було оцінити за записом, а не лише за підсумковим залишком. Це внутрішній облік застосунку — застосунок сам жодних грошей не переказує. Записи є частиною експорту даних (пункт 7) і зберігаються відповідно до пункту 6.
- Підписка: стан підписки родини (пробний період, Premium, її термін дії та подовження) і можливий безкоштовний доступ за промокодом; самі промокоди сервер зберігає лише як відбиток HMAC, а управління кодами записує (хто, коли, яка дія). Платіжні дані ми не бачимо — платіж обробляє Apple або Google. Документ про згоду на негайний початок дії Premium, який ми зберігаємо як доказ цієї згоди, описує пункт 6.
- Вхід і безпека: сеанси входу окремих пристроїв (коли створено, коли було востаннє використано і до якого часу дійсний). Батьки бачать у Профілі огляд своїх пристроїв, на яких виконано вхід (лише час входу та останнього використання, без IP-адреси та назви пристрою), і можуть окремо вийти з них. Токени оновлення сервер зберігає лише як відбитки SHA-256, включно з відбитками вже замінених токенів, щоб розпізнати зловживання вкраденим токеном. Під час запиту коду з SMS він зберігає відбиток із ключем (HMAC-SHA-256) номера телефону та відбиток SHA-256 одноразового виклику разом із кількістю спроб, у разі зміни номера та підтвердження видалення родини також її мету та внутрішній ідентифікатор акаунта. Ліміти кількості запитів, включно з денним лімітом надісланих SMS, розраховуються за відбитком із ключем (HMAC-SHA-256) IP-адреси або її мережі (IPv4 /24, IPv6 /56), номера телефону, пари номера телефону та мережі або акаунта, або за країною чи кодом номера телефону. Ключ до цих відбитків сервер отримує із секретного ключа, що зберігається поза базою даних, тому без нього відбиток неможливо перетворити назад на номер телефону або IP-адресу. Записи безпеки про важливі події (наприклад, вхід, запит на приєднання, схвалення, відхилення або видалення учасника, новий код запрошення, вихід пристрою, зміна номера телефону, підтвердження політики, згода батьків за дитину або підозра на зловживання токеном) містять тип події, час і внутрішні ідентифікатори; у разі видалення учасника додатково його роль (батько чи мати/дитина), у разі підтвердження політики та згоди батьків версію політики, а в разі видалення акаунта дитини, яка мала борг, залишок або необроблені запити, також валюту, списані суми та кількість необроблених запитів. Запис про зміну номера телефону додатково містить незворотний відбиток початкового номера (HMAC із секретним ключем), щоб служба підтримки могла перевірити, що запит на повернення перехопленого акаунта подає справжній власник початкового номера. Імен, номерів телефонів або IP-адрес у них немає. Крім того, зміни номера телефону та видалення або відновлення члена родини записуються до окремого журналу, який описує пункт «Журнал змін телефону та стану учасника» нижче.
- Сповіщення безпеки: коли хтось із батьків входить за кодом із SMS, інші батьки в родині отримують загальне сповіщення без імені та номера телефону; під час кожного входу за кодом із SMS (батьків і дитини) загальне сповіщення про новий вхід отримають і попередні пристрої, на яких виконано вхід у той самий акаунт. У разі зміни номера телефону (новий номер підтверджується SMS-кодом) сервер виконує вихід на інших пристроях акаунта, а загальне сповіщення отримають попередні пристрої акаунта та батьки в родині; початковий номер надалі не зберігається — залишається лише його незворотний відбиток у записі безпеки про зміну (30 днів, див. розділ 6), незворотні відбитки початкового та нового номерів у журналі змін телефону (60 днів, див. нижче та розділ 6) та в когось із батьків, хто був членом родини протягом її пробного періоду, також відбиток згідно з розділом 6. Якщо номер за запитом власника акаунта відновлює служба підтримки, вона спочатку перевіряє його особу: SMS-кодом, надісланим на початковий номер, відбиток якого має збігатися з відбитком у записі про зміну номера. Якщо така перевірка неможлива (запис про зміну більше не існує або власник не має початкового номера), вона перевіряє її підтвердженням від іншого з батьків у родині (перевіреним SMS-кодом, надісланим на номер цього з батьків) і відповідями на запитання, які поставить служба підтримки; у такому випадку вона спочатку надсилає сповіщення на пристрої акаунта та батькам у родині, а номер повертає не раніше ніж через 72 години, якщо ніхто не заперечить; це сповіщення ви бачитимете після входу та безпосередньо в застосунку протягом усього строку. Без такої перевірки вона не відновить номер і не скасує жодного запиту — може лише виконати вихід на всіх пристроях акаунта. Якщо служба підтримки вже повертала цей самий акаунт протягом останніх 30 днів, вона вважає наступний запит суперечкою і не відновить номер без додаткової перевірки. Після відновлення сервер виконує вихід з акаунта на всіх пристроях, загальне сповіщення отримають батьки в родині і втручання фіксується (хто його здійснив, коли, якого акаунта воно стосується та посилання на ваш запит — без номера телефону). Загальне сповіщення батьки отримують також у разі видалення акаунта дитини, у разі видалення інших батьків (включно з видаленими батьками) та в разі підозри на зловживання токеном входу; у цьому випадку сервер виконує вихід з акаунта на всіх пристроях і скасовує його реєстрації для сповіщень. Сповіщення безпеки (наприклад, про новий вхід або пристрій, зміну номера телефону, зміну фінансових правил, видалення учасника, видалення акаунта дитини або підозру на зловживання токеном) сервер спочатку зберігає в чергу (вид сповіщення, одержувач — push-токен пристрою або внутрішній ідентифікатор родини чи акаунта та мова — і загальний технічний тип події) і лише звідти доставляє їх; сповіщення в разі повернення перехопленого акаунта службою підтримки (вище) відправляються безпосередньо. Якщо доставлення сповіщення батькам або пристроям акаунта члена родини навіть після повторних спроб не вдається, сервер зберігає лише внутрішній ідентифікатор родини, вид сповіщення та час (без push-токена та без імені), щоб після наступного входу в застосунку батько чи мати побачили, про яке сповіщення йшлося, і могли його підтвердити; якщо одержувач не має жодного пристрою, на який можна надіслати сповіщення, такий запис не створюється. Строки зберігання визначає пункт 6.
- Журнал змін телефону та стану учасника: поряд із записами безпеки вище сервер веде для кожної зміни номера телефону акаунта (незалежно від того, чи здійсните ви її самі в Профілі, чи на ваш запит її здійснить служба підтримки) і для кожного видалення або відновлення члена родини окремий запис у журналі. Запис містить випадковий ідентифікатор запису, внутрішні ідентифікатори акаунта та родини, вид події (зміна номера, відновлення номера підтримкою, видалення учасника, відновлення учасника), час події та — лише в разі зміни номера — незворотні відбитки початкового і нового номерів (HMAC-SHA-256 із секретним ключем, який зберігається поза базою даних). У разі видалення та відновлення учасника жодних відбитків немає. Номерів телефонів, імен або IP-адрес у журналі немає. Відбиток неможливо без секретного ключа перетворити назад на номер телефону, але оскільки він прив'язаний до внутрішнього ідентифікатора акаунта, це псевдонімні дані, а не дані анонімні. Журнал слугує лише для захисту від наслідків відновлення бази даних із резервної копії: щоб до акаунта не повернувся номер, який акаунт тим часом залишив (і який міг перехопити хтось інший), і щоб знову застосувалося видалення члена родини, якого резервна копія не містить. Тому сервер під час входу за кодом із SMS і під час перевірки номера телефону порівнює відбиток введеного номера з останнім записом журналу; якщо він не відповідає, затримує вхід і скеровує до служби підтримки. Запис зберігається в базі даних і зазвичай протягом кількох хвилин також у копії в окремому непублічному сховищі Cloudflare R2 (пункт 4), щоб він зберігся в разі втрати бази даних між резервними копіями. Строки зберігання визначає пункт 6.
- Технічні дані: push-токен і випадковий ідентифікатор пристрою, який застосунок створює для доставлення сповіщень (це не апаратний ідентифікатор), час останньої реєстрації пристрою, вхід, до якого належить реєстрація, та відбиток SHA-256 випадкового секрету встановлення, яким пристрій доводить, що push-токен належить йому. Після звільнення реєстрації (вихід, видалення учасника, блокування безпеки або автоматичне очищення) сервер запам'ятовує два обмежені в часі записи, щоб сповіщення пристрою не міг перехопити чужий акаунт: (a) запис про звільнений push-токен — відбитки SHA-256 push-токена та секрету встановлення, внутрішній ідентифікатор родини та час звільнення (звільнений токен таким чином не може бути перехоплений акаунтом з іншої родини); та (b) запис про звільнений пристрій — внутрішній ідентифікатор акаунта, випадковий ідентифікатор пристрою, ті самі відбитки та час звільнення (звільнений пристрій таким чином не може без доведення того, що це те саме встановлення, знову зайняти інший сеанс входу того самого акаунта, наприклад викрадений). Сервер додатково 30 днів зберігає запис про реєстрацію пристрою (внутрішній ідентифікатор акаунта та пристрою, відбиток push-токена, вид події та час), за яким відстежує ліміт реєстрацій нових пристроїв за 24 години. Строки зберігання визначає пункт 6; запис про звільнений пристрій у разі видалення акаунта не ведеться. Далі робочі журнали сервера (наприклад, стани помилок) без номерів телефонів і вмісту запитів. У телефоні застосунок у захищеному сховищі зберігає токени входу і додатково запам'ятовує вибрану мову та тему; вибрану мову він повідомляє і серверу, щоб сповіщення надходили вашою мовою. Що застосунок надсилає безпосередньо сервісам Expo та Sentry, описано в пункті 4.
Чому ми обробляємо дані і на якій правовій підставі:
- Сімейний акаунт і функції застосунку (реєстрація, родина, завдання і фото, плани, нагадування, нагороди, цілі, кишенькові гроші, включно із записами прямих виплат і ручних погашень, сповіщення і підписка): виконання договору, тобто умов використання (ст. 6(1)(b) GDPR). Записи прямих виплат і ручних погашень та історію змін фінансових правил ми обробляємо додатково на підставі нашого законного інтересу в документальному підтвердженні фінансових операцій та правил у застосунку та у вирішенні спорів у родині (ст. 6(1)(f) GDPR). Документ про згоду на негайний початок дії Premium та його копію поза базою даних ми обробляємо додатково на підставі нашого законного інтересу в підтвердженні цієї згоди та в захисті правових вимог (ст. 6(1)(f) GDPR). Щодо даних дітей див. пункт 5.
- Вхід, підтверджений кодом із SMS: виконання договору (ст. 6(1)(b) GDPR) — без підтвердженого номера телефону увійти в застосунок неможливо.
- Безпека і захист від зловживань (сеанси і відбитки токенів, виклики для коду з SMS, ліміти кількості запитів і денний ліміт SMS, записи безпеки, журнал змін телефону та стану учасника, пам'ять звільнених push-токенів і пристроїв, запис про реєстрацію пристрою та ліміт реєстрацій нових пристроїв за 24 години, черга сповіщень безпеки та облік недоставлених сповіщень, робочі логи, відбиток номера телефону для запобігання повторному використанню пробного періоду, запити на згоду батьків, які захищають родину від одностороннього видалення одного з батьків або видалення всієї родини, та перевірка особи, коли служба підтримки повертає перехоплений акаунт, включно з обліком таких втручань): наш законний інтерес у безпечній роботі сервісу, захисті акаунтів батьків і дітей та захисті від зловживань SMS-підтвердженням (ст. 6(1)(f) GDPR).
- Виправлення помилок і оновлення застосунку (звіти про помилки через Sentry, оновлення через Expo): наш законний інтерес у стабільному і безпечному застосунку (ст. 6(1)(f) GDPR).
- Обробка ваших запитів згідно з пунктом 7 і доказ того, як і коли ми їх обробили (наприклад, стан виконаного видалення, журнал виконаних видалень та завдання зовнішнього видалення): виконання юридичного обов'язку (ст. 6(1)(c) GDPR).
- Вимірювання реклами на сайті kimda.app (Meta Pixel): ваша згода (ст. 6(1)(a) GDPR), див. пункт 9.
Проти обробки на підставі законного інтересу ви можете подати заперечення (пункт 7). Номер телефону необхідний для реєстрації та входу; без нього використовувати застосунок неможливо. Фото профілю є добровільним, а фото виконаного завдання потрібне лише для завдань, для яких його вимагають батьки. Автоматизоване ухвалення рішень або профілювання з юридичними чи подібними значущими наслідками (ст. 22 GDPR) ми не використовуємо; автоматичні ліміти безпеки, які, наприклад, тимчасово блокують подальші спроби отримати код із SMS, слугують лише для захисту акаунтів і сервісу.
3. Фото до завдань
Фото, які дитина (або батьки за неї) завантажує до завдання, бачать лише члени тієї самої родини (батьки й діти в застосунку). Вони не публічні, застосунок не ділиться ними з жодним іншим застосунком чи соціальною мережею. Фото до завдання можна зробити лише камерою в застосунку. Застосунок, а потім і сервер, перед збереженням видаляють із фото метадані (наприклад, GPS-координати або дані про камеру). Фото зберігаються в непублічному об'єктному сховищі (див. пункт 4), і сервер видає їх лише авторизованому члену тієї самої родини. Батьки можуть будь-коли попросити їх видалити.
Для кожного завантаженого фото сервер обчислює технічний відбиток (контрольну суму та спрощений цифровий відбиток зображення на 64 біти). Він слугує лише для того, щоб застосунок міг розпізнати, коли те саме або майже те саме фото використовується для завдання знову, і щоб фото належало до завдання, для якого дитина його щойно зробила в застосунку. З відбитка неможливо відобразити або відтворити фото, і він видаляється разом із фото. Запис про часовий виклик до фото (хто запитав його в застосунку, для якого завдання і коли) сервер видаляє через 7 днів. Батьки бачать біля фото попередження, коли фото не має дійсної часової перевірки застосунку або дуже схоже на попереднє фото, як допомогу під час схвалення; перевірка не гарантує, що фото неможливо підробити.
4. Кому ми передаємо дані та передання за межі ЄС
Ми передаємо дані лише постачальникам, які забезпечують для нас роботу застосунку (обробникам), і лише в тому обсязі, який їм для цього потрібен. Обробники можуть використовувати дані лише для надання своєї послуги для нас і згідно з нашими інструкціями. Apple і Google під час покупок у магазинах виступають як самостійні контролери.
- Хостинг-провайдер (Railway) — забезпечує роботу сервера застосунку та бази даних, у якій зберігаються дані застосунку.
- Cloudflare — приватне об'єктне сховище R2 зберігає передані в зашифрованому вигляді фото профілю та фото виконаних завдань, резервні копії бази даних (зашифровані ще перед відправленням так, що їх можна розшифрувати лише приватним ключем, який ми зберігаємо поза хмарою), журнал виконаних видалень (лише внутрішні ідентифікатори, вид видалення та час), журнал змін телефону та стану учасника (пункт 2: внутрішні ідентифікатори, вид і час події та в разі зміни номера — незворотні відбитки номерів) та копію доказу згоди на негайний початок Premium (пункт 6: внутрішні ідентифікатори родини та користувача, час згоди, обраний план, початок оплаченого періоду, ідентифікатор транзакції магазину та версія відображеного тексту) у непублічних бакетах; доступ до фото надалі контролює бекенд Kimda, що вимагає входу. Cloudflare також забезпечує роботу сайту kimda.app (пункт 9).
- Twilio (підтвердження телефону кодом із SMS) — отримує номер телефону і код, який ви вводите, лише для доставлення й перевірки коду з SMS.
- Expo (650 Industries) — по-перше, доставляє сповіщення: отримує push-токен пристрою, ідентифікатор встановлення для сповіщень, нативний токен Apple або Google, загальний текст або емодзі сповіщення та загальний технічний тип події. Ідентифікатори бази даних, імена, назви завдань або суми ми в push-повідомлення не надсилаємо. Expo пересилає повідомлення push-сервису Apple (Apple Push Notification service) або Google (Firebase Cloud Messaging). По-друге, доставляє оновлення застосунку (EAS Update): застосунок під час кожного запуску запитує сервери Expo, чи доступне виправлення. Expo при цьому отримує IP-адресу пристрою, платформу, версію застосунку, ідентифікатор встановленого оновлення, можливо текст останньої помилки, яка завершила роботу застосунку, і випадковий ідентифікатор встановлення
EAS-Client-ID, який застосунок назавжди зберігає в телефоні і який не змінюється навіть після виходу. Ми не пов'язуємо його з вашим акаунтом, і застосунок не надсилає його нашому серверу. - Apple і Google — як самостійні контролери обробляють покупку й управління підпискою в App Store і Google Play; як push-сервіси (Apple Push Notification service, Firebase Cloud Messaging) доставляють сповіщення на пристрої.
- RevenueCat (обробка підписки через App Store / Google Play лише для батьківських акаунтів) — обробляє ідентифікатор родини, історію покупок, квитанцію Apple або токен покупки Google, час останнього використання й технічні дані пристрою (наприклад, тип пристрою та операційну систему). Від Kimda він не отримує ім'я або номер телефону батьків чи дитини. У застосунку не ввімкнено рекламні/атрибуційні інтеграції RevenueCat і ручний збір рекламних ідентифікаторів.
- Sentry (технічні звіти про помилки застосунку і сервера, для виправлення помилок) — отримує тип помилки, місце в коді, версію застосунку та операційної системи. Застосунок і сервер налаштовано так, щоб не надсилати йому ім'я, телефон, токен входа, вміст запитів або IP-адресу. Організація Kimda в Sentry розташована в європейській зоні даних (Німеччина).
- Постачальник e-mail (Spaceship, сервіс Spacemail) — доставляє і зберігає електронні листи, які ви надсилаєте нам на privacy@kimda.app або support@kimda.app.
Railway, Cloudflare, Twilio, Expo, RevenueCat, Sentry, Spaceship, Apple, Google і Meta (пункт 9) є компаніями з місцезнаходженням або інфраструктурою в США, і тому можуть обробляти дані і за межами Європейського економічного простору. У разі передавання за межі Європейського економічного простору ми використовуємо механізм згідно з главою V GDPR, який стосується конкретного одержувача та обробки — як правило, сертифікацію одержувача в рамках EU-USA Data Privacy Framework (рішення Європейської комісії про достатній рівень захисту, ст. 45 GDPR) або стандартні договірні умови, затверджені Європейською комісією (ст. 46(2)(c) GDPR). Інформацію про механізм у конкретного одержувача та про те, де можна отримати копію відповідних гарантій, ми надамо вам за запитом на privacy@kimda.app.
Ми не продаємо дані із застосунку, не ділимося ними з рекламодавцями і не використовуємо їх для таргетованої реклами. Вимірювання реклами на сайті kimda.app за згодою відвідувача описано в пункті 9.
5. Згода батьків і ролі дітей
Застосунок може створити (роль "батьки" та нову родину) лише доросла особа. Акаунт із роллю "дитина" виникає завжди лише після приєднання за допомогою коду запрошення, який знають тільки батьки — дитина, таким чином, може приєднатися лише з відома та згоди батьків, які діляться кодом. Кожне приєднання дитини та інших батьків, крім того, батьки мають явно схвалити в застосунку; до схвалення новий учасник бачить із родини лише її назву. Код запрошення родини дійсний 48 годин, несхвалений запит автоматично видаляється через 72 години, а відхилений або скасований — негайно. Реєструючи роль "батьки", ви підтверджуєте, що є повнолітніми та маєте законне право давати згоду на обробку даних ваших дітей у застосунку.
Дані дитини ми обробляємо лише в обсязі, потрібному для функціонування сімейного акаунта, який батьки створили і яким керують, тобто для виконання договору з батьками (ст. 6(1)(b) GDPR). Батьки як законні представники ухвалюють рішення про участь дитини: діляться кодом запрошення, явно схвалюють приєднання дитини і можуть будь-коли видалити дитину з родини або попросити видалити її акаунт. Дитина під час реєстрації лише бере політику до відома; згоду на обробку її даних дають батьки, коли в застосунку схвалюють приєднання дитини, і сервер записує час, батьків і версію політики. Для дітей, схвалених старішою версією застосунку, застосунок додатково запитає в батьків згоду, якої бракує. Якби обробка вимагала згоди і дитині ще не виповнилося 15 років (вікова межа в Чехії згідно зі ст. 8 GDPR і § 7 Закону № 110/2019 Зб. про обробку персональних даних), згоду за дитину дають батьки. Права дитини згідно з пунктом 7 за неї можуть реалізувати батьки.
6. Як довго ми зберігаємо дані
Дані акаунта та родини ми зберігаємо, доки користувач не попросить видалити акаунт або всю родину. Сама лише неактивність застосунку автоматичного видалення не запускає. Тому користувач не зобов'язаний регулярно відкривати застосунок, щоб не втратити родинну історію, і може будь-коли розпочати видалення просто в застосунку або попросити про нього на privacy@kimda.app. Історію змін фінансових правил (пункт 2) ми зберігаємо протягом усього часу існування родини, без обмежень за часом або загальною кількістю (родина може зберегти зміни фінансових правил щонайбільше 30 разів на годину), оскільки вона слугує незмінним доказом того, хто і коли змінив правила, наприклад, під час суперечки між батьками; у застосунку її неможливо змінити або видалити. Після видалення всієї родини (пункт 7) сервер видаляє її під час найближчого очищення; видалення акаунта окремого учасника її не змінює, і для неї залишається лише внутрішній ідентифікатор без імені.
Для окремих інших записів діють такі строки:
- Виклики для коду з SMS (відбитки номера телефону і виклику): дійсні 10 хвилин; після успішного підтвердження сервер видаляє їх одразу, інакше не пізніше ніж через годину після їх закінчення.
- Ліміти кількості запитів і денний ліміт SMS (відбитки): сервер видаляє їх через 24 години після закінчення відстежуваного періоду; денний ліміт SMS завжди закінчується опівночі UTC.
- Сеанси входу: токен входу дійсний 15 хвилин; сеанс завершується після 30 днів неактивності, не пізніше ніж через 90 днів, або раніше під час виходу. Завершений сеанс, включно з відбитками токенів, сервер видаляє через 30 днів після його закінчення.
- Запрошення і запити на приєднання: код запрошення родини дійсний 48 годин, а запрошення для інших батьків 24 години; несхвалений запит на приєднання автоматично видаляється через 72 години, відхилений або скасований — негайно. Запис про запрошення для інших батьків (код, хто його створив і хто його використав) сервер видаляє через 30 днів після його закінчення, використання або скасування.
- Записи безпеки в базі даних (пункт 2): сервер сам видаляє їх через 30 днів. Журнал змін телефону та стану учасника регулюється власним строком, зазначеним нижче.
- Журнал змін телефону та стану учасника (пункт 2): запис у базі даних сервер видаляє не раніше ніж через 60 днів після його створення, і лише після того, як скопіював його до окремого сховища (копія створюється зазвичай протягом кількох хвилин). Запис, який не вдалося скопіювати, сервер не видаляє, доки копіювання не вдасться, і тому він залишається в базі даних і довше ніж 60 днів. Копію в окремому непублічному сховищі Cloudflare R2 сховище видаляє самостійно через 60 днів після її збереження. У разі видалення акаунта або всієї родини (пункт 7) сервер видаляє записи журналу видаленого акаунта або родини з бази даних; їх копія у сховищі зникає не пізніше ніж через 60 днів після збереження.
- Фото: неприв'язані фотографії, які не вдалося пов'язати з профілем або завданням, сервер видаляє через 24 години; запис про часовий виклик до фото видаляє через 7 днів (пункт 3), а технічний запис про видалене фото (лише внутрішні ідентифікатори) — через 30 днів після видалення фото.
- Push-токен і ідентифікатор пристрою: до виходу пристрою, видалення учасника з родини або видалення акаунта, або поки Apple чи Google не позначать його як недійсний. Сервер додатково сам видаляє їх, якщо застосунок не оновлював реєстрацію пристрою 90 днів (він оновлює її під час кожного входу та запуску), або якщо користувач не має дійсного сеансу входу довше ніж 30 днів. Після виходу пристрою (зокрема віддалено в Профілі) або закінчення його входу на пристрій нічого не доставляється. Винятком є реєстрації з часу до впровадження цієї версії, які застосунок відтоді не оновлював: віддалений вихід одного пристрою їх не відключить, а вибір Вийти на всіх пристроях — так; інакше сервер видалить їх відповідно до строків вище. Запис про звільнений push-токен (відбитки, родина та час) сервер видаляє через 30 днів, або раніше, якщо пристрій знову зареєструється. Запис про звільнений пристрій (внутрішній ідентифікатор акаунта, випадковий ідентифікатор пристрою, відбитки та час) сервер видаляє через 91 день — тобто лише після закінчення найдовшої можливої дійсності сеансу входу (90 днів) — або раніше, якщо пристрій того самого акаунта знову зареєструється. Запис про звільнений пристрій у разі видалення акаунта не ведеться; якщо він уже виник під час початку видалення, сервер видаляє його після завершення видалення. Строк запису про звільнений push-токен цим залишається без змін. Технічний відбиток push-токена у відправленого нагадування слугує лише для перевірки доставлення; сервер видаляє його після оцінки доставлення, не пізніше ніж через 30 днів після відправлення. Запис про реєстрацію пристрою (внутрішній ідентифікатор акаунта та пристрою, відбиток push-токена, вид події та час; пункт 2) сервер видаляє через 30 днів після його створення, навіть якщо тим часом ви видалите акаунт.
- Черга сповіщень безпеки та недоставлені сповіщення (пункт 2): дані про одержувача сповіщення (push-токен пристрою або внутрішній ідентифікатор родини чи акаунта та мова) сервер видаляє зі збереженого запису черги відразу після доставлення або після відмови від доставлення, але не пізніше ніж через 7 днів після створення сповіщення; лише внутрішній ідентифікатор родини (у разі виняткової помилки бази даних тимчасово також акаунта) може залишатися в ньому до створення запису про недоставлене сповіщення (нижче). Решту запису (вид сповіщення, загальний технічний тип події, час і технічне повідомлення про помилку) він видаляє через 30 днів після обробки. Запис про недоставлене сповіщення для батьків (внутрішній ідентифікатор родини, вид сповіщення та час, без push-токена та без імені) він зберігає, доки батько чи мати не підтвердить його в застосунку; підтверджений запис він видаляє, щойно той старішає за 90 днів. Запис родини, яка більше не існує, він видаляє під час найближчого очищення.
- Збережені відповіді фінансових операцій: щоб повторний запит після збою мережі не записав виплату, позику або іншу фінансову операцію двічі, сервер запам'ятовує відповідь на неї 30 днів. Сам запис про операцію (вид операції, її випадковий ідентифікатор, внутрішні ідентифікатори родини, актора та відповідного учасника, відбиток SHA-256 запиту та час) є частиною фінансової історії і зберігається до видалення акаунта або родини.
- Записи прямих виплат і ручних погашень (пункт 2): на відміну від збереженої відповіді вище, яка видаляється через 30 днів, ці записи зберігаються до видалення дитини, якої вони стосуються, або всієї родини (пункт 7).
- Збережені записи повторюваних запитів планувальника: щоб повторюваний запит після збою мережі не створив план завдань двічі, сервер зберігає протягом 60 днів запис про його створення (внутрішні ідентифікатори родини та батька чи матері, вид операції, випадковий ідентифікатор запиту, відбиток SHA-256 заданих параметрів плану, посилання на створений план і час). Запис сервер видаляє також у разі видалення акаунта того з батьків, хто створив план, і в разі видалення всієї родини (пункт 7).
- Запит на видалення акаунта: непідтверджений запит на видалення стає недійсним через 45 днів і видаляється не пізніше ніж через наступні 400 днів; запис про виконане видалення (лише внутрішні ідентифікатори і стан, без імен і контактів) ми зберігаємо як доказ того, що ми обробили ваш запит, а саме 3 роки з моменту обробки. У такому самому обсязі (внутрішній випадковий ідентифікатор акаунта або родини, вид видалення та час) ми ведемо журнал виконаних видалень, щоб після можливого відновлення бази даних із резервної копії всі пізніші видалення застосувалися знову. Запис журналу в базі даних сервер видаляє не раніше ніж через 180 днів після його створення, і лише після того, як він був скопійований до окремого сховища (копія зазвичай створюється протягом кількох хвилин); запис, який не вдалося скопіювати, сервер не видаляє, доки копіювання не буде успішним. Копію в окремому непублічному сховищі видаляє саме сховище через 60 днів після її збереження. Зашифрований експорт журналу, який є частиною резервної копії бази даних, зникає разом із резервною копією (не пізніше ніж через 30 днів).
- Запити на згоду батьків: відкритий запит діє 14 днів; він продовжується лише тоді, коли до сім'ї тим часом додається один із батьків (у разі запиту на видалення родини новий з батьків отримує власні 14 днів, але щонайбільше до кінця можливого захисного строку після видалення іншого з батьків), або після відновлення бази даних із резервної копії (окрім запиту на видалення родини, який діє лише до кінця захисного строку). Запит на видалення родини, який закінчився б протягом 14-денного строку після видалення іншого з батьків, триває до кінця цього строку, а потім стає недійсним. Протягом 14-денного строку після видалення іншого з батьків родину неможливо видалити; запит на видалення родини, поданий у цей строк, після його закінчення стає недійсним. Після закінчення строку єдиний з батьків, що залишився, може видалити родину безпосередньо в Профілі. Розглянутий запит сервер видаляє через 90 днів.
- Відбиток номера телефону після видалення акаунта або зміни номера: щоб пробний період Premium не можна було отримувати повторно шляхом видалення акаунта та нової реєстрації, під час видалення акаунта одного з батьків, який був членом родини протягом її пробного періоду, та під час зміни номера такого з батьків (навіть якщо номер за його запитом змінить служба підтримки) сервер зберігає лише відбиток колишнього номера телефону (HMAC із секретним ключем) та час — сам номер не зберігається. У разі нової реєстрації з тим самим номером пробний період не надається. Сервер видаляє відбиток через 12 місяців.
- Електронні листи, які ви нам надсилаєте: протягом часу, потрібного для обробки вашого запитання або запиту і для підтвердження того, як ми його обробили.
- Облік втручань служби підтримки та управління: запис про втручання в базі даних (вид втручання, хто його здійснив, коли, якої родини воно стосується та номер запиту — без імен і номерів телефонів; так ми фіксуємо відновлення номера та вихід на пристроях службою підтримки, експорт даних родини за запитом та управління промокодами і безкоштовним доступом) сервер сам видаляє через 3 роки. Журнал запитів до служби підтримки (номер запиту, дата, внутрішній ідентифікатор акаунта, спосіб перевірки особи та результат — без номера телефону) ми ведемо у зашифрованому вигляді поза базою даних і зберігаємо його також 3 роки як доказ того, як ми обробили запит.
Робочі логи і логи безпеки хостингу в робочому середовищі можуть зберігатися не довше 30 днів. Технічні повідомлення про помилки застосунку та сервера Sentry зберігає не довше 90 днів, щоб ми могли знайти та виправити помилки, які проявляться лише після випуску нової версії застосунку; можливі робочі резервні копії Sentry видаляються не пізніше ніж через 90 днів після свого створення. Резервні копії бази даних створюються щодня, шифруються ще перед відправленням із робочого середовища і видаляються через 30 днів після створення, тому раніше видалені дані залишаться в них не довше 30 днів; вони не використовуються для звичайного відновлення видаленого акаунта. Якщо нам доведеться відновити базу даних із резервної копії, видалення, виконані після створення резервної копії, ми застосуємо знову згідно з журналом видалень. Налаштування хостингу, бази даних і сховища мають технічно забезпечувати ці строки, і оператор регулярно їх перевіряє.
Якщо видалення запису в зовнішнього постачальника підписки не можна завершити негайно, Kimda після видалення медіафайлів без подальшого зволікання анонімізує локальні персональні дані. Для безпечного повторення зовнішнього запиту вона залишає лише внутрішній випадковий ідентифікатор родини і технічний стан видалення, а не імена чи номери телефонів. Запис про це завдання зовнішнього видалення (внутрішній ідентифікатор родини, позначення постачальника, кількість спроб, час і код останньої помилки, без імен і номерів телефонів) сервер видаляє через 90 днів після його завершення; незавершене завдання зберігається до його завершення.
Ми зберігаємо доказ згоди на негайний початок Premium (внутрішні ідентифікатори сім'ї та користувача, час згоди, обраний план, початок оплаченого періоду, ідентифікатор транзакції магазину, внутрішній ідентифікатор спроби покупки та версія відображеного тексту) протягом періоду, необхідного для доведення цієї згоди в можливому спорі, стандартно 3 роки з моменту її надання. Після закінчення терміну доказ видаляється контрольованим чином. Доказ не видаляється разом з акаунтом або з родиною (пункт 7). Його копію (без внутрішнього ідентифікатора спроби покупки) ми також зберігаємо в окремому непублічному сховищі Cloudflare R2 (пункт 4), щоб доказ зберігся в разі втрати бази даних між створенням резервних копій; сховище само видаляє її через 1125 днів після збереження.
7. Ваші права
Ви маєте право:
- на доступ до всіх даних, які про вас і вашу родину зберігає застосунок (ст. 15 GDPR),
- на виправлення неточних даних (ст. 16 GDPR) — номер телефону ви можете змінити самостійно в Профілі після підтвердження нового номера SMS-кодом; якщо ви втратите доступ до облікового запису (наприклад, тому що номер змінив хтось інший з авторизованого пристрою), ми змінимо його за вашим запитом після перевірки особи,
- на видалення акаунта окремого члена (ст. 17 GDPR) — застосунок просто в застосунку (Мій профіль → Видалити акаунт) безповоротно видалить або анонімізує ім'я, телефон, фото і push-токен і видалить усі фото, які ви завантажили; для акаунта дитини також фото до її завдань, які за неї завантажили батьки. Із цим акаунтом більше не можна буде увійти, і в нього не залишиться імені чи контактів. В історії завдань і платежів залишаються лише облікові факти, потрібні для узгодженості решти родини (бали, сума, стан і час); довільна нотатка видаляється, а назви завдань і цілей замінюються нейтральним значенням. Ця історія не видаляється, бо залишається пов'язаною з рештою родини (інакше порушилася б їхня взаємна облікова узгодженість), але вона прив'язана лише до запису без імені та контактів. Записи прямих виплат і ручних погашень дитини (пункт 2) видаляються разом із дитиною. Записи журналу змін телефону та стану учасника (пункт 2) сервер видаляє з бази даних; їх копія в окремому сховищі зникає не пізніше ніж через 60 днів після збереження. Якщо дитина має борг, залишок або необроблені запити, застосунок перед видаленням покаже їй, які суми вона втратить, і видалення потрібно явно підтвердити; батьки потім отримають загальне сповіщення. Учасник, якого батьки видалили з родини, може після підтвердження кодом із SMS у застосунку сам назавжди видалити свій акаунт і тим самим звільнити свій номер телефону,
- на каскадне видалення всієї родини — коли хтось із батьків явно підтверджує видалення всієї родини, ми анонімізуємо всіх її членів, видаляємо їхні фотографії і додатково замінюємо довільні тексти й назви власних завдань, цілей і нагород нейтральними значеннями; ми також видалимо записи прямих виплат і ручних погашень родини (пункт 2), історію змін фінансових правил родини (під час найближчого очищення) та записи журналу змін телефону та стану учасника її членів (копія журналу в окремому сховищі зникає не пізніше ніж через 60 днів після збереження). Видалення іншого з батьків вимагає згоди відповідного з батьків: явна відмова зупиняє дію, без реакції дія виконується через 14 днів. Видалення всієї родини, у якій є ще хтось із батьків, вимагає явної згоди кожного іншого з батьків; без згоди всіх запит через 14 днів скасовується, і родина не видаляється. Родину, з якої за останні 14 днів було вилучено іншого з батьків, можна видалити не раніше ніж через 14 днів після його вилучення. Облікові записи про видалену родину, включно із залишками та станами позик і заощаджень дітей, видаляються з робочої бази даних не пізніше ніж через 30 днів після видалення; у зашифрованих резервних копіях вони можуть залишатися щонайбільше ще 30 днів, перш ніж резервна копія буде видалена. Документ про згоду на негайний початок дії Premium з видаленням родини не видаляється (пункт 6). Анонімізовані записи про використання партнерських кодів, які не містять персональних даних, зберігаються для обліку партнерів та захисту від зловживань. Після видалення медіафайлів відбудеться локальна анонімізація навіть тоді, коли RevenueCat тимчасово недоступний; зовнішній запит потім безпечно повторюється лише з внутрішнім ідентифікатором родини. RevenueCat виконує видалення асинхронно. Це не скасовує підписку, оформлену через App Store або Google Play — її батьки мають скасувати окремо в налаштуваннях відповідного магазину,
- на обмеження обробки (ст. 18 GDPR), наприклад, коли ви оскаржуєте точність даних, на час, поки ми її не перевіримо,
- на переносимість (ст. 20 GDPR) — дані, які ви нам надали і які ми обробляємо на підставі договору, ми передамо вам у структурованому, загальноприйнятому і машинозчитуваному форматі (наприклад, JSON), або за вашим запитом передамо їх іншому контролеру, якщо це технічно здійсненно,
- подати заперечення (ст. 21 GDPR) проти обробки, заснованої на нашому законному інтересі (пункт 2); ми припинимо обробку, якщо не доведемо наявність вагомих законних підстав, які переважають над вашими інтересами, правами і свободами, або якщо вона не потрібна нам для встановлення, здійснення або захисту юридичних вимог,
- будь-коли відкликати згоду (ст. 7(3) GDPR) — згоду на вимірювання реклами на сайті ви відкликаєте посиланням "Налаштування cookie" в нижньому колонтитулі сайту (пункт 9); відкликання не впливає на обробку до нього,
- подати скаргу до наглядового органу (ст. 77 GDPR) — у Чехії це Управління із захисту персональних даних (Úřad pro ochranu osobních údajů), Pplk. Sochora 27, 170 00 Praha 7, сайт uoou.gov.cz; ви також можете звернутися до наглядового органу в державі-члені ЄС, де ви живете або працюєте.
Запит надсилайте на privacy@kimda.app. Щоб ми не передали або не видалили дані комусь іншому, ми спочатку перевіримо, що запит подає власник акаунта (наприклад, підтвердженням з номера телефону, прив'язаного до акаунта); коди з SMS для входу нам ніколи не надсилайте. Єдиним винятком є код із SMS із позначкою «Kimda obnova účtu», який підтримка запросить у вас лише у відповідь на ваш власний запит на повернення перехопленого акаунта, або на ваше власне підтвердження такого запиту іншого з батьків у вашій родині (пункт 2); навіть тоді повідомляйте його лише службі підтримки, ніколи іншому члену родини. Підтримка запитує цей код у вас виключно електронною поштою з адреси support@kimda.app із номером вашого запиту, ніколи по телефону або через іншого члена родини. Запит на доступ або переносимість ми обробляємо експортом даних родини у форматі JSON (без токенів входу та їхніх відбитків і без відбитків початкових номерів телефонів із записів безпеки, які слугують лише для перевірки запиту на повернення акаунта, і без журналу змін телефону та стану учасника, який слугує лише для захисту від перехоплення номера; експорт містить записи прямих виплат і ручних погашень (пункт 2); для фото містить їхній технічний відбиток згідно з пунктом 3, самі фото за запитом передамо окремо); кожен експорт ми записуємо (хто його підготував, коли і на підставі якого запиту). Дані про події із журналу змін телефону та стану учасника (вид і час, без відбитків) ми повідомимо вам за запитом. Ми відповімо без невиправданої затримки, не пізніше ніж протягом одного місяця; у складніших випадках ми можемо продовжити строк ще на два місяці, про що ми своєчасно вас поінформуємо. Права дитини за неї можуть реалізувати батьки як законні представники.
8. Безпека
Паролі застосунок не використовує (вхід лише через підтверджений телефон). Доступ захищає короткостроковий токен входу з терміном дії 15 хвилин і токен оновлення, який сервер зберігає лише як відбиток; у разі доведеного повторного використання вже заміненого токена оновлення сервер виконує вихід з акаунта на всіх пристроях, скасовує його реєстрації для сповіщень, записує запис безпеки і сповіщає інших батьків. У робочому середовищі зв'язок між застосунком і сервером відбувається через HTTPS. Фотографії зберігаються в непублічному сховищі, і бекенд перед їх видачею перевіряє акаунт і належність до тієї самої родини. Резервні копії бази даних зашифровані ще перед переданням, і розшифрувати їх можна лише приватним ключем, збереженим поза хмарою; промокоди знаходяться в базі даних лише як відбиток HMAC із ключем поза базою даних, і управління промокодами ми записуємо. Номери телефонів, токени або вміст запитів сервер у робочі логи не записує.
9. Сайт kimda.app і cookie
Цей пункт стосується лише відвідувачів сайту kimda.app, а не користування застосунком. Сайт працює в мережі Cloudflare, яка під час кожного відвідування технічно обробляє IP-адресу та дані про браузер, щоб мати змогу доставити сторінку й захистити її від атак; записи для діагностики помилок сайту Cloudflare зберігає не довше 3 днів. Залежно від мови браузера (для посилання на завантаження також залежно від типу пристрою) сайт переспрямує вас на відповідну версію сторінки. Правовою підставою є наш законний інтерес у безпечному і функціональному сайті (ст. 6(1)(f) GDPR). Вибрану тему сайт запам'ятовує лише у вашому браузері (localStorage). Рішення щодо cookie сайт зберігає в localStorage і в суворо необхідному технічному cookie kimda-consent-proof (термін дії 180 днів), який містить лише тип вибору та час рішення, без ідентифікатора особи чи акаунта. Браузер технічно надсилає його з кожним запитом до сайту; сервер його не аналізує, він слугує виключно скрипту в браузері для перевірки того, що згоду не було відкликано. Цей cookie не потребує згоди і не використовується для вимірювань чи реклами.
Лише якщо ви натиснете "Погоджуюсь" на панелі на сайті, сайт завантажить Meta Pixel компанії Meta Platforms Ireland Limited. Він зберігає в браузері cookie (наприклад, _fbp з терміном дії до 90 днів) і надсилає Meta дані про відвідування: переглянуту сторінку, IP-адресу, дані про браузер та ідентифікатор cookie. Це слугує нам для вимірювання ефективності реклами у Facebook та Instagram. Правовою підставою є ваша згода (ст. 6(1)(a) GDPR і § 89(3) Закону № 127/2005 Зб. про електронні комунікації). За збирання та передання цих даних ми відповідаємо спільно з Meta; їх подальшу обробку, зокрема можливе передання до США на підставі рамкової угоди ЄС-США про захист персональних даних (Data Privacy Framework), здійснює Meta як самостійний контролер відповідно до своєї політики на facebook.com/privacy/policy. Дані із застосунку, акаунта чи родини ми ніколи не надсилаємо Meta.
Без згоди Meta Pixel взагалі не завантажується. Згоду ви можете будь-коли відкликати посиланням "Налаштування cookie" в нижньому колонтитулі сайту; сайт потім видалить cookie Pixel і більше не завантажуватиме його.
Якщо через сторінку для тестувальників ви приєднаєтеся до групи тестувальників у Google Groups, адміністратор групи побачить e-mail вашого акаунта Google; ми використаємо його лише для тестування застосунку і для доступу до його тестової версії в Google Play. Тестову версію для iPhone поширює Apple через TestFlight. Google і Apple при цьому обробляють дані як самостійні контролери відповідно до своїх політик. Правовою підставою є ваш запит на участь у тестуванні (ст. 6(1)(b) GDPR). E-mail залишиться в групі, поки ви з неї не вийдете або поки тестування не закінчиться.
10. Зміни цієї політики
Про будь-які суттєві зміни цієї політики ми повідомимо вас у застосунку та на сайті kimda.app. Застосунок розпізнає, з якою версією політики ви погодилися: батьків він попросить підтвердити нову версію (і за потреби дати згоду за дітей), дитина візьме її до відома. Час і версію підтвердження ми запишемо.
11. Контакти
Запитання щодо захисту персональних даних: privacy@kimda.app