1. Общие положения
Настоящая Политика конфиденциальности описывает, как мы (далее — «мы», «оператор») обрабатываем персональные данные пользователей веб-приложения, доступного по адресу https://flowtyping.app (далее — «Сервис»).
Дата вступления в силу: 2026-08-17
По вопросам, связанным с обработкой персональных данных, обращайтесь по адресу: [email protected]
2. Оператор персональных данных
Оператором персональных данных является лицо, эксплуатирующее Сервис. По всем вопросам обработки персональных данных вы можете связаться с нами по адресу:
Email для связи: [email protected]
3. Какие данные мы обрабатываем
3.1 Данные, полученные при аутентификации
При входе через OAuth-провайдера (GitHub, Google или Яндекс) мы получаем и сохраняем:
- Адрес электронной почты
- Отображаемое имя
- Ссылку на аватар
Мы не запрашиваем доступ к контактам, репозиториям, файлам или иным данным профиля, кроме перечисленных выше. Мы не публикуем и не отправляем сообщения от вашего имени.
3.2 Данные об обучении и использовании
Для работы тренажёра слепой печати мы обрабатываем:
- Настройки: язык интерфейса, язык текстов, раскладка клавиатуры, постановка рук, вид курсора, тема, отображаемое имя, канал ритма, длительность сессии.
- Профиль навыков: статистика обучения по каждому символу — количество предъявлений, точность первого нажатия, средняя латентность.
- Итоги сессий: длительность, число набранных символов, скорость (знаки/мин, слова/мин), точность, ровность ритма, частые пары-путаницы.
3.3 Технические и диагностические данные
При возникновении ошибки в браузере мы можем собирать:
- Текст ошибки и stack trace
- URL страницы, на которой произошла ошибка
- User-Agent браузера
- Идентификатор пользователя, если вы авторизованы
Мы не используем сторонние сервисы вроде Sentry. Эти данные хранятся в том же бэкенде, что и учебная статистика.
3.4 Продуктовая аналитика
Чтобы понимать, как люди пользуются Сервисом, мы собираем обезличенную статистику посещений через сервис PostHog (европейский контур). Собираются:
- Событие просмотра страницы: адрес страницы внутри Сервиса, адрес перехода, момент времени.
- Событие ухода со страницы: сколько времени страница оставалась открытой.
- Событие первого нажатия клавиши в тренировке: сам факт начала набора. Ни нажатые клавиши, ни набранный текст в аналитику не передаются.
- Технические сведения запроса: User-Agent браузера и IP-адрес — последний используется для определения приблизительного региона.
- Идентификатор пользователя, если вы авторизованы (включая анонимный аккаунт), — чтобы события одного человека не считались за разных.
Аналитика работает без cookies: PostHog включён в режиме cookieless, никакие идентификаторы в вашем браузере не сохраняются. Запросы аналитики идут на наш собственный домен (/ingest) и пересылаются в PostHog нашим сервером.
3.5 Будущий сбор данных
Возможно внедрение опционального сбора сырых данных нажатий клавиш в исследовательских целях. Если такая функция появится, она будет работать только после явного согласия пользователя, и от неё можно будет отказаться в любой момент.
4. Цели обработки персональных данных
Мы обрабатываем персональные данные для того, чтобы:
- Предоставлять, поддерживать и развивать Сервис
- Синхронизировать настройки и прогресс между устройствами
- Адаптировать упражнения под ваш уровень
- Диагностировать и устранять технические неисправности
- Связываться с вами по вопросам работы Сервиса, если это необходимо
Мы не продаём персональные данные и не используем их для профилирования в рекламных целях.
5. Правовые основания обработки
Обработка персональных данных осуществляется на основании:
- Статья 6 часть 1 пункт 1 ФЗ-152: согласие субъекта персональных данных.
- Статья 6 часть 1 пункт 4 ФЗ-152: необходимость обработки для оказания услуг пользователю.
- Для отдельных целей, например исследовательского сбора сырых данных, — на основании отдельного согласия.
6. Передача данных третьим лицам
Мы передаём ваши данные только:
- OAuth-провайдерам: исключительно для входа в Сервис.
- Провайдеру бэкенда: Convex, который хранит данные от нашего имени.
- Провайдеру статического хостинга: Cloudflare Pages, который раздаёт фронтенд приложения и может обрабатывать IP-адреса и технические метаданные запросов.
- Провайдеру продуктовой аналитики: PostHog, обрабатывающий события посещений от нашего имени (раздел 3.4).
Мы не передаём данные рекламным сетям, брокерам данных или иным не связанным третьим лицам.
7. Трансграничная передача персональных данных
Бэкенд Сервиса размещён у провайдера Convex, инфраструктура которого находится в Европейском союзе (eu-west-1) и США. Данные продуктовой аналитики обрабатываются в европейском контуре PostHog. OAuth-провайдеры могут обрабатывать данные в своих юрисдикциях. Используя Сервис, вы соглашаетесь с тем, что ваши данные могут передаваться и обрабатываться за пределами вашей страны при соблюдении применимых гарантий защиты данных.
8. Сроки хранения
Мы храним персональные данные в течение всего срока существования вашего аккаунта. При удалении аккаунта удаляются:
- Профиль пользователя
- Настройки
- Профили навыков
- Итоги сессий
- Диагностические журналы ошибок, привязанные к аккаунту
- Сессии аутентификации и привязанные аккаунты
После удаления могут сохраняться лишь данные, которые невозможно соотнести с вами: гостевые журналы ошибок (не связанные с идентификатором пользователя), обезличенные агрегированные статистики и краткосрочные журналы информационной безопасности и инфраструктуры.
9. Права субъекта персональных данных
Вы имеете право:
- Получать информацию об обрабатываемых вами персональных данных
- Требовать уточнения, блокирования или уничтожения данных
- Отозвать согласие на обработку персональных данных
- Обжаловать действия оператора в уполномоченный орган по защите прав субъектов персональных данных
Для реализации своих прав направьте запрос на [email protected].
10. Cookies и локальное хранилище
Сервис использует локальное хранилище браузера:
- Состояние аутентификации: управляется библиотекой аутентификации для поддержания сессии входа.
- Настройки: ваши предпочтения хранятся в
localStorageпо ключуflow-typing-user-settings, чтобы сохраняться между сессиями и до момента входа.
Мы не используем сторонние рекламные cookies и средства отслеживания. Продуктовая аналитика (раздел 3.4) работает в режиме без cookies и ничего не сохраняет в вашем браузере. Шрифты и статические ресурсы размещены самостоятельно, поэтому ваш IP-адрес не передаётся внешним поставщикам шрифтов.
11. Безопасность
Мы применяем следующие меры защиты:
- Шифрование HTTPS/TLS при передаче данных
- Аутентификацию через OAuth
- Серверные механизмы контроля доступа и rate limiting
- Fail-closed проверки production-окружения
Ни одна система не является абсолютно защищённой. Мы оперативно устраняем выявленные уязвимости.
12. Дети
Сервис не предназначен для детей младше 13 лет (или младше возраста, установленного законодательством вашей страны). Мы не собираем персональные данные детей сознательно. Если вы считаете, что ребёнок предоставил нам свои данные, свяжитесь с нами, и мы удалим их.
13. Изменения политики
Мы можем обновлять настоящую Политику конфиденциальности. При существенных изменениях мы уведомим вас через Сервис или по электронной почте. Обновлённая политика будет содержать дату вступления в силу.