MathTrail

Политика приватности

Обновлено 26 октября 2026 года.

MathTrail — бесплатный проект с открытым кодом. Его делает и ведёт компания ALT EdTech. Вопросы об этой политике и о данных ребёнка — на altedtech.info@gmail.com. Как подключить MathTrail и что делать, если что-то пошло не так, рассказано на странице помощи.

Коротко

  • Мы ничего не храним. У сервиса нет ни базы данных, ни файлов. Между двумя запросами он не помнит ничего.
  • Профиль ребёнка лежит в вашем Google Диске — в файле, который вы в любую минуту можете открыть, скопировать или удалить.
  • Псевдоним, а не настоящее имя. Ни даты рождения, ни школы, ни фотографии.
  • Мы считаем детей, не зная, кто они. Строка лога называет ребёнка кодом, который меняется каждый месяц и ни к кому не ведёт; дольше двух месяцев хранятся только итоги.
  • Ничего не продаётся и ни на чём не обучаются модели.
  • Удалили файл — удалили профиль. Второй копии нигде нет.

Что такое MathTrail

MathTrail — приложение, которое вы подключаете к своему Claude или ChatGPT. Оно выбирает ребёнку тему и сложность, просит модель чата написать задачу, проверяет эту задачу программой, показывает её, записывает ответ и объясняет ошибку.

Своей языковой модели у MathTrail нет. Задачи пишет модель того чата, которым вы и так пользуетесь, и ваши отношения с его владельцем регулируются его условиями и его политикой приватности, а не этой.

Кто входит

Только взрослый — родитель или репетитор. У ребёнка нет ни аккаунта, ни собственного входа. Возрастные правила устанавливают сами платформы: Claude — для взрослых, ChatGPT для подростков требует согласия родителя. MathTrail не рассчитан на ребёнка, который пользуется чатом самостоятельно.

Дети

Задачи MathTrail рассчитаны на детей 1–6 классов, примерно от шести до двенадцати лет. Им пользуются так: взрослый пишет в чат, а ребёнок рядом отвечает, нажимая на вариант на карточке. У ребёнка нет аккаунта. В профиле лежит то, что взрослый сообщает о ребёнке под псевдонимом, и ответы ребёнка, и лежит профиль в собственном файле взрослого. Что из этих ответов остаётся в логах сервиса и как долго, сказано ниже.

Что хранится и где

В вашем Google Диске

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

В нём лежат:

  • псевдоним ребёнка, класс, интересы и то, чего вы просили избегать;
  • идентификатор ребёнка — чтобы профиль можно было перенести в будущую версию;
  • язык интерфейса, если вы его выбирали;
  • тема, которой держатся занятия, если её выбрали вы или ребёнок;
  • страна, где вы живёте, а в США — ещё и штат, если вы решили их указать: они нужны только для того, чтобы посчитать, сколько семей в каждой стране, и их можно не заполнять;
  • какие темы освоены, числовые рейтинги, по которым подбирается сложность, и сводка прошлых ответов: по каждой теме — когда она была в последний раз, сколько было попыток и успехов, какие ловушки срабатывали;
  • где стояли рейтинги перед каждым из последних ответов и в начале каждого из последних семи дней с ответами — чтобы прогресс показывал, что сдвинулось после последней задачи и за неделю;
  • счётчик принятых сегодня задач, по которому считается дневной лимит, и на сколько часы устройства, на котором ребёнок отвечает, идут впереди или позади UTC: карточка присылает это с каждым ответом, чтобы день кончался в вашу полночь;
  • текущая задача, ответ к которой зашифрован, чтобы его нельзя было прочитать из файла раньше, чем ребёнок ответит;
  • следующая задача, которую чат заранее пишет, пока ребёнок решает текущую. Её ответ зашифрован так же, и хранится она, пока её не попросят.

В нём нет ни имени ребёнка, ни даты рождения, ни школы, ни адреса, ни фотографии, ни чего-либо ещё, по чему его можно узнать. Псевдоним — единственное имя во всей истории, и в текст задачи он никогда не попадает.

На сервере

Ничего. Сервис — одна программа, которая отвечает на запрос и забывает его. У неё нет ни базы, ни диска, ни кэша ваших данных.

Вход через Google тоже не хранится: он шифруется и кладётся внутрь того токена, который сервис отдаёт вашему чату, вместе со страной, из которой вы вошли, — о ней ниже. Ключ лежит в Google Secret Manager и с сервера не уходит.

В логах

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

Чтобы считать, сколько детей занимается в MathTrail каждый день, неделю и месяц, и при этом не знать, кто они, строки о выданной задаче, об ответе и об освоенной теме вместе несут ещё:

  • имя для подсчёта ребёнка — код, который сервис своим ключом делает из идентификатора профиля и календарного месяца. Весь месяц он один и тот же, в следующем месяце другой, и ничего о ребёнке — ни идентификатор, ни псевдоним, ни что-либо ещё — по нему не узнать;
  • чат (Claude, ChatGPT или другой), язык задачи, класс, месяц, когда создан профиль, и сколько тем освоено;
  • в строке о выданной задаче: страну и, в США, штат, если вы указали их в профиле, и страну, из которой вы вошли, каждую коротким кодом;
  • в строке об ответе: его тема, уровень и сложность, верен ли он, ловушка, в которую попал неверный ответ, брал ли ребёнок подсказку, был ли это ответ «не знаю», как быстро он пришёл (за минуту, за три минуты или позже), шанс верного ответа, который сервис ожидал для этой задачи, кто выбрал задачу (правило сервиса, чат или вы), был ли это один из первых ответов, по которым находится начальный уровень, а после них диапазон, в котором было число ответов ребёнка, например от 6 до 20.

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

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

В логах никогда нет ни псевдонима, ни текста задачи, ни буквы ответа, ни адреса почты, ни токена, ни идентификатора ребёнка, ни адреса, с которого пришёл запрос.

Отдельно от этого Google Cloud Run по умолчанию ведёт обычную запись о каждом запросе к любому работающему на нём сервису: время, адрес, с которого пришёл запрос, как представился браузер, страницу, с которой пришёл переход, полный запрошенный адрес, код ответа, размер и длительность ответа. Во время входа запрошенный адрес несёт после вопросительного знака то, что в него положили чат и Google: одноразовый код входа Google, который может обменять только сервис, домен аккаунта Google Workspace и адрес почты, который чат предлагает для входа, если он его предлагает. MathTrail велит Google Cloud не хранить запись о запросе, в адресе которого есть такая часть, поэтому в этой записи ничего из этого больше не сохраняется. В остальных записях нет данных профиля, текстов задач, ответов и адресов почты, и каждая хранится 30 дней. Записи о запросах входа, сделанные до этого обновления, ещё хранят их, пока не пройдут их 30 дней.

Страна, из которой вы входите

Когда вы входите, Google возвращает ваш браузер в MathTrail, и в этот единственный момент сервис смотрит, какой стране принадлежит адрес вашего браузера, — по бесплатной базе IP-to-Country от DB-IP. Это файл, который лежит на сервере самого сервиса, поэтому ничего не уходит ни в DB-IP, ни кому-либо ещё. Хранится только двухбуквенный код страны, запечатанный внутри токена вашего чата; сам адрес не хранится и нигде не записывается. Адрес, который не принадлежит ни одной стране, например адрес частной сети, страны не даёт. Запросы вашего чата приходят с его серверов, а не от вас, поэтому страна остаётся той, из которой вы входили в последний раз.

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

Геолокация по IP — DB-IP, по лицензии Creative Commons Attribution 4.0.

Для чего это нужно

  • Профиль — чтобы выбирать каждую задачу и её сложность, показывать прогресс и соблюдать дневной лимит.
  • Вход и код вашего аккаунта — чтобы открывать ваш единственный файл и больше ничего, а также соблюдать лимиты каждого аккаунта.
  • Страны — только чтобы посчитать, сколько семей в каждой стране. Обе можно не указывать.
  • Логи — чтобы сервис работал, чтобы находить неполадки и видеть, насколько хороши задачи.
  • Итоги — чтобы знать, как пользуются MathTrail и насколько его задачи подходят детям. Они показываются только как итоги по десяти и более детям: на странице «Исследование» этого сайта и в заявках на гранты.

Сколько это хранится

  • Файл профиля — пока вы его не удалите. Удалённый файл 30 дней лежит в корзине Диска, если вы её не очистите. Прежние версии файла Диск какое-то время держит в истории версий, а первую версию каждого дня, в который менялся профиль, MathTrail просит его сохранить навсегда, но не больше двухсот таких версий.
  • Токен, который хранит ваш чат — 15 минут. Он продлевается до 30 дней подряд и не дольше 90 дней с момента входа.
  • Две куки входа — 10 минут та, что связывает начало входа с его завершением, и 180 дней та, что помнит одобренные вами приложения.
  • Логи сервиса и запись запросов Cloud Run — 30 дней.
  • Копия строк, по которым считают детей — 62 дня.
  • Трассировки длительности запросов — 30 дней. В них попадает примерно один запрос из десяти, и адрес, браузер, путь и параметры запроса в них стёрты.
  • Измерения работы сервиса, например сколько вызовов прошло успешно, — 24 месяца. О ребёнке в них нет ничего.
  • Итоги — годами. В них нет никакого идентификатора.
  • Журналы обращений к этому сайту и ваши переписки — столько, сколько их хранят GitHub и владелец вашего чата по своим правилам.

Вход через Google и Диск

При входе сервис просит у Google одно разрешение, drive.file. Это узкое разрешение на Диск: оно даёт доступ только к тем файлам, которые создало само приложение. Ничего другого на вашем Диске, включая ваши собственные файлы, MathTrail не видит и открыть не может.

Чтобы понять, чей это вход, сервис затем спрашивает у Google, какой аккаунт дал это разрешение. Google сообщает идентификатор аккаунта, но не адрес почты. Сервис хранит только код, который делает из этого идентификатора, и этот код описан выше.

Две особенности стоит знать заранее — они выглядят как неполадка, но ею не являются:

  • Google спрашивает разрешение при каждом подключении. Сервис не держит у себя долгоживущих учётных данных Google, поэтому каждое подключение получает их заново, и Google каждый раз показывает свой экран разрешений.
  • Аккаунт Google допускает около сотни таких разрешений одновременно. После примерно сотого подключения самое старое перестаёт работать — без предупреждения. Лечится повторным входом.

Токен, который сервис выдаёт чату, действует 15 минут и продлевается автоматически — до 30 дней подряд и не дольше 90 дней с момента входа. Потом нужно войти заново.

Что попадает к модели чата

Всё, что возвращает инструмент MathTrail, читает модель чата, и поэтому всё это вместе с остальной перепиской попадает к владельцу вашего чата. За урок это почти всё, что есть в профиле:

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

Пишите заметки с этим в виду: они уходят владельцу чата вместе со всем остальным. Идентификатора ребёнка нет ни в одном результате, а псевдоним никогда не попадает в текст задачи.

Сам текст задачи пишет модель, и он возвращается обратно через проверки MathTrail.

Что видно вам и что показывает чат

Чаты показывают аргументы вызовов, которые делает приложение, как есть. Когда модель сдаёт готовую задачу, эта передача — вместе с правильным ответом — видна всякому, кто читает журнал вызовов в окне чата.

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

Реклама, профилирование и обучение моделей

Рекламы в MathTrail нет. Ничто о вашем ребёнке не используется для построения рекламного профиля, не продаётся и не передаётся брокерам данных. На данных вашего ребёнка MathTrail не обучает никаких моделей.

Что делает с перепиской владелец чата — предмет его собственной политики, той же самой, которая и так действует для каждого вашего сообщения в этом чате.

Куки

Этот сайт не ставит куки, не собирает аналитику и ничего не подгружает с чужих доменов.

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

Как забрать данные и как удалить

Всё лежит на вашем Диске, поэтому всё в ваших руках:

  • Забрать — откройте папку MathTrail на Диске и скачайте mathtrail-profile.json. Этот файл и есть весь профиль.
  • Удалить — удалите файл и очистите корзину Диска. Больше профиля нигде не останется.
  • Отключить доступ — в аккаунте Google на странице связанных приложений уберите у MathTrail доступ к аккаунту. После этого сервис не сможет обратиться ни к чему.
  • Убрать приложение — отключите MathTrail в настройках самого чата.

Удаление файла и отзыв доступа независимы; сделайте и то и другое — не останется ничего.

Кто ещё участвует

Те, кто ведёт MathTrail, могут читать логи сервиса и итоги в Google Cloud, а в них есть только то, что описано выше. Больше никого.

Изменения

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

Языки

Эта политика опубликована на нескольких языках. Основной текст — английский; если перевод с ним расходится, действует английская версия.