Где Tiich хранит данные
Версия уведомления: tf2-728-storage-v2. На этой странице мы описываем, что приложение хранит у вас в браузере, где размещён основной production-контур и какие внешние сервисы могут участвовать в обработке отдельных данных.
Что мы храним в браузере
Tiich использует localStorage и sessionStorage для технических параметров и настроек интерфейса. Для восстановления web-сессии применяется необходимая защищённая cookie tf_refresh с флагом HttpOnly.
| Хранилище / ключ | Назначение |
|---|---|
sessionStorage: ключи OIDC PKCE (oidc:<state>) | Временно хранит технические параметры протокола OIDC (state, nonce, codeVerifier) на время одного входа через Telegram. Очищается автоматически после возврата с авторизации или при закрытии вкладки. Это исключение для протокола OIDC — токены доступа здесь не хранятся. |
HttpOnly cookie: tf_refresh (домен api.tiich.ru) | Защищённая cookie, которой управляет сам браузер. Хранит долгоживущий идентификатор сессии, чтобы пользователю не нужно было входить заново при каждом открытии страницы. JavaScript Tiich не имеет к ней доступа (HttpOnly), отправляется только на API Tiich. Токен доступа в памяти вкладки больше не сохраняется на диск — после закрытия вкладки сессия восстанавливается через эту cookie. |
localStorage: tf:miniapp:active-tab | MiniApp запоминает, на какой вкладке вы остановились (для комбинированных ролей). Только настройки интерфейса. |
localStorage: ключи часового пояса и настроек MiniApp | MiniApp запоминает выбранный часовой пояс и пользовательские настройки отображения. Только настройки интерфейса. |
localStorage Console (флаги интерфейса) | Помнит, что пользователь закрыл баннер про рассинхронизацию с Notion, выбор темы и подобные UI-предпочтения. Только настройки интерфейса. |
Маршрутные токены платежей и сессий | Короткие токены, используемые для корректной маршрутизации платежа или восстановления сессии. Минимизация применяется там, где реализована. |
Notion: школьные снимки (snapshots) и ассеты | Импортированные операционные данные школы. Доступ ограничен пределами школы; правила хранения и удаления определены в /privacy. |
localStorage: tiich:analytics-consent | Помнит, разрешили ли вы Яндекс Метрику на главной странице. Только ваш выбор, без данных о вас. |
cookie Яндекс Метрики (_ym_*) | Ставятся только после «Разрешить». Нужны Метрике, чтобы отличать повторные посещения. Удаляются при отказе в настройках cookie. |
Минимизация платёжных и сессионных токенов
Там, где это технически реализовано, мы используем короткие маршрутные токены вместо длительного хранения чувствительных идентификаторов. Платёжные данные карты Tiich не получает — оплата проходит на стороне платёжного провайдера, приложение получает только поля чека.
Защита публичных форм от автоматических отправок
Отправки с публичных форм (заявка на расчёт, обратная связь, события витрины) ограничены по частоте. Это техническая мера против массовой автоматической отправки и спама: при слишком частых обращениях лишние запросы отклоняются. Признак, по которому считается частота, зависит от формы — для событий витрины это сетевой адрес, для заявок — указанные контактные данные. Сами по себе эти ограничения не сохраняют дополнительных персональных данных.
Снимки и ассеты Notion
Tiich читает базы Notion школы и хранит снимки (snapshots) и связанные файлы для работы Console. Эти данные принадлежат школе и доступ к ним ограничен пределами школы. Правила удаления соответствуют общему подходу к удалению данных учеников: при удалении/обезличивании ученика связанные фрагменты также удаляются (путь TF2-109 для учеников).
Аудит и системные логи
Аудит-записи и системные логи хранят идентификаторы, статусы и счётчики, а не сырые персональные данные. Срок хранения: события безопасности и доступа — 1 год, действия с правами администратора/платформы — 3 года.
Где сейчас физически находятся серверы
Основная production-база PostgreSQL, API, Telegram-бот, MiniApp и публичный сайт Tiich размещены на инфраструктуре Yandex Cloud в российском регионе ru-central1. Базой данных и контейнерами управляет команда Tiich; порт базы данных и внутренние сервисы не опубликованы в интернете.
Для файлов приложения выделен отдельный диск в том же российском контуре. Файловые функции не включаются в production до настройки и проверки собственного файлового сервиса; hosted Supabase не используется как production-хранилище Tiich.
Это не означает, что любая обработка происходит только в РФ: Telegram и Notion могут обрабатывать переданные им данные за пределами России. Платёжные и почтовые сервисы перечислены отдельно в таблице операторов и обработчиков на странице политики.