Интеграция конфиденциальности: согласие, хранение и текст
Как виджет читает согласие платформы (IAB TCF v2, consented.eu, data-rc-consent), что хранит и передаёт с согласием и без него и как автоматически вставить текст в политику конфиденциальности.
Здесь описана технология. Требуется ли согласие и для чего, оцениваете вы; формулировки есть в Текстовом блоке для политики конфиденциальности. Это не юридическая консультация.
Откуда виджет получает состояние согласия
При запуске загрузчик проверяет только для чтения и в таком порядке:
- data-rc-consent в теге загрузчика (или
consentвReactiveChatSettings/boot):grantedилиdeniedфиксирует состояние, платформа согласия тогда не запрашивается. - IAB TCF v2 через
window.__tcfapi('getTCData'): согласие на цель 1 (хранение информации на устройстве и доступ к ней) считаетсяgranted; так же сообщение платформыgdprApplies: false. - consented.eu через
window.Consented.getState(). - Иначе неизвестно — как
denied.
После загрузки виджет подписывается на изменения TCF-платформы (tcloaded, useractioncomplete) и сразу реагирует, без перезагрузки.
Если платформа без TCF, управляйте состоянием атрибутом. Обычно загрузчик вставляется лишь после согласия.
// Example: load the loader after consent
function chatLaden(zugestimmt) {
var s = document.createElement('script');
s.src = 'https://cdn.reactive.chat/loader.js';
s.async = true;
s.setAttribute('data-rc-site-key', 'SITE_KEY');
s.setAttribute('data-rc-consent', zugestimmt ? 'granted' : 'denied');
document.head.appendChild(s);
}
API-команды установки согласия нет; отзыв через TCF-платформу действует сразу, иначе со следующего просмотра страницы.
Что происходит с согласием и без
Без согласия (denied или unknown):
- Чат работает; ID только в
sessionStorage, исчезают с вкладкой. - Не читаются сторонние ID (например, сеанса MousePlayer).
- Нет контекста страницы (
ctx), текста страницы и сообщений о навигации. - Если чат проекта требует согласия до первого сообщения, сам спрашивает посетителя; ответ идёт серверу как
consent.
С согласием (granted):
- ID посетителя и сеанса, офлайн-буфер хранятся в
localStorage; разговор сохраняется между вкладками и визитами. - Контекст и, кроме чувствительных страниц, текст страницы идут серверу (SPA).
При смене состояния виджет переносит записи (rc_*) между localStorage и sessionStorage и сообщает изменение серверу. Виджет не устанавливает cookie.
Данные посетителя в виджете
Посетитель может запросить переписку по почте, отозвать согласие и удалить данные. Настройка запросов удаления и сроков хранения описана в Руководстве.
Исключение участков из текста страницы
Ассистент читает видимый текст текущей страницы для ответов о ней. Никогда не читаются поля форм, невидимые элементы, сам виджет и страницы с путями вроде аккаунта, оплаты, корзины, заказов и счетов. Другие участки исключаются так:
<section data-rc-private>
Customer number: 4711 · Contract details …
</section>
data-rc-ignore действует так же. Полное отключение: data-rc-dom-spiegel="false" в теге загрузчика (тогда нет и «Покажите»).
Автоматическая вставка текста о конфиденциальности
Элемент политики конфиденциальности показывает раздел о reactive.chat по настройкам проекта (согласие до первого сообщения, сроки удаления, ИИ-ассистент и имя, Smart Answer) и на языке страницы. Изменения появляются не позднее десяти минут. Короткая версия: Автоматическая вставка текста о конфиденциальности.
<div data-rc-privacy data-lang="en" data-heading="2" data-email="privacy@your-company.com">
You will find information about the chat in section 7.
</div>
- data-rc-privacy (обязательно) — отмечает элемент.
- data-lang (необязательно) —
de,enилиpl; если нет,<html lang>, иначе английский. - data-heading (необязательно) — уровень заголовка от
2до6, по умолчанию3. - data-email (необязательно) — контактный адрес, становится ссылкой в соответствующих фразах.
- data-rc-privacy-state (задаёт виджет) —
loading,doneилиerror.
Содержимое элемента остаётся до загрузки текста и при невозможности загрузки. Текст состоит только из текстовых узлов (без собственных цветов и шрифтов), принимает оформление страницы.
Технология: загрузчик подключает небольшой модуль даже без согласия. Модуль получает текст через GET с адреса чата, без cookie, referrer и ID посетителя, ничего не хранит в браузере. Текст появляется только на доменах проекта. Позднее вставленные элементы (SPA) модуль обнаруживает сам.
Если платформа согласия блокирует загрузчик на странице политики, подключите модуль напрямую:
<script src="https://cdn.reactive.chat/datenschutz.js" data-rc-site-key="SITE_KEY" async></script>
При собственном домене также data-rc-ws-url="wss://chat.your-company.com/rc_wss/" и src с вашего поддомена.
Далее: Ограничения и квоты
Обновлено: