Приватность и cookies
Коротко о том, какие данные нужны сайту для игры, профиля и улучшения словарей.
Что хранится в браузере
Основная партия проходит прямо в браузере. Для устойчивой игры сайт использует localStorage:
- снимок активной партии, чтобы восстановить игру после обновления страницы;
- очередь завершённых партий до отправки в профиль после входа;
- случайный анонимный идентификатор установки браузера и ограниченные очереди игровых событий и завершённых ходов до отправки в статистику;
- локальный fallback фидбэка по сложности слов, если backend временно недоступен.
Эти данные можно удалить через настройки браузера для сайта activity-game.ru.
Telegram-вход и профиль
Вход через Telegram нужен для открытия части словарей, покупок и сохранения истории игр. После входа backend получает и хранит данные, которые Telegram передаёт в Login Widget: идентификатор пользователя, имя, username и ссылку на аватар, если они доступны.
Для авторизованного пользователя сохраняются завершённые партии и агрегированная статистика профиля. Имена игроков внутри партии вводятся вручную и не считаются отдельными аккаунтами.
Платежи
Платёжные данные вводятся на защищённой странице Self.PayAnyWay и не передаются Activity. В Activity сохраняются номер заказа, выбранный товар, сумма, статус оплаты и выданные права доступа.
Self.PayAnyWay может обрабатывать контактные и платёжные данные, формировать чек и передавать сведения в ФНС по своим правилам.
Cookies и сессия
После Telegram-входа Worker создаёт cookie activity_session. Cookie используется только для авторизации запросов к API профиля, истории, словарей после входа и фидбэка по словам.
Сессионная cookie выставляется с атрибутами HttpOnly, Secure, SameSite=Lax и Path=/.
Фидбек по словам
После хода можно отметить фактическую сложность карточки или пометить её как слишком сложную. Для авторизованных пользователей этот фидбек отправляется в backend. Если пользователь не вошёл или сеть недоступна, запись остаётся локально в браузере.
Аналитика
На страницах сайта подключена Яндекс.Метрика. Она помогает понимать посещаемость, ошибки навигации и качество страниц. Метрика может использовать cookies и технические данные браузера по своим правилам обработки данных.
Игровая статистика сохраняется отдельно в Cloudflare D1: запуск и завершение партии, выбранный словарь, количество команд и участников, настройки таймера, длительность и количество ходов. Для оценки сложности карточек также сохраняются обезличенный код карточки, режим, уровень, результат и длительность хода. Имена команд и игроков, показанные слова, IP-адрес и содержимое партии в эту аналитику не сохраняются.
Для подсчёта повторных игр одной установки браузер создаёт случайный идентификатор. В базе хранится только его необратимый хеш. Один человек в разных браузерах учитывается как разные анонимные установки; после входа игры можно связать с одним Telegram-аккаунтом.
Cloudflare и база данных
API сайта работает на Cloudflare Workers, а история игр, обезличенная игровая статистика, сессии, пользователи и фидбек хранятся в Cloudflare D1. Статические страницы и файлы словарей отдаются через Worker и static assets.
Как сбросить данные или задать вопрос
- Локальные данные игры можно удалить в настройках браузера для
activity-game.ru. - Из профиля можно выйти кнопкой
Выйти, чтобы сбросить текущую сессию в браузере. - По вопросам доступа и данных можно написать на email: serafim.khromov@mail.ru.