Политика конфиденциальности
Действует с 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].
Что остаётся на устройстве
Приложение построено «сначала офлайн»: тренировки записываются на устройстве и работают без сети и без аккаунта. Часть данных остаётся только на устройстве по замыслу и не попадает в аккаунт, даже если он у вас есть.
- Фотографии прогресса. Снимки, которые вы делаете или выбираете, хранятся в памяти приложения на этом устройстве. Они не создают ни записи на сервере, ни загруженного файла, ни события. В выгрузку аккаунта они не входят, потому что в аккаунте их нет. Удаление приложения удаляет и их — храните собственную копию, если они вам важны.
- Данные о здоровье. Вес тела, а если вы это включите — сон и пульс покоя из Apple Health или Health Connect используются на устройстве, чтобы измерения совпадали и чтобы подсказать, с чего начать оценку готовности. На наш сервер они не передаются.
- Напоминания и состояние приложения. Напоминания и настройки остаются на устройстве. Локальная диагностика остаётся локальной, пока вы её не экспортируете. Отдельно включённая вами статистика передаёт выбранные события и идентификатор устройства в PostHog в ЕС, как описано ниже.
Что хранит аккаунт
Аккаунт необязателен и нужен для копирования и синхронизации тренировок, истории тренера и покупок Plus. Сам вход не разрешает передачу тренировочных данных и сведений о здоровье. Только после отдельного явного согласия на синхронизацию следующие категории хранятся у Supabase, преимущественно в ЕС, с доступом только для владельца:
- Профиль — имя, которое вы в нём указали, цель, опыт и расписание тренировок, — настройки и выбранное оборудование.
- Программы и все сохранённые их редакции, включая программы, составленные вами вручную.
- Завершённые и незавершённые тренировки: упражнения, подходы, веса, повторения, записанное усилие, время и ваши заметки.
- Измерения тела, например вес и талия.
- Созданные вами собственные упражнения.
- Какие рекомендации вы приняли или изменили — чтобы прогрессия оставалась согласованной на всех устройствах.
- Если вы пользуетесь необязательным ИИ-тренером: каждый ваш запрос и полученный ответ, действие, время запуска, успешно ли оно выполнилось, и ваше решение по каждому предложению — чтобы ответ пережил телефон, с которого его запросили, и все устройства знали, было ли изменение применено. Подробнее — в разделе «Необязательный ИИ-тренер».
- Записи о ваших согласиях, включая включённую статистику.
- Адрес электронной почты и идентификатор Apple или Google при входе через них, а также перечень устройств, привязанных к аккаунту.
Данные аккаунта хранятся в Supabase на инфраструктуре в Европейском союзе. Трафик шифруется при передаче. Устройство, удалённое из аккаунта, больше не может в него писать; его локальная копия данных продолжает работать офлайн.
Вход
Три способа, все необязательные:
- Ссылка на почту. Одноразовая ссылка отправляется через Resend из региона отправки в Ирландии. Resend обрабатывает адрес, содержимое письма и результат доставки по нашему поручению и хранит эти данные в США. Регион отправки не определяет место хранения данных писем.
- Вход через Apple. Apple сообщает нам идентификатор аккаунта и тот адрес почты, которым вы решите поделиться, — возможно, частный ретранслирующий адрес Apple.
- Вход через Google. Google сообщает нам идентификатор аккаунта и адрес почты. Что при этом делает сам Google, описано в его политике конфиденциальности.
Ваш пароль мы не получаем и не храним ни в одном из случаев.
Необязательный ИИ-тренер
Тренер необязателен. После отдельного явного разрешения OpenAI каждое запрошенное вами действие передаёт указанный на экране контекст через наш сервер в OpenAI в США для получения ответа. По умолчанию данные API не используются для обучения. Мы отключаем хранение состояния ответа, но это не удаляет журналы контроля злоупотреблений: они могут содержать запросы и ответы до 30 дней, с исключениями для закона и безопасности. Мы не заявляем наличие разрешения Zero Data Retention.
Что входит в запрос:
- Программа или упражнение, которого касается действие, и нужная часть нашего каталога упражнений.
- Ограниченная сводка дат завершённых тренировок и результатов упражнений за четыре недели: вес в килограммах, повторения и записанное усилие. Для разбора и вопросов о прогрессе могут также передаваться выбранные завершённые рабочие подходы.
- Последний статус готовности, расписание, оборудование и указанные вами необязательные предпочтения в упражнениях, ограничения оборудования или сведения об опыте — там, где действие этого требует.
Сохранённые поля, автоматически исключённые из запросов тренера:
- Ваши заметки.
- Измерения тела.
- Данные о здоровье из Apple Health или Health Connect.
- Фотографии.
- Имя, адрес почты и идентификаторы аккаунта.
Введённый для запроса текст отправляется как есть и не очищается автоматически. Не включайте имена, контакты и медицинские документы. Разрешение независимо от синхронизации, статистики, доступа к здоровью в ОС и покупки Plus.
Если тренеру не хватает контекста, он может запросить одно из заранее заданного набора полей. Приложение показывает, что именно запрошено, и ничего не отправляет, пока вы не согласитесь.
Каждый запрос и полученный на него ответ мы храним вместе с аккаунтом, и доступны они только вам: к ответу можно вернуться на любом устройстве и там же применить или отклонить его. Ваше решение тоже хранится с аккаунтом. Ещё мы записываем, какая модель ответила и сколько токенов ушло на запрос, чтобы измерять стоимость функции. Всё это входит в выгрузку данных и удаляется вместе с аккаунтом. Отзыв разрешения OpenAI также удаляет активную облачную историю запросов и ответов и останавливает новые запросы. Уже переданный запрос нельзя отозвать. Принятые изменения программ и копии на устройствах остаются.
Покупки
TrainHere Plus покупается с аккаунтом. Саму оплату обрабатывает тот, кому вы платите; номера карт и банковские реквизиты к нам не попадают и не хранятся.
- В приложении для iPhone или Android вы платите Apple или Google, которые обрабатывают платёж по своим политикам конфиденциальности. Мы подтверждаем такие покупки через RevenueCat: приложение передаёт RevenueCat идентификатор вашего аккаунта, и RevenueCat обрабатывает его вместе с записью о покупке в магазине по нашему поручению.
- На сайте вы платите Link — сервису Stripe, который выступает продавцом, — а платёж обрабатывает Stripe. Как продавец, Link собирает то, что нужно для продажи, — адрес почты, имя, платёжный адрес, способ оплаты и применимый налог — и отвечает за эти данные по политикам конфиденциальности Link и Stripe. Мы создаём для вашего аккаунта клиента в Stripe, в котором есть только идентификатор аккаунта, чтобы покупку можно было сопоставить с вами.
Вместе с аккаунтом мы храним то, что магазин сообщает о подписке: какой это магазин, её статус, тариф, когда она продлевается или заканчивается, льготный период или дату возврата, будет ли она продлена и — для покупок на сайте — идентификатор клиента Stripe. Наш сервер сам запрашивает это у магазина и по этим данным решает, активен ли Plus. Ещё мы храним список уже обработанных уведомлений магазинов — только идентификатор и тип каждого, — чтобы ни одно не обработать дважды. Выгрузка данных включает то, что сообщил каждый магазин.
Необязательная статистика использования
По умолчанию выключена. Если её включить, приложение записывает укрупнённые события о том, как используется продукт: что тренировка завершена, что рекомендация принята или изменена, какое обоснование было показано, — вместе со случайным идентификатором установки, версией приложения, платформой и календарным днём. Длительность и полнота записываются диапазонами, а не точными значениями; веса, повторения, заметки, измерения, данные о здоровье и фотоматериалы туда попасть не могут — эта граница проверяется тестами.
Отправка требует нового согласия на политику product-metrics-v2. Прежнее согласие разрешало только локальную запись. Обоснования рекомендаций и тренировочные диапазоны остаются локальными; отправляются только описанные ниже сведения об использовании.
Соединения, которые приложение устанавливает само
-
Проверка обновлений. При запуске приложение спрашивает сервис Expo
(
u.expo.dev), есть ли более новая версия его JavaScript, передавая версию среды выполнения и канал выпуска. Данных аккаунта и тренировок в этом запросе нет. - Синхронизация. Только при входе в аккаунт и только для перечисленных выше категорий.
- Видео с техникой. В руководстве по упражнению есть кнопка, которая открывает поиск на YouTube в браузере. Без вашего касания ничего не открывается, а ссылка содержит только название упражнения и нейтральное слово о технике — ничего о вас.
-
Сайт. Сайт
trainhere.appработает через Cloudflare, поэтому ваш IP-адрес и запрос обрабатываются для выдачи страницы и защиты сервиса.
В приложении нет рекламных 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 вы вправе запросить доступ к данным, исправление, удаление, переносимую копию, ограничение обработки, а также возразить против обработки на основании законного интереса. Часть этого — не запрос, а кнопка:
- Доступ и переносимость. «Настройки → Управление данными → Экспорт» отдаёт полную копию в JSON и читаемый CSV.
- Исправление. Сохранённые тренировки, подходы и измерения редактируются в приложении.
- Удаление. «Настройки → Аккаунт → Удалить аккаунт» очищает серверную копию; там же спрашивают, что сделать с локальной. Сброс локальных данных доступен отдельно и всегда.
- Отзыв согласия. Настройки → Приватность содержат отдельные действия для синхронизации, OpenAI и статистики. Подтверждённый отзыв синхронизации удаляет активные облачные тренировки и останавливает загрузки на всех устройствах; отзыв OpenAI удаляет активную историю тренера и останавливает новые запросы. Локальные тренировки остаются. При ошибке подтверждения обработка приостанавливается на этом устройстве: повторите отзыв, поскольку другие устройства могут продолжать обработку. Доступ к здоровью на устройстве отключается отдельно в настройках телефона. Отзыв не меняет законность обработки до отзыва.
Если удобнее, чтобы это сделали мы, напишите на [email protected] — отвечаем без неоправданной задержки и в течение одного месяца. О необходимом законном продлении сообщаем в течение этого месяца. Если считаете, что мы обошлись с вашими данными неправильно, вы можете подать жалобу в датский орган по защите данных Datatilsynet или в надзорный орган страны, где вы живёте.
Данные за пределами ЕС
Основное хранилище Supabase настроено в ЕС. Resend отправляет письма для входа из Ирландии, а данные писем хранит в США. Это не означает, что вся обработка, поддержка и субподрядчики ограничены ЕС. OpenAI обрабатывает разрешённые запросы тренера в США, RevenueCat в США проверяет покупки, а Stripe может обрабатывать веб-платежи в США. Cloudflare, Expo и другие провайдеры могут использовать глобальную инфраструктуру. Условия обработки провайдеров предусматривают применимые гарантии, включая стандартные договорные условия Европейской комиссии. Обратитесь к нам за сведениями о конкретных получателях и гарантиях.
Дети
TrainHere предназначен для взрослых от 18 лет. Мы сознательно не собираем данные детей. Если вы считаете, что аккаунт создал ребёнок, напишите на [email protected], и мы его удалим.
Безопасность
Трафик шифруется при передаче. Каждая запись аккаунта защищена правилами доступа на уровне базы данных: читать и изменять её может только владелец, а ключи, которые могли бы это обойти, существуют только на сервере. Удалённому устройству запись запрещается. Идеальных систем не бывает, а команда здесь маленькая — если что-то выглядит неправильно, напишите на [email protected].
Изменения
О существенных изменениях этой политики приложение сообщит до того, как они вас коснутся, и дата вверху изменится. Изменения, из-за которых куда-либо начнут отправляться данные, сегодня остающиеся только на устройстве, сначала спросят вашего согласия.