Replay sesji · Tier 2
Obejrzyj wizytę,
nigdy klawiszy.
Replay to poziom Observera bramkowany zgodą: pełny zapis rrweb dla odwiedzających, którzy wyraźnie się na to zgodzą, z wartościami pól maskowanymi u źródła — nigdy nie opuszczają one przeglądarki. Odtwarzanie działa w sandboxowanym iframe bez dostępu do sieci i bez zapisu, na nagraniach wygasających po 30 dniach.
Odtwarzacz
Odtwarzanie w sandboxie, nie w oknie.
Nagrane sesje odtwarzają się wewnątrz sandboxowanego iframe'a — tylko allow-scripts, bez dostępu do sieci, bez wycieku cookies i zapisu — z pełnym odtwarzaczem rrweb: play, pause, scrub i sterowanie prędkością. Wokół niego przeglądarka nagrań wyświetla każde nagranie z datą, kluczem sesji, liczbą fragmentów i rozmiarem; klikasz, żeby obejrzeć, usuwasz, gdy skończysz.
Zero powierzchni wycieku
Iframe odtwarzacza dostaje allow-scripts i nic więcej — bez sieci, bez cookies, bez zapisu. To, co się odtwarza, nie może donosić do domu.
Pełny transport
Play, pause, scrub i prędkość — kompletny odtwarzacz rrweb, sterowany z Twojego własnego dashboardu.
30 dni, potem zniknięcie
Nagrania wygasają po 30 dniach — wymuszone w schemie — a każde usunięcie trafia do dziennika audytu.
Maskowanie
Maskowane u źródła, nie po wysyłce.
maskAllInputs działa w przeglądarce odwiedzającego, zanim kadr zostanie zserializowany — wartości pól nigdy nie opuszczają strony. W tranzycie nie ma żadnego czystego tekstu, w spoczynku też, a redagować później nie ma czego. Wydawcy rozszerzają maskowanie trójklasowym kontraktem DOM:
<!-- values never leave the browser -->
<input class="obs-mask"> text masked in the recording,
layout preserved
<section class="obs-block"> element redacted from the
recording entirely
<aside class="obs-ignore"> element skipped by the recorder,
never captured
<!-- maskAllInputs covers every field, by default -->
Maskowanie dzieje się przed serializacją, w przeglądarce odwiedzającego — collector nigdy nie widzi czystego tekstu, więc żadne ogniwo pipeline'u, żaden plik logu ani backup nie wycieknie tego, co nigdy nie zostało wysłane.
Cykl życia
Fragmenty co 10 sekund aż po usunięcie z dziennikiem audytu.
Nagranie to pipeline, nie plik wideo — każde ogniwo ma zadeklarowane zachowanie i każde da się przetestować.
| Etap | Co się dzieje |
|---|---|
| Przechwytywanie | kadry rrweb serializowane w przeglądarce odwiedzającego — pola maskowane u źródła; canvas, fonty i obrazy wyłączone |
| Dzielenie | fragmenty gzip po 10 sekund, wysyłane z tokenami rekordera per witryna |
| Samplowanie | deterministyczne samplowanie per sesja — włączane per witryna, stosowane per sesja |
| Retencja | TTL 30 dni wymuszony w schemie, nie polityką |
| Usuwanie | automatyczne po TTL albo ręczne z przeglądarki nagrań — każde usunięcie w dzienniku audytu |
| Wycofanie | cofnięcie zgody natychmiast zatrzymuje przechwytywanie |
Konfiguracja
Czego nagrywanie wymaga.
Replay jest wyłączony, dopóki witryna go świadomie nie włączy — trzy przełączniki, wszystkie per witryna, wszystkie konfigurowalne przez kreator dodawania witryny albo API.
| Wymóg | Scope | Co znaczy |
|---|---|---|
| Poziom T2 — Consented | per witryna | jawny opt-in per odwiedzający; kolekcja startuje dopiero po zgodzie. Poziomy wymusza serwerowo collector — snippet nie może sam się podnieść. T2 odblokowuje też 13-miesięczny visitor id w localStorage dla wyrających zgodę, nigdy automatycznie przedłużany wizytami |
recorder_sample > 0 | per witryna | samplowanie nagrań włączone, z deterministycznym doborem per sesja |
recorderToken | per witryna | tokeny wysyłki bramkują każdy fragment wysłany przez rekorder |
DNT, Global Privacy Control i jawne observer('optOut') wyciszają SDK bezwarunkowo — żaden poziom i żadne ustawienie nie ma nad nimi władzy.
Replay, który przeżyje
Twoją opinię prywatności.
Replay to jedyna możliwość Observera, która pyta o pozwolenie — i zachowuje się odpowiednio: maskowanie u źródła, sandbox przy odtwarzaniu, wygasanie po TTL, audyt przy każdym usunięciu. Dostęp po podpisaniu NDA, a wdrożenie odbywa się razem z Twoim zespołem DevOps.