Перейти к содержимому

TopoMetrika · документация SDK

Согласие пользователя и приватность

Правовое основание, уведомление, согласие и отзыв обеспечивает владелец сайта. SDK не показывает своё окно и не хранит выбор посетителя.

Обновлено

Когда это нужно: до подключения аналитики и при изменении состава обработки. Результат: владелец сайта определил допустимый момент загрузки, порядок отказа и отзыва и проверил передаваемые данные.

Кто отвечает за решение посетителя

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

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

Один готовый блок и ваша панель

  1. Скопируйте готовый короткий блок в «Настройки → Установка на сайт». Публичный счётчик и адрес уже заполнены.
  2. Настройте его загрузку в своей панели согласий, менеджере тегов или коде сайта. Если необходимо предварительное согласие, не загружайте блок до него.
  3. После загрузки сбор запускается автоматически, если проект включён и браузер его не ограничивает. SDK не ожидает собственного подтверждения и не предлагает второе окно.
  4. Свяжите отказ и отзыв с запретом загрузки либо с остановкой уже работающего счётчика.

Код счётчика готов к вставке без ручной подстановки переменных. Настройка условий в конкретной CMP зависит от сайта и остаётся ответственностью владельца. Сам script загружается при исполнении тега; чтобы исключить и установочные сетевые запросы до решения, нужно отложить загрузку всего блока.

Остановка готового блока

В настройках проекта доступен готовый технический вызов topometrika:stop с уже заполненными endpoint и projectId. Передайте его из обработчика отзыва своей панели. Ниже справочный пример, а не параметры вашего проекта:

window.dispatchEvent(new CustomEvent('topometrika:stop', {
  detail: {
    endpoint: 'https://your-workspace.fichers.ru',
    projectId: 'EXAMPLE_COUNTER_ID'
  }
}));

Событие адресуется только точному endpoint и projectId. Оно отменяет незавершённую загрузку конфигурации/SDK либо уничтожает работающий клиент, снимает обработчики и hooks, очищает очередь, таймеры, локальные исходные состояния и идентификатор сессии и прерывает активные отправки. Повторная остановка безопасна. Простой вырезанный тег из DOM такого эффекта не даёт.

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

Собственный экземпляр SDK

Для программной интеграции существуют технические enabled, setEnabled(false), refreshEnabled() и destroy(). По умолчанию enabled равно true. Эти настройки управляют жизненным циклом клиента, а не собирают или подтверждают согласие вместо вашей панели. Справочник API нужен разработчику собственного клиента; не создавайте второй экземпляр поверх готового блока.

Что передаётся

Установщик получает текущую политику через POST /api/topometrika/v1/config с {v: 1, counterId}. Запрос содержит публичный счётчик, не событие, содержимое полей, произвольный URL страницы или идентификатор аналитической сессии. Как у других сетевых запросов, серверу доступны сетевые метаданные соединения и origin.

События передаются по публичному ID без постоянного браузерного ключа и без пятиминутного токена. Публичный ID не даёт читать аналитику, данные пространства или административные API. Сервер проверяет точный origin, состояние проекта, структуру, разрешённые подписи и действия, частоту, объём и повторы.

Сервер не может удостоверить, что запрос сделал человек или что владелец действительно получил согласие. Origin можно имитировать вне браузера. Эти проверки ограничивают поток, но не доказывают подлинность покупки, юридическое основание или истинность каждого сигнала.

В аналитические пакеты не включаются введённые значения полей, пароли, raw HTML, query/fragment и DOM id/name. Передаются канонические типы, позиционные узлы, разрешённые статичные подписи и шаблоны действий, коды изменений и пустоты полей. Локальные fingerprints полей не покидают страницу. Password/file/hidden и скрытые controls исключаются. Ошибочно разрешённый статичный текст всё равно может содержать персональные данные: список проверяет команда.

Ограничения браузера и хранение

GPC и DNT запрещают сбор даже при техническом enabled: true. Не обходите их ради интеграции. Сам внешний файл установщика браузер уже загрузил до выполнения этой проверки; нулевое число сетевых запросов после вставки тега не обещается.

SDK держит очередь и аналитическую сессию в памяти и не сохраняет их в cookies, localStorage или sessionStorage. Установщик больше не сохраняет и решение посетителя. Закрытие страницы может привести к потере недоставленных наблюдений; flush() не гарантирует доставку при unload.

Проверка перед запуском

  • Правовое основание, тексты уведомлений и порядок согласия проверены владельцем сайта.
  • Если требуется предварительное согласие, до него не загружается весь блок; при отказе и отзыве новые события не отправляются.
  • Проверены настройки GPC/DNT без их обхода.
  • Статичные подписи не содержат имён, email и персональных подстановок; шаблоны не содержат реальных ID, query и секретов.
  • Исключённые поддеревья отмечены data-tm-ignore.
  • Команда проверила фактические payload на синтетических данных без публикации cookies и персонального содержимого.

Установка одним блоком · Настройка allowlist · Проверка интеграции