Политика конфиденциальности
1. Введение
1.1 Кто мы
Приложение Resolve AI (далее — «Приложение», «Сервис», «мы») разработано и администрируется Kentaurus (далее — «Оператор», «Компания»). Сервис предназначен для пользователей школьного возраста (4–11 классов) и предоставляет интеллектуального AI-ассистента, помогающего с домашними заданиями по математике, физике, информатике, русскому и иностранным языкам, а также другим предметам школьной программы.
1.2 Назначение документа
Настоящая Политика конфиденциальности (далее — «Политика») разработана в соответствии с:
- Федеральным законом от 27.07.2006 № 152-ФЗ «О персональных данных» (далее — 152-ФЗ);
- General Data Protection Regulation (GDPR) (EU) 2016/679;
- California Consumer Privacy Act (CCPA/CPRA);
- Требованиями Apple App Store Review Guidelines (п. 5.1.1, 5.1.2, 5.1.3);
- Иными применимыми нормативными актами в области защиты персональных данных.
1.3 Согласие пользователя
Устанавливая Приложение и/или начиная его использование (включая прохождение регистрации), Пользователь подтверждает, что:
- ознакомился с условиями настоящей Политики в полном объёме;
- понимает и принимает порядок обработки его данных, описанный в Политике;
- даёт согласие на обработку персональных данных на условиях, изложенных в Политике (ст. 9 152-ФЗ);
- согласие может быть отозвано в любой момент путём удаления аккаунта (см. раздел 5).
Если Пользователь не согласен с условиями Политики, он обязан прекратить использование Приложения и удалить его со своего устройства.
1.4 Минимальный возраст
Сервис не предназначен для детей младше 13 лет (либо иного возраста, установленного применимым законодательством для самостоятельного согласия на обработку персональных данных). Лица младше указанного возраста могут использовать Приложение только с согласия и под контролем родителей (законных представителей). Родители (законные представители) могут в любой момент запросить удаление аккаунта ребёнка (см. раздел 5).
2. Какие данные мы собираем
Мы придерживаемся принципа минимизации данных: собираем только тот объём информации, который необходим для работы Приложения. В Приложении отсутствуют рекламные SDK. Единственный сторонний сервис аналитики и атрибуции — AppsFlyer, описанный ниже; Firebase Analytics, Amplitude и аналогичные SDK не используются.
Единственный сторонний сервис аналитики, подключённый к Приложению, — AppsFlyer (AppsFlyer Ltd., Израиль). Он используется для измерения источников установок; состав передаваемых в него данных описан в разделе 3.5. Данные обрабатываются за пределами Российской Федерации — на серверах оператора сервиса в Европейском союзе и США. Рекламный идентификатор устройства (IDFA) Приложение не собирает, разрешение App Tracking Transparency не запрашивает, cross-app tracking (отслеживание действий Пользователя в других приложениях) не ведёт.
Остальные данные, перечисленные в настоящем разделе, обрабатываются исключительно на нашем собственном сервере (см. раздел 3) и используются только для внутренней аналитики качества работы нейросети, UX/UI-оптимизации и улучшения ответов AI.
2.1 Данные, которые мы получаем через Sign in with Apple
Регистрация и вход в Приложение выполняются исключительно через Sign in with Apple. Отдельного пароля для входа в Resolve AI не существует: Приложение никогда не запрашивает, не видит и не хранит пароль Пользователя — аутентификацию полностью берёт на себя Apple. При каждом входе Apple выдаёт Приложению подписанный идентификационный токен (JWT), который наш сервер проверяет по публичным ключам Apple, прежде чем создать сессию.
| Категория | Назначение | Обязательность |
|---|---|---|
Идентификатор Apple ID (appleUserId) |
Уникальная идентификация аккаунта в Приложении | Обязательно |
| Email-адрес | Идентификация аккаунта, уведомления, обращения в поддержку. По выбору Пользователя в диалоге Sign in with Apple это может быть его настоящий адрес либо анонимизированный адрес-релей Apple («Hide My Email»), пересылающий письма без раскрытия реального адреса | Обязательно |
| Имя и фамилия | Персонализация интерфейса. Передаются Apple только при самой первой авторизации (если Пользователь разрешил это в диалоге Sign in with Apple) и сохраняются на сервере; при повторных входах Apple их повторно не сообщает | Опционально — по решению Пользователя в диалоге Apple |
2.2 Данные, которые генерируются автоматически при использовании
| Категория | Назначение |
|---|---|
Идентификатор устройства (identifierForVendor) |
Привязка аккаунта к устройству, защита от множественных регистраций, антифрод |
| Сессионный токен (Bearer) | Авторизация запросов. TTL — 90 дней. Хранится в iOS Keychain |
| Платформа и версия приложения (iOS, appVersion) | Диагностика совместимости |
| Поведенческие метрики вовлечённости (engagement metrics) | Время, потраченное Пользователем на чтение ответа AI (read-time); длительность нахождения на экране чата; частота открытия и закрытия экрана; факт прокрутки до конца ответа. Привязаны к обезличенному внутреннему userId, не содержат текст сообщений и не используются для рекламы. Применяются исключительно для UX/UI-оптимизации и улучшения качества ответов нейросети |
| События использования (analytics_events) | Тип события (например, app_open, solve_start, solve_done, chat_open, rating_submitted), временная метка, обезличенный идентификатор пользователя, платформа и версия Приложения. Используются только для внутренней статистики работы Сервиса |
| Приблизительное место регистрации (город и страна по IP) | Один раз при создании аккаунта сервер определяет город по IP-адресу запроса (без GPS и без запроса разрешения геолокации). Нужно для внутренней статистики, где появляются новые пользователи. Точные координаты устройства не собираются. Удаляется вместе с аккаунтом |
2.3 Контент, который вы загружаете
| Категория | Назначение | Срок хранения |
|---|---|---|
| Изображения задач (фото из галереи или с камеры) | Передаются в AI-модель для распознавания и решения задачи | Временное хранение в оперативной памяти сервера — 30 минут, после чего безвозвратно удаляются. На диск не сохраняются. Для обработки запрос передаётся через OpenRouter выбранному поставщику AI-модели (см. раздел 3.1) |
| Текстовые промпты (условие задачи) | Обработка AI-моделью, отображение в истории диалогов | Хранятся в базе данных на срок существования аккаунта |
| Ответы AI | Отображение пользователю, история диалогов | Хранятся в базе данных на срок существования аккаунта |
| История диалогов и чат-сессии | Возможность вернуться к ранее решённым задачам, уточнить решение | Хранятся в базе данных на срок существования аккаунта |
| Оценки ответов AI (лайк/дизлайк, причина) | Бинарная оценка «полезно / не полезно» (лайк/дизлайк) и опциональный текстовый комментарий с причиной недовольства, который Пользователь вводит добровольно. Используются как обезличенная обратная связь для дообучения и UX-оптимизации AI | Хранятся в базе данных на срок существования аккаунта |
2.4 Доступ к функциям устройства (iOS Permissions)
Приложение запрашивает у операционной системы iOS следующие разрешения, каждое из которых Пользователь предоставляет добровольно:
| Разрешение | Цель использования |
|---|---|
| NSCameraUsageDescription | Создание фотографии условия задачи для её последующего решения |
| NSPhotoLibraryUsageDescription | Выбор уже существующей фотографии условия задачи |
| NSPhotoLibraryAddUsageDescription | Сохранение снимка задачи, созданного в Приложении |
Пользователь может в любой момент отозвать любое из этих разрешений в системных настройках iOS (Настройки → Конфиденциальность). Отзыв разрешения не влияет на работоспособность остальных функций Приложения.
2.5 Данные, которые мы НЕ собираем
Мы категорически не собираем и не обрабатываем:
- точные геолокационные данные (GPS, координаты);
- данные контактов, календаря, заметок, SMS/звонков;
- биометрические данные (Face ID / Touch ID используются только на стороне ОС для разблокировки устройства и не передаются в Приложение);
- рекламный идентификатор IDFA — не собирается ни в каком виде; IDFV (
identifierForVendor) используется как технический идентификатор устройства и передаётся только в AppsFlyer в объёме, описанном в разделе 3.5; - данные о поведении пользователя в других приложениях (cross-app tracking);
- прямые платёжные реквизиты (номера банковских карт, CVV и т. п.) — подписки и разовые пакеты решений обрабатываются Apple, Google Play или Tribute; наш сервер получает только идентификатор транзакции, идентификатор товара и статус покупки — см. раздел 3.2;
- данные о расовой, этнической принадлежности, политических взглядах, религиозных или философских убеждениях, состоянии здоровья, сексуальной жизни (ст. 10 152-ФЗ);
- любые «специальные категории персональных данных» по GDPR (Art. 9).
Важное уточнение. Перечисленные выше запреты касаются внешнего (third-party) отслеживания и категорий данных, которые мы принципиально не запрашиваем у Пользователя и не обрабатываем. Внутри Приложения (на нашем собственном сервере) мы обрабатываем first-party метрики вовлечённости, описанные в разделах 2.2 и 2.3 (время чтения ответа, события использования, оценки «лайк/дизлайк», причины недовольства). Эти метрики:
- не покидают наш сервер и не передаются третьим лицам;
- не используются для cross-app tracking (отслеживания Пользователя в других приложениях) и не продаются;
- не используются для таргетированной рекламы, поскольку в Приложении отсутствует реклама;
- удаляются вместе с аккаунтом в порядке, описанном в разделе 5.
3. Сторонние сервисы
Приложение использует ограниченный и строго определённый набор сторонних сервисов. Каждый из них применяется только для конкретной технической задачи.
3.1 OpenRouter и поставщик AI-модели (обработка AI-запросов)
Для генерации ответов AI мы используем API OpenRouter (эндпоинт: https://openrouter.ai/api/v1/chat/completions). На дату обновления Политики для запросов текста и изображений настроена модель xiaomi/mimo-v2.5. Оператор может менять модель или поставщика для обеспечения качества и доступности Сервиса.
- текстовые промпты Пользователя;
- прикреплённые изображения (base64);
- системные инструкции (промпт-шаблоны).
OpenRouter выступает посредником между Сервисом и выбранным поставщиком модели; запросы передаются этому поставщику для генерации ответа. Политика конфиденциальности OpenRouter доступна здесь. Режим хранения и использования входных и выходных данных поставщиком модели может отличаться; перед сменой поставщика Оператор учитывает его условия обработки данных.
Трансграничная передача данных: использование OpenRouter и поставщика AI-модели подразумевает передачу промптов и (опционально) изображений на серверы, расположенные за пределами Российской Федерации. Пользователь, проходя регистрацию, явно соглашается с такой трансграничной передачей в порядке ст. 12 152-ФЗ.
3.2 Магазины и платёжные партнёры (подписки и пакеты решений)
В Приложении нет бесплатного тарифа: решение задач доступно при активной подписке, активном разовом 7-дневном ознакомительном периоде (триале) либо при наличии купленных решений. Пакеты решений — неистекающие разовые кредиты; мы храним баланс, идентификатор покупки и технический журнал списаний/возвратов. Покупка и продление подписки, а также покупка пакетов, обрабатываются Apple через App Store In-App Purchase, Google Play или Tribute в Telegram Mini App. Наш сервер не получает и не хранит номера банковских карт или иные платёжные реквизиты — только идентификатор транзакции, идентификатор товара (productId) и статус покупки, которые мы:
- верифицируем через официальный Apple App Store Server API;
- обновляем по серверным уведомлениям Apple, Google Play и Tribute о покупке и возврате средств; при возврате отзываем только неиспользованный остаток соответствующего пакета.
Ознакомительный период (триал) активируется напрямую нашим сервером, без ввода каких-либо платёжных данных, и доступен один раз на аккаунт. Условия подписки и пакетов решений — в Условиях использования.
3.3 Отправка email (SMTP)
Для отправки писем, связанных с аккаунтом и работой Сервиса (например, уведомления об изменениях настоящей Политики — см. раздел 6, ответы на обращения в поддержку, административные информационные сообщения от Оператора), используется собственный SMTP-сервер (kentaurus.tech, локальный Postfix). Рекламные материалы сторонних компаний через этот канал не рассылаются.
3.4 Сторонние SDK, которые НЕ используются в Приложении
Мы не интегрируем следующие категории стороннего программного обеспечения:
- рекламные SDK (AdMob, Facebook Audience Network, Unity Ads и т. п.);
- аналитические SDK, кроме указанного в разделе 3.5 (Firebase Analytics, Google Analytics, Amplitude, Mixpanel, Segment);
- атрибуционные SDK, кроме AppsFlyer, описанного в разделе 3.5 (Adjust, Branch);
- социальные SDK (Facebook SDK, VK SDK, TikTok SDK);
- crash-репортеры (Firebase Crashlytics, Sentry, Bugsnag);
- иные трекеры поведения.
Приложение не содержит кода отслеживания действий пользователя (tracking) в понимании App Tracking Transparency (ATT) и не запрашивает разрешение NSUserTrackingUsageDescription. Это остаётся верным и после подключения AppsFlyer: сбор рекламного идентификатора (IDFA) в Приложении отключён на уровне настроек SDK, поэтому связывание данных Пользователя с данными третьих лиц в рекламных целях технически невозможно.
3.5 AppsFlyer (аналитика источников установок)
Оператор: AppsFlyer Ltd., Израиль. Сервис используется для того, чтобы понимать, из какого источника пришла установка Приложения.
Что передаётся в AppsFlyer:
- идентификатор устройства, назначаемый самим AppsFlyer (AppsFlyer ID), и идентификатор
identifierForVendor(IDFV) — идентификатор, уникальный для нашего Приложения на данном устройстве и сбрасываемый при его удалении; - внутренний идентификатор аккаунта в нашей системе (customer user ID) — технический номер, по которому источник установки сопоставляется с аккаунтом; он не содержит ни имени, ни адреса электронной почты;
- технические характеристики: модель устройства, версия iOS, версия Приложения, язык, страна и город по IP-адресу;
- ограниченный перечень событий, связанных с подпиской, — их имена и числовые параметры (регистрация, завершение обучающего сценария, начало пробного периода, оформление и восстановление подписки, первое решённое задание).
Что не передаётся: адрес электронной почты, имя, содержание домашних заданий, фотографии, тексты диалогов с нейросетью и любой иной пользовательский контент. В AppsFlyer передаётся только ограниченный перечень событий, указанный выше; просмотры экранов, время ответа и остальные продуктовые метрики обрабатываются только на нашем бэкенде.
Рекламный идентификатор IDFA не собирается: его сбор отключён в настройках SDK. Данные обрабатываются в соответствии с Политикой конфиденциальности AppsFlyer и хранятся на серверах оператора сервиса в Европейском союзе и США.
Трансграничная передача. Передавая данные в AppsFlyer, мы осуществляем трансграничную передачу персональных данных на территорию Государства Израиль, Европейского союза и США. Израиль признан государством, обеспечивающим адекватную защиту прав субъектов персональных данных; для остальных территорий передача осуществляется с согласия Пользователя, выраженного принятием настоящей Политики.
О first-party метриках. Описанные выше first-party метрики (время чтения ответа AI, оценки «лайк/дизлайк» и причины недовольства, диагностика сбоев и зависаний) обрабатываются только на нашем собственном бэкенде (
api.kentaurus.tech). В AppsFlyer не передаются содержание задач, фотографии, тексты диалогов и контактные данные — только имена событий, их числовые параметры и идентификаторы устройства, перечисленные в разделе 3.5. Эти метрики являются внутренней аналитикой качества, используются исключительно для улучшения работы Сервиса и не образуют «tracking» в смысле ATT, поскольку не используются для профилирования Пользователя в рекламных целях.
4. Безопасность данных
Мы применяем комплекс технических и организационных мер для защиты данных Пользователей.
4.1 Технические меры
| Уровень | Реализация |
|---|---|
| Передача данных | API защищён TLS 1.2+ (HTTPS). Клиент-серверное взаимодействие — через защищённый канал |
| Аутентификация | Sign in with Apple: подписанный идентификационный JWT-токен от Apple проверяется по публичным ключам Apple (алгоритм RS256). Пароль Пользователя Приложением не запрашивается, не передаётся и не хранится |
| Сессионный токен | Bearer-токен, TTL 90 дней, хранится в iOS Keychain (аппаратно-защищённое Secure Enclave-хранилище) |
| Хранение изображений | Временное хранение только в оперативной памяти (in-memory ConcurrentDictionary, TTL 30 минут), без записи на диск |
| Паролирование БД | Учётные данные БД PostgreSQL хранятся в переменных окружения Docker, не в коде |
| Защита сервера | Reverse-proxy nginx с Let's Encrypt SSL, межсервисная изоляция через Docker-сеть |
4.2 Организационные меры
- Доступ к production-базе строго ограничен;
- Данные Пользователей не передаются третьим лицам, кроме случаев, описанных в разделе 3, и случаев, прямо предусмотренных законом (по мотивированному запросу государственных органов в порядке, установленном 152-ФЗ);
- В случае инцидента безопасности, приводящего к утечке данных, мы уведомляем затронутых Пользователей в течение 72 часов с момента обнаружения инцидента.
4.3 Ограничение ответственности
Несмотря на все принимаемые меры, ни один метод передачи данных через Интернет и ни один метод хранения данных не является абсолютно безопасным. Мы не можем гарантировать абсолютную безопасность данных. Пользователь принимает на себя риски, связанные с использованием сетей общего доступа.
5. Права Пользователя и удаление аккаунта / данных
5.1 Ваши права
Пользователь имеет право в любой момент:
| Право | Что это значит | Как реализовать |
|---|---|---|
| На доступ (ст. 14 152-ФЗ / Art. 15 GDPR) | Получить подтверждение, какие данные мы обрабатываем, и копию этих данных | Email-запрос на privacy@kentaurus.tech |
| На уточнение | Исправить неточные или устаревшие данные о себе | Самостоятельно в Приложении (раздел «Аккаунт») или по email |
| На удаление («право быть забытым») | Потребовать полного удаления аккаунта и всех связанных данных | См. раздел 5.2 |
| На отзыв согласия | Отозвать согласие на обработку данных без объяснения причин | Удаление аккаунта = отзыв согласия на обработку |
| На ограничение обработки | Временно запретить обработку данных | Email-запрос |
| На переносимость данных (Art. 20 GDPR) | Получить данные в машиночитаемом формате (JSON) | Email-запрос |
| На обжалование | Подать жалобу в надзорный орган (Роскомнадзор в РФ) | — |
5.2 Удаление аккаунта (КРИТИЧЕСКИ ВАЖНЫЙ ПУНКТ ДЛЯ APPLE)
Вы можете удалить свой аккаунт и все связанные с ним данные двумя способами:
Способ A — через Приложение (рекомендуемый):
- Откройте Приложение Resolve AI;
- Перейдите в «Настройки» (Settings);
- Выберите раздел «Аккаунт» (Account);
- Прокрутите вниз до блока «Управление аккаунтом» (Manage Account);
- Нажмите на строку «Удалить аккаунт» (Delete Account) — выделена красным цветом;
- Подтвердите удаление во всплывающем диалоговом окне;
- После подтверждения аккаунт и все связанные с ним данные будут помечены к удалению.
Способ B — по электронной почте:
Отправьте запрос с адреса электронной почты, на который зарегистрирован аккаунт, на адрес privacy@kentaurus.tech с темой письма «Удаление аккаунта / Account Deletion». В письме укажите:
- email, на который зарегистрирован аккаунт;
- подтверждение, что вы являетесь владельцем аккаунта.
5.3 Что удаляется при удалении аккаунта
| Категория | Срок | Что происходит |
|---|---|---|
| Аккаунт (email, имя, фамилия, идентификатор Apple ID) | Немедленно при подтверждении | Удаляется из основной базы данных |
| История диалогов, чат-сессии, текстовые промпты, ответы AI | Немедленно | Удаляются |
| Оценки ответов AI (лайк/дизлайк и текстовые причины) | Немедленно | Удаляются вместе с привязкой к userId |
| Изображения задач | Не хранятся на постоянной основе (только in-memory 30 минут) | Уже отсутствуют в момент удаления аккаунта |
| Сессионный токен на устройстве | Немедленно | Удаляется из iOS Keychain локально |
| Поведенческие метрики вовлечённости (время чтения, длительность сессии) | Немедленно | Удаляются в привязке к обезличенному userId; полностью обезличенная агрегированная статистика без возможности восстановления связи с Пользователем может сохраняться |
| События использования (analytics_events) | Немедленно | Удаляются в привязке к userId |
| Приблизительное место регистрации (город и страна по IP) | Немедленно | Удаляется вместе со строкой аккаунта |
| Связка с AppsFlyer (идентификатор устройства AppsFlyer, хэш IDFV, источник установки) | Немедленно | Удаляется из нашей базы вместе с аккаунтом |
Снапшот удалённого аккаунта (email_normalized, request_count, срок восстановления) |
365 дней | Сохраняется исключительно для технической возможности восстановления лимитов при повторной регистрации в течение 1 года. По истечении 365 дней снапшот удаляется полностью |
Снапшот удалённого аккаунта содержит исключительно нормализованный email и технические счётчики (количество запросов, дата восстановления). Он не содержит паролей, текстов диалогов, изображений или иного контента.
О данных, уже переданных в AppsFlyer. Обезличенная статистика событий, ранее отправленная в AppsFlyer, остаётся на серверах оператора этого сервиса в течение установленного им срока хранения. Она не содержит адреса электронной почты, имени, текстов диалогов, изображений и иного пользовательского контента. Связь этой статистики с конкретным аккаунтом существовала только в нашей базе данных и удаляется вместе с аккаунтом — после удаления сопоставить эти события с Пользователем невозможно. Приложение прекращает отправку данных в AppsFlyer сразу после удаления аккаунта.
5.4 Срок обработки запроса
Запрос на удаление обрабатывается в течение 7 (семи) рабочих дней с момента получения подтверждения владения аккаунтом. Мы уведомим вас по электронной почте о фактическом удалении.
6. Изменения в Политике конфиденциальности
6.1 Порядок уведомления
- Мы можем обновлять настоящую Политику для отражения изменений в работе Приложения, требованиях законодательства или правоприменительной практике.
- Актуальная версия Политики всегда доступна по постоянному URL-адресу, указанному в карточке App Store.
- Дата последнего обновления указана в начале документа.
- Существенные изменения (затрагивающие категории обрабатываемых данных, цели обработки, порядок передачи третьим лицам) доводятся до Пользователей не менее чем за 14 (четырнадцать) календарных дней до вступления изменений в силу путём:
- push-уведомления в Приложении;
- электронного письма на адрес, указанный при регистрации;
-
баннера в Приложении при следующем запуске.
-
Продолжение использования Приложения после вступления изменений в силу означает согласие с обновлённой Политикой. Если Пользователь не согласен с обновлениями, он вправе удалить аккаунт до даты вступления изменений в силу.
6.2 Архив версий
Предыдущие редакции Политики могут быть предоставлены по запросу на privacy@kentaurus.tech.
7. Контактная информация
По всем вопросам, связанным с настоящей Политикой, обработкой персональных данных, реализацией прав Пользователя, а также по запросам модераторов Apple App Store:
📧 Email: privacy@kentaurus.tech
🌐 Доменное имя Сервиса: kentaurus.tech
📱 Приложение: Resolve AI (Apple ID: см. в App Store)
Оператор обрабатывает обращения в течение 30 (тридцати) календарных дней с момента получения запроса.
Для обращений по правовым основаниям в Российской Федерации:
Kentaurus, email: privacy@kentaurus.tech
Privacy Policy
1. Introduction
1.1 Who We Are
Resolve AI (the "Application", "Service", "we", "us") is developed and operated by Kentaurus (the "Operator", "Company"). The Service is intended for school-age users (grades 4–11) and provides an intelligent AI assistant that helps with homework in mathematics, physics, computer science, languages, and other school subjects.
1.2 Scope of This Policy
This Privacy Policy (the "Policy") is designed to comply with:
- The General Data Protection Regulation (GDPR) (EU) 2016/679;
- The California Consumer Privacy Act / California Privacy Rights Act (CCPA/CPRA);
- UK Data Protection Act 2018;
- Apple App Store Review Guidelines (sections 5.1.1, 5.1.2, 5.1.3);
- Russian Federal Law No. 152-FZ on Personal Data (for users in the Russian Federation);
- Other applicable data protection laws.
1.3 User Consent
By installing the Application and/or starting to use it (including completing registration), the User confirms that they:
- have read and understood this Policy in full;
- understand and accept the data processing practices described herein;
- consent to the processing of personal data on the terms set out in this Policy;
- may withdraw consent at any time by deleting the account (see Section 5).
If the User does not agree with the terms of this Policy, they must stop using the Application and remove it from their device.
1.4 Minimum Age
The Service is not intended for children under 13 (or such other age as established by applicable law for independent consent to personal data processing). Younger users may use the Application only with the consent and supervision of their parents or legal guardians. Parents or legal guardians may at any time request the deletion of the child's account (see Section 5).
2. What Data We Collect
We follow the data minimization principle: we collect only the information necessary to operate the Application. The Application does not contain advertising SDKs. AppsFlyer, described below, is the only third-party analytics and attribution service; Firebase Analytics, Amplitude, and similar SDKs are not used.
The only third-party analytics service integrated into the Application is AppsFlyer (AppsFlyer Ltd., Israel). It is used to measure install sources; the data transmitted to it is described in Section 3.5. The data is processed on the service operator's servers in the European Union and the United States. The Application does not collect the advertising identifier (IDFA), does not request App Tracking Transparency permission, and does not perform cross-app tracking (monitoring the User's activity in other applications).
All other data listed in this Section is processed exclusively on our own server (see Section 3) and is used solely for internal AI quality analytics, UX/UI optimization, and improving AI responses.
2.1 Data We Receive via Sign in with Apple
Registration and sign-in are performed exclusively via Sign in with Apple. Resolve AI has no separate password: the Application never requests, sees, or stores a User's password — Apple handles authentication entirely. On every sign-in, Apple issues the Application a signed identity token (JWT), which our server verifies against Apple's public keys before creating a session.
| Category | Purpose | Required |
|---|---|---|
Apple ID identifier (appleUserId) |
Unique identification of the account within the Application | Yes |
| Email address | Account identification, notifications, support inquiries. Depending on the User's choice in the Sign in with Apple dialog, this may be the User's real address or Apple's anonymized relay address ("Hide My Email"), which forwards mail without revealing the real address | Yes |
| First and last name | UI personalization. Provided by Apple only on the very first authorization (if the User allowed it in the Sign in with Apple dialog) and stored on our server; Apple does not resend them on subsequent sign-ins | Optional — depends on the User's choice in the Apple dialog |
2.2 Data Automatically Generated
| Category | Purpose |
|---|---|
Device identifier (identifierForVendor) |
Account-to-device binding, anti-fraud, prevention of multiple registrations |
| Session token (Bearer) | Request authorization. 90-day TTL. Stored in iOS Keychain |
| Platform and app version (iOS, appVersion) | Compatibility diagnostics |
| Engagement behavioral metrics | Time spent by the User reading the AI response (read-time); duration of presence on the chat screen; frequency of opening/closing the screen; whether the User scrolled to the end of the response. Linked to a pseudonymized internal userId, do not contain message text, and are not used for advertising. Used solely for UX/UI optimization and AI quality improvement |
| Usage events (analytics_events) | Event type (e.g., app_open, solve_start, solve_done, chat_open, rating_submitted), timestamp, pseudonymized user identifier, platform and Application version. Used solely for internal Service statistics |
| Approximate registration location (city and country derived from IP) | Once, when the account is created, the server derives a city from the request IP (no GPS, no location permission). Used for internal statistics on where new users appear. Precise device coordinates are not collected. Deleted with the account |
2.3 Content You Upload
| Category | Purpose | Retention |
|---|---|---|
| Images of assignments (from gallery or camera) | Transmitted to the AI model for recognition and solving | Temporary storage in server RAM — 30 minutes, then permanently deleted. Not written to disk. For processing, the request is sent through OpenRouter to the selected AI model provider (see Section 3.1) |
| Text prompts (assignment text) | Processed by AI, displayed in chat history | Stored for the lifetime of the account |
| AI responses | Displayed to user, kept in chat history | Stored for the lifetime of the account |
| Chat sessions and dialog history | Ability to revisit and refine previous solutions | Stored for the lifetime of the account |
| AI response ratings (like/dislike, reason) | A binary "helpful / not helpful" rating (like/dislike) and an optional free-text comment with the User's reason for dissatisfaction, entered voluntarily. Used as pseudonymized feedback for AI fine-tuning and UX optimization | Stored for the lifetime of the account |
2.4 Device Permissions (iOS)
The Application requests the following iOS permissions, each granted voluntarily by the User:
| Permission | Purpose |
|---|---|
| NSCameraUsageDescription | Capture a photo of the assignment to be solved |
| NSPhotoLibraryUsageDescription | Select an existing photo of the assignment |
| NSPhotoLibraryAddUsageDescription | Save a captured photo of the assignment |
The User may revoke any permission at any time via iOS system settings (Settings → Privacy). Revoking a permission does not affect the operation of any other Application feature.
2.5 Data We Do NOT Collect
We strictly do not collect or process:
- precise geolocation data (GPS coordinates);
- contacts, calendar, notes, SMS/call data;
- biometric data (Face ID / Touch ID are used only locally by the OS to unlock the device and are never transmitted to the Application);
- the IDFA advertising identifier — never collected in any form; IDFV (
identifierForVendor) is used as a technical device identifier and is shared only with AppsFlyer, to the extent described in Section 3.5; - cross-application behavioral data;
- direct payment credentials (card numbers, CVV, etc.) — subscriptions and one-time solution packs are handled by Apple, Google Play, or Tribute; our server receives only a transaction identifier, product identifier, and purchase status — see Section 3.2;
- data revealing racial or ethnic origin, political opinions, religious or philosophical beliefs, trade union membership, genetic data, biometric data for the purpose of uniquely identifying a person, data concerning health, or data concerning a natural person's sex life or sexual orientation (GDPR Art. 9);
- any data of minors that we knowingly collect without appropriate parental consent.
Important clarification. The prohibitions listed above concern third-party tracking and categories of data that we do not request from the User and do not process. Inside the Application (on our own server) we process first-party engagement metrics described in Sections 2.2 and 2.3 (read-time, usage events, like/dislike ratings, reasons for dissatisfaction). These metrics:
- never leave our server and are never shared with third parties;
- are not used for cross-app tracking (monitoring the User in other applications) and are never sold;
- are not used for targeted advertising, since the Application contains no advertising;
- are deleted together with the account as described in Section 5.
3. Third-Party Services
The Application uses a strictly limited set of third-party services. Each is used only for a specific technical purpose.
3.1 OpenRouter and AI Model Provider (AI Request Processing)
We use the OpenRouter API (endpoint: https://openrouter.ai/api/v1/chat/completions) to generate AI responses. As of this Policy's update date, text and image requests are configured to use xiaomi/mimo-v2.5. We may change the model or provider to maintain the Service's quality and availability.
- User text prompts;
- attached images (base64);
- system instructions (prompt templates).
OpenRouter acts as an intermediary between the Service and the selected model provider; requests are passed to that provider to generate a response. OpenRouter's Privacy Policy is available here. The model provider's retention and data-use practices may differ; before changing providers, we consider those data-processing terms.
Cross-border data transfer: use of OpenRouter and the AI model provider involves the transfer of prompts and (optionally) images to servers located outside the Russian Federation. By completing registration, the User explicitly consents to such cross-border transfer in accordance with applicable law.
3.2 Stores and Payment Partners (Subscriptions and Solution Packs)
The Application has no free tier: solving assignments requires an active subscription, an active one-time 7-day trial period, or purchased solutions. Solution packs are non-expiring one-time credits; we store their balance, purchase identifier, and a technical spend/refund ledger. Subscription purchase and renewal, as well as pack purchases, are processed by Apple through App Store In-App Purchase, Google Play, or Tribute in the Telegram Mini App. Our server never receives or stores card numbers or other payment credentials — only the transaction identifier, product identifier (productId), and purchase status, which we:
- verify through the official Apple App Store Server API;
- keep up to date via server notifications from Apple, Google Play, and Tribute about purchases and refunds; after a refund we revoke only the unused remainder of that particular pack.
The trial period is activated directly by our server, with no payment details required, and is available once per account. Terms for subscriptions and solution packs are set out in the Terms of Use.
3.3 Email Delivery (SMTP)
We use our own SMTP server (kentaurus.tech, local Postfix) to send account- and service-related email (for example, notices about changes to this Policy — see Section 6, support replies, and administrative informational messages from the Operator). We do not send third-party advertising through this channel.
3.4 Third-Party SDKs That Are NOT Used in the Application
We do not integrate the following categories of third-party software:
- advertising SDKs (AdMob, Facebook Audience Network, Unity Ads, etc.);
- analytics SDKs other than the one described in Section 3.5 (Firebase Analytics, Google Analytics, Amplitude, Mixpanel, Segment);
- attribution SDKs other than AppsFlyer, which is described in Section 3.5 (Adjust, Branch);
- social SDKs (Facebook SDK, VK SDK, TikTok SDK);
- crash reporters (Firebase Crashlytics, Sentry, Bugsnag);
- any other behavioral trackers.
The Application contains no user tracking code within the meaning of Apple's App Tracking Transparency (ATT) framework and does not request the NSUserTrackingUsageDescription permission. This remains true after the AppsFlyer integration: collection of the advertising identifier (IDFA) is disabled in the SDK configuration, so linking User data with third-party data for advertising purposes is technically impossible.
3.5 AppsFlyer (Install Source Analytics)
Operator: AppsFlyer Ltd., Israel. The service is used to understand which source an installation of the Application came from.
What is transmitted to AppsFlyer:
- the device identifier assigned by AppsFlyer itself (AppsFlyer ID) and the
identifierForVendor(IDFV) — an identifier unique to our Application on the given device and reset when the Application is deleted; - the internal account identifier used in our system (customer user ID) — a technical number that links the install source to an account; it contains neither a name nor an email address;
- technical characteristics: device model, iOS version, Application version, language, country and city derived from the IP address;
- a limited set of subscription-related events — their names and numeric parameters (registration, tutorial completion, trial start, subscription purchase and restore, first solved assignment).
What is not transmitted: email address, name, assignment content, photographs, AI conversation text, or any other user content. Only the limited events listed above are sent to AppsFlyer; screen views, response time, and other product metrics are processed on our backend only.
The IDFA advertising identifier is not collected: its collection is switched off in the SDK configuration. Data is processed in accordance with the AppsFlyer Services Privacy Policy and stored on the service operator's servers in the European Union and the United States.
International transfer. By transmitting data to AppsFlyer we carry out a cross-border transfer of personal data to the State of Israel, the European Union, and the United States. Israel is recognised as providing an adequate level of protection for the rights of data subjects; for the remaining territories the transfer is carried out with the User's consent, expressed by accepting this Policy.
About first-party metrics. The first-party metrics described above (AI response read-time, like/dislike ratings and reasons for dissatisfaction, crash and hang diagnostics) are processed only on our own backend (
api.kentaurus.tech). Assignment content, photographs, conversation text, and contact details are never transmitted to AppsFlyer — only event names, their numeric parameters, and the device identifiers listed in Section 3.5. These metrics are internal quality analytics, used solely to improve the Service, and do not constitute "tracking" within the meaning of ATT, because they are not used to profile the User for advertising purposes.
4. Data Security
We apply a comprehensive set of technical and organizational measures to protect User data.
4.1 Technical Measures
| Layer | Implementation |
|---|---|
| Data in transit | TLS 1.2+ (HTTPS) for all client-server communications |
| Authentication | Sign in with Apple: Apple's signed identity JWT is verified against Apple's public keys (RS256). The Application never requests, transmits, or stores a User password |
| Session token | Bearer token, 90-day TTL, stored in iOS Keychain (Secure Enclave-backed hardware storage) |
| Image storage | Temporary in-memory storage only (in-memory ConcurrentDictionary, 30-minute TTL), never written to disk |
| Database credentials | Stored in Docker environment variables, never in source code |
| Server hardening | Reverse-proxy nginx with Let's Encrypt SSL, inter-service isolation via Docker network |
4.2 Organizational Measures
- Access to the production database is strictly limited;
- User data is not shared with third parties, except as described in Section 3, and as expressly required by law (upon a substantiated request from state authorities in accordance with applicable procedure);
- In the event of a security incident resulting in a data breach, we will notify affected Users within 72 hours of discovery.
4.3 Limitation of Liability
Despite all measures taken, no method of data transmission over the Internet and no method of data storage is 100% secure. We cannot guarantee absolute security. The User assumes the risks associated with the use of public networks.
5. User Rights and Account / Data Deletion
5.1 Your Rights
At any time, the User has the right to:
| Right | What it means | How to exercise |
|---|---|---|
| Right of access (GDPR Art. 15 / CCPA §1798.100) | Obtain confirmation of what data we process and a copy of that data | Email request to privacy@kentaurus.tech |
| Right to rectification | Correct inaccurate or outdated data | Self-service in the App (Account section) or by email |
| Right to erasure ("right to be forgotten") | Request full deletion of the account and all associated data | See Section 5.2 |
| Right to withdraw consent | Withdraw consent to data processing without giving reasons | Deleting the account = withdrawing consent |
| Right to restriction of processing | Temporarily prohibit processing of data | Email request |
| Right to data portability (GDPR Art. 20) | Receive data in a machine-readable format (JSON) | Email request |
| Right to lodge a complaint | File a complaint with the relevant supervisory authority (e.g., EDPB, ICO, FTC, or Roskomnadzor) | As per local procedure |
5.2 Account Deletion (CRITICAL FOR APPLE REVIEW)
You can delete your account and all data associated with it in two ways:
Method A — via the Application (recommended):
- Open the Resolve AI app;
- Go to Settings;
- Select the Account section;
- Scroll down to the Manage Account block;
- Tap Delete Account (highlighted in red);
- Confirm the deletion in the pop-up dialog;
- After confirmation, your account and all associated data will be marked for deletion.
Method B — by email:
Send a request from the email address associated with your account to privacy@kentaurus.tech with the subject "Account Deletion". In the email, please include:
- the email address under which the account is registered;
- confirmation that you are the account owner.
5.3 What Is Deleted Upon Account Deletion
| Category | Timing | What happens |
|---|---|---|
| Account (email, first name, last name, Apple ID identifier) | Immediately upon confirmation | Deleted from the main database |
| Chat history, sessions, text prompts, AI responses | Immediately | Deleted |
| AI response ratings (like/dislike and free-text reasons) | Immediately | Deleted together with the userId link |
| Assignment images | Not stored permanently (in-memory only, 30-minute TTL) | Already absent at the time of account deletion |
| Session token on device | Immediately | Removed from iOS Keychain locally |
| Engagement behavioral metrics (read-time, session duration) | Immediately | Deleted in association with the pseudonymized userId; fully anonymized aggregated statistics with no possibility of restoring the link to the User may be retained |
| Usage events (analytics_events) | Immediately | Deleted in association with the userId |
| Approximate registration location (city and country from IP) | Immediately | Deleted together with the account row |
| AppsFlyer linkage (AppsFlyer device identifier, IDFV hash, install source) | Immediately | Deleted from our database along with the account |
| Deleted account snapshot (normalized email, request count, restore window) | 365 days | Retained solely to allow technical restoration of usage limits if the User re-registers within one year. After 365 days, the snapshot is permanently deleted |
The deleted account snapshot contains only the normalized email and technical counters (request count, restoration deadline). It does not contain passwords, dialog content, images, or any other content.
Regarding data already transmitted to AppsFlyer. Anonymized event statistics previously sent to AppsFlyer remain on that service operator's servers for its established retention period. They contain no email address, name, dialog text, images, or any other user content. The link between those statistics and a specific account existed only in our database and is deleted along with the account — after deletion, these events cannot be matched to the User. The Application stops sending data to AppsFlyer immediately after account deletion.
5.4 Request Processing Time
A deletion request is processed within 7 (seven) business days of receiving ownership confirmation. We will notify you by email once the deletion is complete.
6. Changes to This Privacy Policy
6.1 Notification Procedure
- We may update this Policy to reflect changes in the Application, legal requirements, or enforcement practice.
- The current version of the Policy is always available at the permanent URL listed in the App Store listing.
- The date of the latest update is indicated at the top of this document.
- Material changes (affecting categories of data processed, processing purposes, third-party transfer procedures) will be communicated to Users at least 14 (fourteen) calendar days before they take effect, by:
- in-app push notification;
- email to the address provided at registration;
-
an in-app banner on the next launch.
-
Continued use of the Application after the effective date of changes constitutes acceptance of the updated Policy. If the User does not agree with the changes, they may delete the account before the changes take effect.
6.2 Version Archive
Previous versions of this Policy may be obtained by request to privacy@kentaurus.tech.
7. Contact Information
For all questions related to this Policy, personal data processing, exercising User rights, and for inquiries from Apple App Store reviewers:
📧 Email: privacy@kentaurus.tech
🌐 Service domain: kentaurus.tech
📱 Application: Resolve AI (Apple ID: see App Store)
The Operator processes requests within 30 (thirty) calendar days of receipt.