Ochrona danych: zgoda, pamięć przeglądarki i tekst o ochronie danych
Jak widżet odczytuje stan zgody z twojej platformy zgód (IAB TCF v2, consented.eu, data-rc-consent), co zapisuje i przesyła ze zgodą i bez niej oraz jak automatycznie osadzić tekst o ochronie danych w twojej polityce prywatności.
Ta strona opisuje technikę. Czy i na co potrzebujesz zgody, oceniasz sam; sformułowania znajdziesz we fragmencie tekstu do twojej polityki prywatności. Tekst nie jest poradą prawną.
Skąd widżet bierze stan zgody
Przy starcie loader sprawdza – tylko odczytując, w tej kolejności:
- data-rc-consent w tagu loadera (albo
consentwReactiveChatSettings/boot):grantedalbodeniedustalają stan na stałe; platforma zgód nie jest wtedy pytana. - IAB TCF v2 przez
window.__tcfapi('getTCData'): zgoda na cel 1 (przechowywanie informacji na urządzeniu i dostęp do nich) liczy się jakogranted; jeśli platforma zgłaszagdprApplies: false, również. - consented.eu przez
window.Consented.getState(). - W przeciwnym razie unknown – traktowane jak
denied.
Po załadowaniu widżet subskrybuje zmiany twojej platformy TCF (tcloaded, useractioncomplete) i reaguje od razu, bez przeładowania strony.
Jeśli używasz platformy bez TCF, sterujesz stanem przez atrybut. Typowo: wstawiasz loader dopiero po wyrażeniu zgody.
// Przykład: doładowanie loadera po wyrażeniu zgody
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);
}
Polecenia API do ustawiania zgody nie ma; wycofanie zgody przez twoją platformę TCF działa od razu, w pozostałych przypadkach od następnego otwarcia strony.
Co dzieje się ze zgodą i bez niej
Bez zgody (denied albo unknown):
- Czat działa; identyfikatory leżą tylko w
sessionStoragei znikają razem z kartą. - Nie są odczytywane żadne obce identyfikatory (np. sesji MousePlayera).
- Brak kontekstu strony (
ctx), tekstu strony i zgłoszeń nawigacji. - Jeśli czat w projekcie prosi o zgodę przed pierwszą wiadomością, sam pyta odwiedzającego; jego odpowiedź trafia do serwera jako
consent.
Ze zgodą (granted):
- Identyfikator odwiedzającego i sesji oraz bufor offline leżą w
localStorage; rozmowa zostaje zachowana między kartami i wizytami. - Kontekst strony i – poza stronami wrażliwymi – tekst strony trafiają do serwera (SPA).
Gdy stan się zmienia, widżet przenosi swoje wpisy (rc_*) między localStorage a sessionStorage i zgłasza zmianę serwerowi. Widżet nie ustawia cookies.
Dane odwiedzającego w widżecie
Odwiedzający może w widżecie zamówić historię rozmowy e-mailem, wycofać zgodę i zlecić usunięcie swoich danych. Jak ustawić w koncie obsługę żądań usunięcia i okresy przechowywania, opisuje Podręcznik.
Wykluczanie obszarów z tekstu strony
Asystent czyta widoczny tekst bieżącej strony, aby odpowiadać na pytania o nią. Nigdy nie są czytane pola formularzy, niewidoczne elementy, sam widżet ani strony ze ścieżkami takimi jak konto, checkout, koszyk, zamówienia czy faktury. Kolejne obszary wykluczasz sam:
<section data-rc-private>
Numer klienta: 4711 · Szczegóły umowy …
</section>
data-rc-ignore działa tak samo. Całkowite wyłączenie: data-rc-dom-spiegel="false" w tagu loadera (wtedy nie ma też „Pokaż mi”).
Automatyczne osadzanie tekstu o ochronie danych
Element w twojej polityce prywatności pokazuje sekcję o reactive.chat – zgodnie z ustawieniami twojego projektu (zgoda przed pierwszą wiadomością, okresy usuwania, asystent AI i jego nazwa, Smart Answer) i w języku strony. Zmiany pojawiają się na twojej stronie najpóźniej po dziesięciu minutach. Wersję skróconą znajdziesz w Automatyczne osadzanie tekstu o ochronie danych.
<div data-rc-privacy data-lang="de" data-heading="2" data-email="datenschutz@deine-firma.de">
Informacje o czacie znajdziesz w sekcji 7.
</div>
- data-rc-privacy (obowiązkowy) – oznacza element.
- data-lang (opcjonalny) –
de,enalbopl; bez podania<html lang>, w przeciwnym razie angielski. - data-heading (opcjonalny) – poziom nagłówka od
2do6, domyślnie3. - data-email (opcjonalny) – adres kontaktowy, linkowany w odpowiednich zdaniach.
- data-rc-privacy-state (ustawiany przez widżet) –
loading,donealboerror.
To, co jest w elemencie, zostaje, dopóki tekst się nie załaduje – i także wtedy, gdy nie da się go załadować. Tekst jest budowany wyłącznie z węzłów tekstowych (bez własnych kolorów i czcionek) i przejmuje wygląd twojej strony.
Technika: loader ładuje do tego mały moduł, także bez zgody. Pobiera on tekst przez GET z adresu czatu – bez cookies, bez referrera, bez identyfikatora odwiedzającego – i niczego nie zapisuje w przeglądarce. Tekst pojawia się tylko w domenach twojego projektu. Elementy wstawione później (SPA) moduł rozpoznaje sam.
Jeśli twoja platforma zgód blokuje loader na stronie z polityką prywatności, osadź moduł bezpośrednio:
<script src="https://cdn.reactive.chat/datenschutz.js" data-rc-site-key="SITE_KEY" async></script>
Z własną domeną dodatkowo data-rc-ws-url="wss://chat.deine-firma.de/rc_wss/" i src z twojej subdomeny.
Dalej: Limity i kwoty
Zadnje ažurirano: