Расширение не выполняет никаких сетевых запросов. Всё, что оно считывает, никогда не покидает ваш браузер. Сбор данных в смысле их передачи отсутствует: мы не можем видеть ваши бои, поскольку они никогда не отправляются нам или кому-либо ещё.
Что расширение хранит и где
Все данные хранятся локально в профиле вашего браузера. Используются два механизма.
1. IndexedDB — база данных pokestrat-tracker
Четыре хранилища объектов:
battles— одна запись для каждого завершённого боя. Каждая запись содержит только то, что протокол боя Showdown уже показал вашему браузеру:- идентификатор комнаты боя (используется для создания ссылки на повтор) и формат боя;
- временные метки начала и окончания;
- имена двух игроков в том виде, в котором они отображаются в бою, и указание вашей стороны;
- ваша команда и команда соперника (виды, раскрытые при предварительном просмотре команд);
- число ходов, победитель и результат (победа / поражение / ничья / сдача);
- ваш рейтинговый показатель до и после боя, а также рейтинг соперника, если формат его предоставляет.
meta— небольшие внутренние служебные значения самой базы данных.debug_logs— по умолчанию отключено. Только если вы включите «Отладочное журналирование» на странице истории, расширение сохраняет необработанные кадры WebSocket ваших боёв, чтобы вы могли экспортировать их и приложить к сообщению об ошибке. Размер буфера ограничен (20 боёв, 6 MB всего, 1 MB на бой). Отключение переключателя прекращает запись. Эти журналы, как и всё остальное, хранятся локально и передаются только в том случае, если вы экспортируете файл и самостоятельно куда-либо его отправите. Тумблер отладочного журнала доступен только в режиме разработчика и в обычном интерфейсе расширения не отображается.battle_logs— компактная сжатая копия протокола каждого боя из истории, чтобы страница истории могла показать читаемый лог по ходам («Turn 18 — The opposing Zamazenta used Reflect!»). Приватные данные вашей команды (|request|: ходы, EV, предметы) и весь чат отбрасываются до сохранения. Потолок 20 МБ суммарно, первыми удаляются логи самых старых боёв; удаление боя удаляет и его лог. Хранится только локально, никуда не отправляется.
2. chrome.storage.local — настройки и флаги
Одиннадцать ключей, все маленькие, персональных данных среди них нет:
ui_locale— выбранный вами язык интерфейса;ui_theme— выбор светлой / тёмной темы;ui_popup_tab— какая вкладка попапа была открыта последней;debugLogging— переключатель отладочного журналирования (по умолчанию: выключен);dev— флаг режима разработчика; панель дебаг-логов на странице истории появляется только когда он выставлен вручную из консоли расширения (по умолчанию отсутствует);storage_quota_exceeded— флаг, устанавливаемый, если браузер отклоняет запись из-за отсутствия места на диске в профиле, чтобы страница истории могла предупредить вас;storage_write_failed— флаг на случай, когда последний бой не удалось сохранить по любой причине (время, текст ошибки, id комнаты), чтобы попап и страница истории показали предупреждение; снимается следующей удачной записью;session_reset_at— время последнего «Reset» на вкладке «Overview» попапа; ничего не удаляется, бои до этой отметки просто не входят в счётчики сессии;session_reset_all_at— такая же отметка для периода «All time»; две отметки независимы, сброс одной не трогает другую;history_team_view— чью команду страница истории показывает в свёрнутых строках (вашу или соперника);pokestrat_diag— диагностические счётчики перехватчика WebSocket (подключён ли перехватчик, количество кадров), отображаемые на странице истории, когда расширение, по-видимому, не ведёт запись.
Чего расширение не делает
- Оно не отправляет данные куда-либо. Запросов к каким-либо серверам, включая наш, нет. Единственные вызовы
fetch()в коде читают файлы, включённые в пакет расширения, по адресамchrome-extension://— таблицу Pokédex, переводы, таблицы стилей и шрифты. - Оно не использует аналитику, пиксели отслеживания, cookie, рекламные идентификаторы или какие-либо сторонние SDK.
- Оно не продаёт, не сдаёт в аренду, не передаёт совместно и не передаёт данные третьим лицам. Передавать нечего.
- Оно не отправляет ничего в соединение Pokémon Showdown. WebSocket обёрнут в режим только для чтения: расширение наблюдает за сообщениями, которые уже поступили в ваш браузер, и никогда не записывает данные в сокет, не автоматизирует ходы и не играет за вас.
- Оно не считывает ваш пароль или cookie сессии Showdown и не взаимодействует ни с каким сайтом, кроме
play.pokemonshowdown.com. - Оно не требует учётной записи, входа или какой-либо персональной информации.
Разрешения и назначение каждого из них
storage— для хранения перечисленных выше настроек в профиле вашего браузера.host_permissions: https://play.pokemonshowdown.com/*— расширение работает только на игровом сайте Showdown. Ему необходимо запускаться там, чтобы наблюдать за протоколом боя, который уже получает ваш клиент. На странице оно ничего не рисует. Другие хосты не запрашиваются, поэтому на всех остальных посещаемых вами сайтах расширение бездействует.content_scriptswith"world": "MAIN"— перехватчик работает, оборачиваяwindow.WebSocketв собственном контексте JavaScript страницы. Это возможно только в основном мире; скрипт из изолированного мира имеет отдельныйwindowи никогда не увидит сокет клиента Showdown. Скрипт основного мира выполняет ровно одно действие: передаёт расширению копии входящих кадров. Он не отправляет кадры, не изменяет их и не считывает переменные страницы, поля форм или cookie. Кадры передаются черезpostMessageс адресацией наwindow.location.origin, а не на*, поэтому текст боя не рассылается другим скриптам на странице.
Хранение и удаление данных
Ваши данные хранятся, пока вы их не удалите. Вы всегда контролируете их:
- Удалить один бой — кнопка удаления в соответствующей строке страницы истории.
- Удалить все бои — кнопка «Очистить историю» на странице истории (сначала запрашивается подтверждение).
- Удалить отладочные журналы — отдельная кнопка на странице истории. Очистка истории боёв намеренно не удаляет отладочные журналы, и наоборот.
- Удалить всё — удалите расширение из
chrome://extensions. Вместе с ним Chrome удалит базу данных IndexedDB расширения и записиstorage.local. Ничего не останется где-либо ещё, потому что нигде больше ничего не хранилось.
Вы также можете в любое время экспортировать историю боёв в файл JSON и импортировать её обратно — экспорт записывается вашим браузером на ваш собственный диск и никуда не загружается.
Конфиденциальность детей
Расширение не собирает персональную информацию ни у кого, включая детей.
Изменения этой политики
Если расширение когда-либо начнёт передавать данные, эта политика будет обновлена до выпуска такой версии, а изменение будет видно в карточке расширения в Chrome Web Store и на этой странице.
Контакты
Вопросы об этой политике: [email protected]
Сайт: www.pokestrat.top