ITMO.Widgets

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

Действует с 6 ноября 2026 года. Относится к приложению ITMO.Widgets для Android и iPhone, к сайту и веб-версии widgets.alllexey.dev и к серверу ITMO.Widgets.

ITMO.Widgets — неофициальное приложение для студентов Университета ИТМО. Оно не связано с университетом и не является его сервисом. Разработчик и оператор данных — Алексей (alllexey). Вопросы: Telegram, alllexey.dev@gmail.com или GitHub.

Коротко

Вход и данные университета

Вход выполняется на официальной странице ITMO.ID во встроенном браузере приложения; пароль вводится только там. Полученные токены ITMO.ID и БАРС хранятся на устройстве в зашифрованном виде: на Android — ключом Android Keystore, вне резервных копий; на iPhone — в Keychain, только на этом устройстве.

С этими токенами и cookie ITMO.ID встроенного браузера приложение обращается от вашего имени к my.itmo.ru, bars.itmo.ru и isu.ifmo.ru: расписание, спорт, зачётка, оценки, QR-пропуск, поиск людей и расписание преподавателей, сообщения ИСУ и пароль Wi-Fi.

ИСУ приложение открывает на телефоне с вашей сессией ITMO.ID. Сессия ИСУ живёт только в памяти, в ИСУ приложение ничего не меняет. Сообщения не сохраняются; открытое вложение лежит во временной папке приложения. Логин и пароль сети ITMO-Corp хранятся зашифрованными, как токены, и стираются при выходе. На Android приложение передаёт сеть в системное окно добавления Wi-Fi, иначе копирует пароль в буфер обмена с пометкой «конфиденциально»; на iPhone пароль копируется вручную.

Поиск людей идёт в My ITMO. Если включено подключение, найденные номера ИСУ отправляются на сервер ITMO.Widgets, чтобы показать, кто из них пользуется приложением.

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

Эти данные не отправляются на сервер ITMO.Widgets:

Карта корпусов загружается с map.alllexey.dev, зеркала планов на сервере разработчика, без данных аккаунта и без местоположения; маршрут по городу открывается в системных картах.

Сервер ITMO.Widgets

Друзья, расписание друзей, очереди, секции и автозапись на спорт, ссылки к предметам, отзывы о преподавателях, «Посчитать с ИИ», подключённые устройства, проверка обновлений и push-уведомления работают через сервер разработчика. Они включаются переключателем «Подключение» в «Настройки → Сервер ITMO.Widgets». Пока он выключен, сервер не получает о вас данных.

При включении сервер получает и хранит:

ДанныеЗачем
Из ITMO.ID: номер ИСУ, имя, фамилия и имя по отдельности, пол, ссылка на фото профиля, учебные группы, курс, факультетПрофиль, друзья, поиск людей; пол — для склонения подписей рядом с именем
Адрес почты из ITMO.IDХранится вместе с профилем, сейчас ни для чего не используется и никому не показывается
Время включения подключения и версия согласияПодтверждение, что подключение включили вы
Друзья и заявки в друзья, настройки приватностиКто видит ваше расписание, спорт и список друзей
Ваши пары за загруженные приложением дни: предмет, время, аудитория, преподаватель, группа, потокРасписание для друзей, «друзья на паре», ссылки для потока, проверка отзывов
Записи на спорт, очереди, автозапись и подписки на секции: занятие, время, попытки, результатАвтозапись, секции, спорт друзей
Устройства для уведомлений: токен push-уведомлений, производитель и модель телефона, платформа, время последнего входа, последняя сообщённая версия приложенияДоставка уведомлений, список ваших устройств
Установки приложения: случайный идентификатор установки, версия, номер сборки, канал и источник установки, версия системы, для своих сборок — коммит; номер сессии ITMO.ID этой установки; время первого и последнего запросаСколько установок каких версий работает; «Профиль → Устройства»
Подключённые устройства — браузер, агент ITMO.Widgets, MCP-сервер: название, версия, платформа, доступы, хеш токена, время подключения и последнего запроса; у агента и MCP — номер и срок их сессии ITMO.IDВеб-версия, агент и MCP-сервер, «Профиль → Устройства»
Запросы на подключение устройства: код, IP-адрес запросившего устройства, хеш его ключа, зашифрованный пакет до полученияПодключение устройства, защита от перебора
Ссылки к предметам: адрес, название, категория, кто видит, история изменений и решения проверки; закреплённые ссылкиСсылки к предметам
Отзывы о преподавателях: текст, предмет, анонимность, история изменений; номера потоков из вашего расписанияОтзывы и отметка «Вёл у автора»
Голоса, жалобы (причина и комментарий), решения модерации и ограниченияРейтинг и модерация

С каждым запросом приложение передаёт серверу токен доступа ITMO.ID: сервер проверяет по нему, кто вы, и не сохраняет его. После входа приложение передаёт и ID-токен ITMO.ID: сервер берёт из него данные профиля из таблицы выше, сам токен не сохраняется. Токены обновления ITMO.ID и БАРС остаются на устройстве.

С каждым запросом приложение также сообщает свою версию, номер сборки, платформу, канал и источник установки (например, GitHub, Google Play, TestFlight или установка вручную), версию системы и случайный идентификатор установки. Идентификатор создаётся на телефоне и меняется после каждого входа в аккаунт. IP-адрес и модель телефона в этих сведениях не сохраняются. Сервер хранит по одной записи на установку с последними значениями и удаляет её через 180 дней без запросов или вместе с аккаунтом. По ним считаются активные установки по версиям; для истории остаются дневные итоги без номеров пользователей и установок. Записи видят только администраторы, свои установки — вы сами в «Профиль → Устройства». Веб-версия так же сообщает свою сборку, семейство и основную версию браузера.

Автозапись выполняет сам телефон или ваш агент ITMO.Widgets: сервер присылает уведомление о месте, и приложение записывает вас через My ITMO. Для секций сервер сам ставит вас в очередь на каждое следующее занятие, как только его опубликуют. Ваших токенов My ITMO у сервера нет.

Текущую группу сервер уточняет в My ITMO по номеру ИСУ через собственную служебную учётную запись. Для отметки «Вёл у автора» он так же проверяет в ИСУ, есть ли преподаватель в расписании потока и вы среди его участников. Сохраняются только номера потоков и номера ИСУ: участники — на сутки, преподаватели — на 30 дней.

«Посчитать с ИИ» есть только для Google Таблицы, которую ссылка к предмету открывает потоку или всем. Приложение отправляет на сервер только номер ссылки. Сервер сам скачивает таблицу с docs.google.com, заменяет найденные в ней имена и номера ИСУ псевдонимами, вырезает адреса почты, телефоны и ссылки и передаёт эту копию с баллами и формулами модели Claude компании Anthropic. Имена ищутся автоматически, и необычно записанное имя может остаться в копии. Кто попросил расчёт, модель не узнаёт. Сервер хранит только правило подсчёта — листы, столбцы и действия — без значений ячеек, имён и номеров ИСУ; сама таблица не сохраняется. Итог по правилу считает телефон.

Подключённые устройства и веб-версия

Веб-версия, агент ITMO.Widgets и MCP-сервер itmo-mcp подключаются в «Профиль → Устройства → Подключить устройство»: устройство показывает QR-код и шестизначный код, телефон сверяет код и просит разблокировать экран. О каждом новом подключении приходит уведомление.

Браузер получает доступ только к серверу ITMO.Widgets, без входа в ИТМО. Он хранится в cookie iw_client, недоступной скриптам страницы; сервер хранит только хеш токена. Вход заканчивается через 30 дней без запросов или по «Выйти»; разделы модератора и администратора требуют подтверждения с телефона не старше 7 дней. Кроме этой cookie, веб-версия хранит в браузере только выбранную тему и служебную отметку о перезагрузке вкладки.

Агенту и MCP-серверу нужен свой вход в ИТМО: вы входите за них на официальной странице ITMO.ID в отдельном пустом браузере внутри приложения, пароль остаётся на телефоне. Этот вход виден на id.itmo.ru и действует до 90 дней. Приложение шифрует его ключом устройства (HPKE) и передаёт через сервер: сервер видит только номер и срок этой сессии, но не токены. Зашифрованный пакет удаляется, как только устройство его забрало.

Запросы на подключение с IP-адресом удаляются через сутки, отключённые устройства — через 90 дней. События для агента (то же, что в push-уведомлениях) хранятся на сервере не дольше 7 дней.

Сервер находится в России, на оборудовании разработчика.

Кому передаются данные

КомуЧто и зачем
Google Firebase Cloud MessagingДоставка уведомлений на Android: токен устройства, номер ИСУ получателя и содержимое — занятие по спорту, профиль человека, приславшего заявку в друзья (имя, фото, группы), или название подключённого устройства. На iPhone push-уведомлений пока нет
Google GeminiКраткая сводка отзывов о преподавателе: только тексты опубликованных отзывов, которые и так видны всем пользователям, с предметом и месяцем. Имена авторов, номера ИСУ и имя преподавателя не передаются. Используется бесплатный тариф Gemini API: по его условиям Google может использовать эти тексты для улучшения своих сервисов
Anthropic (Claude)«Посчитать с ИИ»: копия открытой потоку или всем таблицы преподавателя с баллами и формулами, в которой имена и номера ИСУ заменены псевдонимами, — чтобы найти, как считается итог. Данные вашего аккаунта не передаются
Библиотеки Google в приложении для AndroidFirebase Cloud Messaging и сканер QR-кода сервисов Google Play передают Google идентификатор установки, модель телефона, версии системы и приложения, сканер — ещё обезличенные сведения о своей работе. Изображение с камеры приложение не получает. Версия из Google Play проверяет обновления через Google Play
Университет ИТМОЗапросы приложения к My ITMO, ITMO.ID, БАРС и ИСУ от вашего имени; запросы сервера к My ITMO и ИСУ по номерам ИСУ, описанные выше

Больше данные никому не передаются и не продаются. В приложении нет рекламы, сторонней аналитики и отправки отчётов о сбоях.

Обратная связь

«Обратная связь» в профиле открывает в браузере сайт fb.widgets.alllexey.dev на сервере разработчика и подставляет в форму платформу, версию приложения и модель телефона. Сайт хранит то, что вы отправите: текст, контакт, если вы его укажете, вложения и эти сведения о телефоне. Вместо IP-адреса для защиты от спама хранится его хеш, для голосов за идеи — случайный идентификатор в cookie.

Что видят другие пользователи

Хранение и удаление

Разрешения приложения

Android:

QR-код подключения на Android сканирует сканер сервисов Google Play, поэтому разрешения на камеру у приложения нет.

iPhone:

Доступа к контактам, местоположению и файлам у приложения нет, кроме изображения, которое вы сами выберете для спойлера QR-пропуска.

Изменения

При изменении политики обновляется дата в начале страницы. Существенные изменения будут отмечены в описании новой версии приложения.