TrainHere

Политика конфиденциальности

Действует с 20 сентября 2026 года. Обновлено 10 октября 2026 года.

Коротко

  • TrainHere полностью работает офлайн. Аккаунт не обязателен, и без него никакие данные никуда не отправляются.
  • Фотографии прогресса не покидают устройство. Облачного хранилища для них попросту нет.
  • Данные о здоровье из Apple Health или Health Connect тоже остаются на устройстве и на наш сервер не передаются.
  • Статистика использования выключена, пока вы явно не разрешите отправку ограниченных сведений об использовании в PostHog в ЕС.
  • Ни рекламы, ни рекламных идентификаторов, ни сторонних SDK аналитики и сбора сбоев. Мы ничего не продаём и не передаём для маркетинга.
  • TrainHere Plus оплачивается Apple, Google или, на сайте, Link от Stripe. Данных вашей карты мы не видим — храним только состояние подписки.
  • Все свои данные можно выгрузить файлом, а аккаунт и данные — удалить прямо из приложения.

Кто отвечает за данные

TrainHere разрабатывает и поддерживает FreeBase Software — датское индивидуальное предприятие (enkeltmandsvirksomhed), владелец Михаил Клименко, место деятельности — Дания, CVR 45234207. FreeBase Software выступает контролёром данных в смысле GDPR применительно к описанной здесь обработке.

Вопросы о данных и обращения по правам субъекта: [email protected]. Всё остальное: [email protected].

Что остаётся на устройстве

Приложение построено «сначала офлайн»: тренировки записываются на устройстве и работают без сети и без аккаунта. Часть данных остаётся только на устройстве по замыслу и не попадает в аккаунт, даже если он у вас есть.

Что хранит аккаунт

Аккаунт необязателен и нужен для копирования и синхронизации тренировок, истории тренера и покупок Plus. Сам вход не разрешает передачу тренировочных данных и сведений о здоровье. Только после отдельного явного согласия на синхронизацию следующие категории хранятся у Supabase, преимущественно в ЕС, с доступом только для владельца:

Данные аккаунта хранятся в Supabase на инфраструктуре в Европейском союзе. Трафик шифруется при передаче. Устройство, удалённое из аккаунта, больше не может в него писать; его локальная копия данных продолжает работать офлайн.

Вход

Три способа, все необязательные:

Ваш пароль мы не получаем и не храним ни в одном из случаев.

Необязательный ИИ-тренер

Тренер необязателен. После отдельного явного разрешения OpenAI каждое запрошенное вами действие передаёт указанный на экране контекст через наш сервер в OpenAI в США для получения ответа. По умолчанию данные API не используются для обучения. Мы отключаем хранение состояния ответа, но это не удаляет журналы контроля злоупотреблений: они могут содержать запросы и ответы до 30 дней, с исключениями для закона и безопасности. Мы не заявляем наличие разрешения Zero Data Retention.

Что входит в запрос:

Сохранённые поля, автоматически исключённые из запросов тренера:

Введённый для запроса текст отправляется как есть и не очищается автоматически. Не включайте имена, контакты и медицинские документы. Разрешение независимо от синхронизации, статистики, доступа к здоровью в ОС и покупки Plus.

Если тренеру не хватает контекста, он может запросить одно из заранее заданного набора полей. Приложение показывает, что именно запрошено, и ничего не отправляет, пока вы не согласитесь.

Каждый запрос и полученный на него ответ мы храним вместе с аккаунтом, и доступны они только вам: к ответу можно вернуться на любом устройстве и там же применить или отклонить его. Ваше решение тоже хранится с аккаунтом. Ещё мы записываем, какая модель ответила и сколько токенов ушло на запрос, чтобы измерять стоимость функции. Всё это входит в выгрузку данных и удаляется вместе с аккаунтом. Отзыв разрешения OpenAI также удаляет активную облачную историю запросов и ответов и останавливает новые запросы. Уже переданный запрос нельзя отозвать. Принятые изменения программ и копии на устройствах остаются.

Покупки

TrainHere Plus покупается с аккаунтом. Саму оплату обрабатывает тот, кому вы платите; номера карт и банковские реквизиты к нам не попадают и не хранятся.

Вместе с аккаунтом мы храним то, что магазин сообщает о подписке: какой это магазин, её статус, тариф, когда она продлевается или заканчивается, льготный период или дату возврата, будет ли она продлена и — для покупок на сайте — идентификатор клиента Stripe. Наш сервер сам запрашивает это у магазина и по этим данным решает, активен ли Plus. Ещё мы храним список уже обработанных уведомлений магазинов — только идентификатор и тип каждого, — чтобы ни одно не обработать дважды. Выгрузка данных включает то, что сообщил каждый магазин.

Необязательная статистика использования

По умолчанию выключена. Если её включить, приложение записывает укрупнённые события о том, как используется продукт: что тренировка завершена, что рекомендация принята или изменена, какое обоснование было показано, — вместе со случайным идентификатором установки, версией приложения, платформой и календарным днём. Длительность и полнота записываются диапазонами, а не точными значениями; веса, повторения, заметки, измерения, данные о здоровье и фотоматериалы туда попасть не могут — эта граница проверяется тестами.

Отправка требует нового согласия на политику product-metrics-v2. Прежнее согласие разрешало только локальную запись. Обоснования рекомендаций и тренировочные диапазоны остаются локальными; отправляются только описанные ниже сведения об использовании.

Соединения, которые приложение устанавливает само

В приложении нет рекламных SDK, сторонних SDK аналитики, SDK сбора сбоев и рекламного идентификатора.

Аналитика маркетингового сайта

Если для вашей версии приложения включены общие счётчики использования, открытия экранов, доступность и нажатия кнопок учитываются отдельно от подробной статистики. Запрос содержит только название экрана или элемента из фиксированного списка, тип счётчика и количество. Наш сборщик на Cloudflare хранит общие итоги по дням без идентификаторов аккаунта, устройства или сеанса, отдельных событий и тренировочных данных. Cloudflare обрабатывает сведения о соединении, включая IP-адрес для получения запроса. Счётчики находятся только в оперативной памяти; настройка отказа сохраняется на устройстве. Отключить их можно в Настройках → Конфиденциальность. Настройки браузера Do Not Track и Global Privacy Control также отключают эти счётчики. Итоги старше 90 дней удаляются по расписанию. Этот режим остаётся выключенным до проверки требований конфиденциальности и инфраструктуры для выпуска.

Отдельно, только с вашего согласия, приложение отправляет в PostHog в ЕС статистику использования: названия экранов, доступность и нажатия кнопок, основные действия, время, версию приложения, платформу и случайный идентификатор устройства. Идентификатор аккаунта, введённый текст, тренировочные значения, замеры, данные здоровья, фото и записи экрана не передаются. PostHog обрабатывает сетевые запросы, включая IP-адрес для их получения; определение географии отключено. Очередь ограничена 500 событиями. События старше семи дней не отправляются и удаляются при следующей записи события. Отключение подробной статистики в Настройках → Конфиденциальность прекращает её сбор и очищает очередь, но не удаляет уже отправленное. Для удаления обратитесь в поддержку с идентификатором устройства из Настроек → Конфиденциальность. Прежнее согласие на локальную диагностику не разрешает отправку. Политика конфиденциальности PostHog.

На публичных маркетинговых страницах Cloudflare Web Analytics подсчитывает посещения, источники переходов и показатели загрузки. Сервис не использует аналитические cookie или хранилище браузера и не отслеживает людей между сайтами. Cloudflare обрабатывает запросы для работы сервиса; подробнее в политике Cloudflare.

Этот скрипт не загружается в веб-приложении, на экранах аккаунта и импорта, в ответах списка ожидания и на юридических страницах. Мы не передаём ему идентификаторы аккаунтов, записи тренировок, фотографии, поля форм или пользовательские события. Исключены страницы с параметрами запроса или неизвестным фрагментом адреса, переходы с чувствительных адресов и браузеры с Do Not Track или Global Privacy Control. Настройка необязательной телеметрии приложения остаётся отдельной и не меняется.

Необязательный список ожидания на сайте

На сайте может быть отдельная подписка на письмо о публичном запуске. Только с вашего явного согласия она сохраняет адрес электронной почты, версию согласия и даты подписки и окончания хранения в отдельной базе Cloudflare D1. Подписка не создаёт аккаунт приложения и не получает данные тренировок. Сроки хранения, защита от злоупотреблений и отзыв согласия описаны в уведомлении о списке ожидания (на английском). Для тренировок подписка не нужна.

Правовые основания

Обработка Основание (GDPR)
Работа приложения на устройстве без аккаунта Тренировки остаются на устройстве и не передаются нам. Сетевые и служебные сведения описаны отдельно.
Аккаунт, синхронизация, копия и восстановление Аккаунт: ст. 6(1)(b). Необязательная синхронизация: явное согласие, ст. 6(1)(a) и ст. 9(2)(a) для сведений о здоровье.
Отправка ссылок для входа Исполнение договора, ст. 6(1)(b)
Запрошенные вами действия ИИ-тренера Явное согласие, ст. 6(1)(a) и ст. 9(2)(a) для контекста здоровья, плюс запрошенное вами действие.
Продажа и проверка подписки TrainHere Plus Исполнение договора, ст. 6(1)(b)
Необязательная статистика использования Согласие, ст. 6(1)(a) — отзывается в любой момент
Данные о здоровье на устройстве Ваше явное разрешение, данное операционной системе и нам, ст. 9(2)(a)
Защита сервиса и предотвращение злоупотреблений Законный интерес, ст. 6(1)(f)

Синхронизация и OpenAI требуют отдельных версионированных решений в приложении. Отказ сохраняет бесплатные тренировки без сети. Разрешение ОС не разрешает облачную обработку. Экспорт аккаунта включает записи согласия; импорт не выдаёт разрешение.

Сроки хранения

Данные Хранятся
Данные аккаунта До удаления аккаунта; синхронизированные тренировки и история тренера также удаляются из активного хранилища при отзыве соответствующего разрешения.
Записи о подписке Пока вы не удалите аккаунт; удаление аккаунта не отменяет саму подписку
Список обработанных уведомлений магазинов Хранится, чтобы не обработать уведомление дважды; идентификатор вашего аккаунта из него удаляется при удалении аккаунта
Строки удалённого аккаунта Удаляются сразу при выполнении удаления
Отметки об удалённых записях, чтобы их удалили и другие устройства 90 дней, затем очищаются
Резервные копии с удалёнными данными Ежедневные копии Supabase используют семидневное окно восстановления. Удалённые данные исчезают по мере устаревания снимков, не мгновенно. После восстановления данные необходимо очистить до запуска сервиса.
Журналы контроля злоупотреблений OpenAI По умолчанию до 30 дней, с исключениями для закона и безопасности; отдельно от истории аккаунта TrainHere.
Подтверждения разрешений синхронизации и OpenAI Версия, назначение, платформа и серверные даты выдачи и отзыва сохраняются до удаления аккаунта.
Квитанция об удалении Хранится как подтверждение факта удаления и не содержит вашего идентификатора
Необязательная статистика использования, полученная PostHog в ЕС До одного года, затем удаляется; раньше — по запросу в поддержку с идентификатором устройства из Настроек → Конфиденциальность
Всё, что на устройстве Пока вы это не удалите, не сбросите приложение или не удалите его

Удаление аккаунта происходит немедленно и необратимо: периода, в течение которого удалённый аккаунт можно вернуть, нет. Сначала выгрузите то, что хотите сохранить. Удаление аккаунта не удаляет автоматически независимые журналы провайдеров, анонимную статистику или обязательные платёжные записи. Обратитесь к нам для удаления у конкретного провайдера; мы объясним применимое обязательство хранения.

Ваши права

По GDPR вы вправе запросить доступ к данным, исправление, удаление, переносимую копию, ограничение обработки, а также возразить против обработки на основании законного интереса. Часть этого — не запрос, а кнопка:

Если удобнее, чтобы это сделали мы, напишите на [email protected] — отвечаем без неоправданной задержки и в течение одного месяца. О необходимом законном продлении сообщаем в течение этого месяца. Если считаете, что мы обошлись с вашими данными неправильно, вы можете подать жалобу в датский орган по защите данных Datatilsynet или в надзорный орган страны, где вы живёте.

Данные за пределами ЕС

Основное хранилище Supabase настроено в ЕС. Resend отправляет письма для входа из Ирландии, а данные писем хранит в США. Это не означает, что вся обработка, поддержка и субподрядчики ограничены ЕС. OpenAI обрабатывает разрешённые запросы тренера в США, RevenueCat в США проверяет покупки, а Stripe может обрабатывать веб-платежи в США. Cloudflare, Expo и другие провайдеры могут использовать глобальную инфраструктуру. Условия обработки провайдеров предусматривают применимые гарантии, включая стандартные договорные условия Европейской комиссии. Обратитесь к нам за сведениями о конкретных получателях и гарантиях.

Дети

TrainHere предназначен для взрослых от 18 лет. Мы сознательно не собираем данные детей. Если вы считаете, что аккаунт создал ребёнок, напишите на [email protected], и мы его удалим.

Безопасность

Трафик шифруется при передаче. Каждая запись аккаунта защищена правилами доступа на уровне базы данных: читать и изменять её может только владелец, а ключи, которые могли бы это обойти, существуют только на сервере. Удалённому устройству запись запрещается. Идеальных систем не бывает, а команда здесь маленькая — если что-то выглядит неправильно, напишите на [email protected].

Изменения

О существенных изменениях этой политики приложение сообщит до того, как они вас коснутся, и дата вверху изменится. Изменения, из-за которых куда-либо начнут отправляться данные, сегодня остающиеся только на устройстве, сначала спросят вашего согласия.