Политика конфиденциальности
Настоящая Политика конфиденциальности описывает, какие персональные данные собирает приложение 12levels (далее — «Сервис») и как они обрабатываются.
1. Оператор персональных данных
Оператором персональных данных является Iuvenalii Khlopkov (PE), индивидуальный предприниматель, зарегистрированный в Республике Армения, налоговый номер 20279853, юридический адрес: 26A Movses Khorenatsi str., apt. 201, Yerevan 0010, Armenia.
Контакты для запросов по обработке персональных данных:
Email: [email protected]
Сайт: https://12levels.app
2. Категории обрабатываемых данных
Сервис обрабатывает следующие категории данных:
2.1 Идентификационные данные
- Email-адрес — при регистрации и для восстановления доступа (только если вы выбрали вход по email)
- Имя — для персонализации интерфейса (только если вы вошли через Apple/Google или указали имя при email-регистрации)
- Внутренний идентификатор пользователя (User ID) — для связи прогресса с аккаунтом
- Анонимный идентификатор устройства (UUID) — случайный UUID, который генерируется при первом запуске приложения и хранится в Keychain устройства. Используется как стабильный идентификатор для покупок и восстановления прогресса до входа через Apple/Google/Email. Подробнее см. Раздел 2.5.
2.2 Данные обучения
- Прогресс изучения слов — какие слова добавлены в обучение и их текущая стадия
- Результаты ответов — правильные / неправильные ответы, используемые для планирования интервалов повторения по алгоритму интервального повторения
- Сессии чтения — какие учебные тексты были открыты, ваша позиция в них и общий прогресс
- Текстовые ответы — фразы, которые вы вводите во время упражнений на проверку знаний; в этой версии они проверяются локально или бэкендом 12levels и не передаются стороннему ИИ-провайдеру
- Текст обратной связи — необязательный текст, который вы намеренно отправляете через форму обратной связи; он передаётся только в Sentry как единственному support-процессору и не копируется в продуктовую аналитику или мессенджеры
- Результаты калибровки — определённый уровень владения языком (шкала CEFR) и выявленные пробелы
2.3 Технические данные и данные об использовании продукта
- Crash-репорты — данные о падениях приложения через Apple MetricKit (анонимные, агрегированные) и через Sentry. Crash-репорты Sentry привязаны к внутреннему User ID (UUID) для отладки; они никогда не содержат ваш email или имя.
- Performance metrics — метрики производительности (запуск, память, медленные операции) через Apple MetricKit и Sentry; данные Sentry привязаны к внутреннему User ID (UUID).
- Диагностические breadcrumbs — короткий след последних действий в приложении перед падением (тапы, переходы между экранами, сетевые запросы без их содержимого), собираются Sentry для воспроизведения багов.
- Версия приложения и iOS — для совместимости
- Продуктовая аналитика — типизированные события: жизненный цикл приложения, категория экрана, использование функций, количество и точность учебных сессий, прогресс чтения, состояние воронки подписки, язык интерфейса, уровень, версия приложения и iOS, модель устройства и случайный идентификатор уровня устройства. После создания аккаунта или входа PostHog получает внутренний User ID, поэтому мы считаем эти данные связанными с аккаунтом/устройством. Мы не отправляем в PostHog email, имя, текст ответов, поисковые запросы, названия книг или изучаемые слова.
2.4 Платёжная информация и данные о подписке
Сервис не получает номера банковских карт, реквизиты счетов или любые другие платёжные данные. Все платежи за подписку «12levels Pro» и покупку «Навсегда» обрабатываются Apple через систему App Store In-App Purchase.
В связи с покупками внутри приложения Сервис обрабатывает следующие данные:
- Подписанный чек Apple (JWS) — криптографически подписан Apple, содержит идентификатор транзакции, идентификатор продукта (Месяц / Год / Навсегда), дату покупки, дату окончания (для подписок) и среду Apple (sandbox или production). Проверяется на сервере с помощью цепочки публичных сертификатов Apple для подтверждения подлинности и целостности.
- App Account Token (
appAccountToken) — UUID, который совпадает с внутренним User ID (см. Раздел 2.1). Этот идентификатор передаётся Apple в момент покупки, чтобы последующие уведомления Apple-→-сервер (продления, возвраты, отмены) могли быть сопоставлены с аккаунтом пользователя. До входа через Apple/Google/Email этот UUID — анонимный идентификатор устройства, описанный в Разделе 2.5, и не содержит связи с вашей реальной личностью сверх того, что Apple уже обрабатывает как платёжный посредник (ваш Apple ID). После входа тот же UUID связывается с авторизованным аккаунтом, чтобы покупки, сделанные до и после входа, оставались на одной записи. - Статус прав доступа (entitlement) — производное состояние на серверах Сервиса: какой тариф «Pro» активен для аккаунта, когда он истекает, включено ли автопродление, был ли возврат / отзыв транзакции. Используется для разграничения доступа к платным функциям и отображения корректного статуса подписки в приложении.
- События жизненного цикла подписки от Apple — получаются через Apple App Store Server Notifications V2 (серверный webhook от Apple в Сервис). Включают события
SUBSCRIBED,DID_RENEW,EXPIRED,REFUND,REVOKE,DID_CHANGE_RENEWAL_PREF. Используются исключительно для поддержания актуального статуса прав доступа; логируются в аудит-таблицу для целей соответствия требованиям и отладки.
Сервис не собирает, не видит и не имеет доступа к паролю от Apple ID, email
вашего Apple ID (Сервис видит только анонимный appAccountToken),
платёжному адресу или стране проживания пользователя сверх того, что Apple
может раскрыть косвенно через региональный ценовой уровень купленного
продукта.
2.5 Создание анонимной учётной записи после покупки
Когда вы совершаете покупку в 12levels (подписка или разовая), Сервис автоматически создаёт анонимную серверную запись, чтобы:
- Связать вашу подписку со стабильным идентификатором при переустановке приложения
- Сохранять ваш учебный прогресс для восстановления при переустановке или смене устройства
- Направить вас в правильный аккаунт, когда вы позже войдёте через Apple, Google или Email
Эта анонимная запись содержит:
- Уникальный идентификатор устройства (тот же UUID из Раздела 2.1, сгенерированный при первом запуске и хранящийся в iOS Keychain)
- Состояние вашей подписки (связано через Apple
appAccountToken) - Ваш учебный прогресс (слова, серии дней, библиотека, сессии чтения) — только данные, которые вы активно создали после покупки
Эта анонимная запись не содержит:
- Ваш email, имя, Apple ID или любую прямо идентифицирующую информацию
- Любые данные, которые Сервис не собирал через ваше активное использование приложения
До входа через Apple, Google или Email запись идентифицируется случайно сгенерированным UUID. Это псевдонимный идентификатор, а не гарантия анонимности: он идентифицирует аккаунт/устройство внутри 12levels и используется для восстановления покупок. Когда вы позже входите, та же запись обновляется на месте (UUID сохраняется как первичный ключ), и к ней прикрепляется выбранная вами учётная запись для входа (Apple ID, аккаунт Google или email). Вы можете в любой момент полностью удалить эту запись через Профиль → Удалить аккаунт.
Если вы не совершаете покупку и не выбираете вход, на бэкенде не создаётся аккаунт 12levels или запись учебного прогресса. При этом из гостевой сессии могут передаваться продуктовая аналитика и диагностика, описанные в разделах 2.3 и 5.2; остальные локальные учебные данные остаются на устройстве.
Сервис хранит анонимные записи, пока активна связанная с ними подписка. После окончания подписки (и при отсутствии дальнейшей активности) анонимная запись автоматически удаляется в течение 365 дней.
3. Цели обработки
Персональные данные обрабатываются для:
- Предоставления функциональности обучения — адаптивные алгоритмы обучения и персонализированный подбор контента на основе вашего уровня и прогресса
- Сохранения прогресса между устройствами — синхронизация через сервер
- Управления подпиской — проверка статуса оплаты через Apple, разграничение доступа к платным функциям, обработка событий продления / возврата / отмены
- Восстановления доступа — по email при потере устройства
- Улучшения сервиса — псевдонимная продуктовая аналитика и диагностика, связанные с аккаунтом/устройством, для оценки функций, надёжности и улучшения UX
- Соблюдения требований законодательства — налоговая отчётность, хранение записей о транзакциях, ответы на запросы уполномоченных органов
4. Правовые основания
Обработка осуществляется на следующих основаниях:
- Согласие пользователя — когда приложение показывает необязательное разрешение или явное уведомление непосредственно перед передачей данных
- Исполнение договора — для предоставления обучения, синхронизации и подписки, включая проверку покупок и предоставление прав доступа Pro
- Законные интересы оператора — для соразмерной продуктовой аналитики, диагностики надёжности, безопасности (предотвращение мошенничества и злоупотреблений) и согласованного состояния подписки через webhook'и Apple; вы можете возразить против такой обработки, связавшись с нами
- Требования закона — для налоговой и иной отчётности
5. Передача данных третьим лицам
Для предоставления функциональности Сервиса данные могут передаваться следующим обработчикам:
5.1 Инфраструктура и хранение
- Cloudflare — DNS, CDN, WAF, хостинг бэкенда (Containers + Workers), объектное хранилище (R2)
- Supabase — управляемая PostgreSQL база данных
- Apple Inc. (США) — App Store, In-App Purchase (обработчик платежей), push-уведомления, App Store Server Notifications V2 (источник webhook'ов о событиях жизненного цикла подписки), а также «Вход с Apple» (если вы его выбираете)
- Google LLC (США) — провайдер аутентификации «Вход через Google», только если вы выбираете вход через Google; обрабатывает email и имя вашего аккаунта Google исключительно для вашей аутентификации
- Resend — отправка транзакционных email (восстановление доступа, важные уведомления)
5.2 Продуктовая аналитика, диагностика и поддержка
- Apple MetricKit — анонимные агрегированные диагностические данные, обрабатываемые Apple
- PostHog Cloud EU (Франкфурт, Германия) — продуктовая аналитика из раздела 2.3. События используют случайный идентификатор устройства, а после создания аккаунта/входа — внутренний User ID. Tracking, реклама, session replay, опросы, element autocapture, screen autocapture, error autocapture и swizzling SDK PostHog отключены. В настройках проекта должно быть включено удаление сохраняемых IP-адресов клиентов.
- Sentry (Functional Software, Inc., США) — crash-репортинг, мониторинг производительности, диагностические breadcrumbs и необязательный текст обратной связи. Диагностика связана с внутренним User ID (UUID) для отладки; email, имя, платёжные реквизиты и содержимое HTTP-запросов/ответов намеренно не передаются. Performance-трейсы семплируются (около 10% в production).
5.3 ИИ-функции
Функции генерации историй и проверки знаний через внешний ИИ отключены в этой версии; она не отправляет ваши ответы или направления сюжета в OpenAI, Anthropic или другому стороннему ИИ-провайдеру. Apple Translation и поддерживаемые функции Apple Intelligence работают через системные фреймворки Apple.
До того как будущая версия отправит персональные данные или введённый пользователем текст стороннему ИИ-провайдеру, 12levels назовёт провайдера в уведомлении непосредственно перед передачей, объяснит, что и зачем будет отправлено, запросит явное разрешение и обновит эту Политику и сведения о конфиденциальности в App Store. Текст передаётся в том виде, в котором он введён, поэтому удаление полей аккаунта само по себе не делает его анонимным, если пользователь указал в тексте персональные данные.
6. Сроки хранения
- Данные аккаунта и обучения — пока аккаунт существует. После успешного удаления в приложении записи основной БД и все версии приватного аватара в R2 удаляются сразу; остаточные копии у процессоров или в бэкапах удаляются в течение 30 дней, кроме перечисленных ниже записей
- Бэкапы — окончательно устаревают не позднее 90 дней после удаления и не возвращаются в активное использование, кроме аварийного восстановления
- Записи о транзакциях подписки и события webhook Apple — 5 лет по требованиям налогового законодательства и для обработки возвратов / споров
- Продуктовая аналитика PostHog — до 12 месяцев; перед удалением аккаунта ставится в очередь удаление связанного профиля PostHog и всех прошлых событий
- Диагностика и обратная связь в Sentry — до 90 дней, если закон или технически идентифицируемый запрос не требуют более раннего удаления
7. Права пользователя
В соответствии с применимым законодательством пользователь имеет право:
- Получить подтверждение факта обработки данных и копию обрабатываемых данных
- Требовать уточнения, изменения или удаления данных
- Отозвать согласие на обработку (при этом часть функциональности может стать недоступна)
- Требовать прекращения обработки, ограничения обработки
- Подать жалобу в компетентный надзорный орган страны проживания
- Удалить аккаунт прямо в приложении: Профиль → Удалить аккаунт
Удаление аккаунта удаляет основные данные обучения/аккаунта и приватные аватары, а также ставит в очередь удаление связанной аналитики PostHog; асинхронное удаление у процессоров и в бэкапах завершается в течение 30 дней. Удаление аккаунта не отменяет автоматически вашу активную подписку Apple — её нужно отменять отдельно через управление подписками Apple (Настройки → [ваше имя] → Подписки). Записи о прошлых транзакциях подписки хранятся для целей налогового учёта, как описано в разделе 6.
Для реализации прав направьте запрос на [email protected]. Срок ответа — не более 30 дней.
8. Безопасность
Сервис применяет следующие меры защиты:
- Шифрование данных при передаче (TLS 1.3)
- Хранение токенов в Keychain устройства
- Парольная защита аккаунта (хеширование bcrypt)
- Криптографическая проверка JWS-чеков Apple на сервере против Apple Root CA до выдачи любых прав доступа
- Идемпотентная обработка webhook'ов Apple через дедупликацию по уникальному
notificationUUID - Регулярные обновления зависимостей и контроль уязвимостей
- Минимизация собираемых данных (собираем только то, что необходимо)
- Явное отключение analytics autocapture, replay, опросов и рекламных/tracking-функций
9. Дети и несовершеннолетние
Сервис не предназначен для детей младше 13 лет. Каталог может содержать маркированные по возрасту художественные темы, включая опасность, насилие, смерть или алкоголь; доступность определяется анкетой возрастного рейтинга App Store и метаданными контента в приложении. Если станет известно, что пользователь младше 13 лет создал аккаунт без согласия родителей, аккаунт будет удалён. Сервис заведомо не продаёт платные подписки несовершеннолетним младше 13 лет.
10. Изменения политики
Сервис может обновлять данную Политику. Существенные изменения (расширение категорий собираемых данных, изменение целей или получателей) сопровождаются уведомлением в приложении и требуют повторного согласия. Версия и дата последнего обновления указаны в начале документа.
11. Применимое право
К отношениям с пользователями из Европейского Союза или ЕЭЗ применяется Регламент (ЕС) 2016/679 (GDPR).
К отношениям с иными пользователями применяется законодательство Республики Армения как страны регистрации Оператора, без ущерба для императивных норм защиты прав потребителя страны проживания.
12. Контакты
По всем вопросам обработки персональных данных:
Email: [email protected]
Сайт: https://12levels.app