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, Чешская Республика. Контактный e-mail по вопросам конфиденциальности и для реализации ваших прав: 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