Cztery narzędzia, które naprawiają to, co psują ich alternatywy.
Każde z nich zaczynało się jako realny problem w pracy dla klientów: narzędzie do
session replay, które nie potrafiło określić, czy ma prawo nagrywać, baner consent,
który kosztował więcej niż strona, na której stał, licznik odwiedzin, który ciągnął za
sobą pół megabajta, pole adresowe, które przy jednym pobraniu wymagało prawdziwej
skrzynki pocztowej. Z każdego powstało rozwiązanie. Trzy z nich działają już na żywo i
są darmowe w użyciu; czwarte jest właśnie budowane od nowa. Wszystkimi czterema
opiekuje się jedna osoba.
Session replay, który odtwarza stronę na podstawie tekstowego planu
zamiast ją filmować — i który nie nagrywa niczego, dopóki nie pojawi się zgoda.
Session replay ma dwa problemy, których nie naprawi żadna ilość poloru na
interfejsie. Jest ciężki, bo nagrywanie ekranu oznacza przesyłanie pikseli; i jest
prawnie kłopotliwy, bo obserwowanie ruchów na stronie to obserwacja zachowań,
niezależnie od tego, jak nazwie to dostawca. MousePlayer odpowiada na oba problemy
na poziomie architektury. Strona jest odtwarzana z tekstowego planu i strumienia
współrzędnych zamiast z pliku wideo, a rejestrator pozostaje wyłączony, dopóki nie
nadejdzie sygnał zgody. To największy z czterech projektów na tej stronie i jedyny,
który nie został jeszcze publicznie uruchomiony.
Co potrafi
Podgląd na żywo, nie tylko raport — sesje są streamowane przez
WebSockets i można je oglądać na bieżąco, śledząc jedną wizytę między kartami,
zamiast czytać o niej następnego ranka.
Odtwarzanie bez wideo — odtwarzacz odbudowuje stronę z zarejestrowanego
planu i przesuwa po niej wirtualny kursor, dzięki czemu tekst pozostaje ostry
zamiast rozmywać się w artefaktach kompresji. Easing i wykrywanie bezczynności
utrzymują ruch naturalny, a nie robotyczny.
Hybrydowy transport z gałęzią CAPI — współrzędne na żywo płyną przez
wss://, a większe zmiany DOM i dane e-commerce trafiają przez
własny, pierwszo-stronny kontener Server-Side GTM pod adresem
/mp_capi. Oficjalne szablony społeczności Google Tag Managera, bez
podszywania się pod domenę, batching po stronie serwera.
Mapy cieplne i ścieżki konwersji — mapy kliknięć, przewijania i uwagi
zagregowane z tysięcy sesji, oraz ścieżki konwersji zbudowane na standardowych
zdarzeniach view_item, add_to_cart i
purchase, z filtrami sesji po wartościach liczbowych, np. wartości
koszyka.
Interwencje, dopóki jeszcze mają znaczenie — wzorce wahania i
rage-clicków mogą uruchomić agenta czatu jeszcze w trakcie sesji, zamiast
przeprosin e-mailem dzień po porzuceniu koszyka.
Zgoda przed nagraniem, nie po — bez sygnału nie ma identyfikatora sesji,
nic nie trafia do pamięci, nie ma ciasteczka ani otwartego połączenia. Global
Privacy Control jest respektowane bezwarunkowo i ma pierwszeństwo przed każdym
„tak”.
Integracje w obie strony — most zdarzeń GA4 i GTM, konektor BigQuery dla
surowej telemetrii, powiązania błędów z Sentry, Bugsnag i Datadog RUM, mosty
product-analytics do PostHog, Mixpanel i Amplitude, linki do nagrań w
Intercom, LiveChat i Zendesk oraz wychodzące webhooki dla Zapier i Make.
W szczegółach
Model rejestracji
Telemetria typu DOM snapshot: jeden tekstowy plan struktury i stylów, a
następnie liczbowy strumień pozycji wskaźnika, głębokości przewijania,
celów kliknięć i zdarzeń zmiany rozmiaru. Kilobajty na sesję, wysyłane
asynchronicznie, bez kodeka wideo na żadnym etapie.
Wierność viewportu
Rejestrowany jest dokładny viewport odwiedzającego — 390×844 na telefonie,
1920×1080 na desktopie — i odtwarzany w przeskalowanej piaskownicy o tej
samej proporcji. Obrót i zmiana rozmiaru okna w trakcie sesji są
rejestrowane jako zdarzenia i stosowane podczas odtwarzania, dzięki czemu
układ nigdy nie traci kontekstu.
Co celowo nie jest rejestrowane
Hasła, pola płatności i wpisywany tekst są tłumione już na urządzeniu, więc
tekst nigdy nie opuszcza przeglądarki; ramki iframe z innych domen pojawiają
się jako bloki zastępcze, bo polityka same-origin zabrania ich odczytu;
canvas i WebGL są zachowywane jako statyczne klatki; odcinki bezczynności
dłuższe niż dwadzieścia minut są wycinane z nagrania.
Obsługa zgody
Trzy ścieżki instalacji: blokowanie przez samo narzędzie do zgód poprzez
type="text/plain" i atrybut kategorii, jawne sterowanie przez
wywołanie kolejki lub wykrywanie automatyczne. Przy wycofaniu zgody
wszystkie listenery i obserwatory są odłączane, pamięć czyszczona, a bufor
odrzucany zamiast wysyłany — inaczej zamknięcie karty dostarczyłoby
dokładnie te dane, których przed chwilą odmówiono.
Regiony
Projekt może mieć pozwolenie na nagrywanie bez wcześniejszego sygnału w
wybranych regionach, ale dla UE i EOG, Wielkiej Brytanii, Szwajcarii,
Brazylii i Kanady nie da się tego odblokować, bo tam zgoda musi być
pierwsza. Region jest ustalany po stronie serwera, zapisywany jest tylko
kraj; adres IP nie jest przechowywany.
Przechowywanie i transport
Dane workspace znajdują się na serwerach w Unii Europejskiej. Strumienie
telemetrii i zapisane sesje są szyfrowane TLS 1.3, zarówno podczas
przesyłania, jak i w spoczynku.
Plany
Brak paywalla na funkcje — odtwarzanie, mapy cieplne, mosty GA4 i CAPI,
interwencje oraz maskowanie danych osobowych są w każdym pakiecie. Skaluje
się liczba jednoczesnych sesji, okres przechowywania i liczba projektów: od
trwale darmowego planu z dziesięcioma jednoczesnymi odwiedzającymi i
siedmioma dniami przechowywania, aż po umowę enterprise na rok.
Cały pitch w dwóch liniach, a pod nim demo: suwak pod przyciskiem
decyduje, ile kursorów na żywo porusza się po sekcji hero.
mouseplayer.com/features
Transport to naprawdę nietypowa część. Konsola obok jest ilustracją
tego, co robi router, a nie zapisem na żywo.
Publiczny adres wciąż pokazuje placeholder: platforma jest budowana od nowa, a oba
zrzuty ekranu powyżej pochodzą z wersji rozwojowej, nie z czegoś, na co można się
dziś zapisać. Jest tu wymieniona, bo to z tej pracy wyrosły pozostałe trzy projekty,
i bo akurat te elementy, które najtrudniej dobudować później — transport i bramkę
zgody — są już ustalone.
Kompletna platforma consent management, która nie wymaga karty
kredytowej, okresu próbnego ani opłaty za domenę.
Narzędzia do zgód stały się biznesem subskrypcyjnym, choć samo zadanie pozostało
takie samo: ustawić domyślne sygnały, zanim odpali się jakikolwiek tag, blokować
to, na co nie wyrażono zgody, i prowadzić zapis, który przetrwa audyt. consented.eu
robi dokładnie to — hostowane za darmo albo instalowane na własnej infrastrukturze
z tego samego repozytorium kodu.
Co potrafi
Cztery układy banera — baner na dole, baner na górze, modal i slide-in,
każdy z drugą warstwą listującą kategorie, usługi i tabele ciasteczek.
Blokowanie skryptów, które zaczyna się wcześnie — deklaratywnie przez
type="text/plain", plus blokowanie wzorcowe przez MutationObserver
działający już w stubie, zanim załaduje się środowisko uruchomieniowe.
Google Consent Mode v2 — wartości domyślne są ustawiane w stubie jeszcze
przed GTM; aktualizacja podąża za decyzją, mapowaną kategoria po kategorii na
sygnał.
Tylko dopisywany log zgód — znacznik czasu, wersja konfiguracji, język i
adres IP pseudonimizowany przez HMAC. Zmiana nigdy nie nadpisuje, tylko
dopisuje.
Edytor designu z sumieniem — kolory, zaokrąglenia, układ i własny CSS z
izolowanym podglądem na żywo oraz automatycznym sprawdzaniem kontrastu
WCAG.
Wersjonowana publikacja — każde wydanie zamraża konfigurację jako
niezmienny snapshot, dzięki czemu da się prześledzić, która sesja widziała
którą wersję.
W szczegółach
Renderowanie
Shadow DOM, w pełni obsługiwane z klawiatury, bez przenikania stylów na
stronę hosta.
Języki
32 w katalogu, kompletne teksty dla niemieckiego i angielskiego, z
łańcuchem fallback przez język przeglądarki, html lang i
domyślny język strony.
Reporting
Wskaźniki zgód według domeny, języka, kraju i układu w czasie; pseudonimowy
eksport jako CSV lub JSON — IP tylko jako HMAC, URL strony tylko jako
SHA-256.
Granica zaufania
Weryfikacja domeny przez rekord DNS TXT lub upload pliku; niezweryfikowane
domeny są ograniczane w momencie dostarczania.
Uczciwość
Strona z funkcjami oddziela to, co wdrożone, od tego, co dopiero planowane.
Funkcja trafia nad linię dopiero wtedy, gdy faktycznie działa.
Podgląd na stronie startowej to nie makieta — działa na tym samym
cmp.js, który trafia na strony klientów, więc układ, motyw i
język można wypróbować, zanim dojdzie do jakiejkolwiek rejestracji.
consented.eu/self-hosting
To samo repozytorium kodu, własne centrum danych. Usługa hostowana
istnieje dla wygody, nie jako lock-in.
Liczniki odwiedzin ważące poniżej kilobajta i niewymagające
ciasteczek — wybór designu, wklejenie fragmentu kodu, i gotowe.
Licznik odwiedzin to najstarszy widget w sieci, a większość ocalałych egzemplarzy
ciągnie dziś za sobą cały stos trackingowy. Stats4U trzyma się pierwotnej umowy:
mały obrazek, rosnąca liczba i statystyki do obejrzenia — bez konta, bez
okablowania zgód i bez ładunku danych, który waży więcej niż strona, na której
siedzi.
Co potrafi
Dziesiątki designów — klasyczne liczniki mechaniczne, nowoczesne SVG i
animowane warianty, które same się rozkręcają, przeskakują cel i się
stabilizują.
Zaprojektuj własny — kształt i kolory wybierane dowolnie, podgląd
aktualizuje się na bieżąco, na końcu wystarczy skopiować wygenerowany kod.
Dane w czasie rzeczywistym — dziś, wczoraj i pełna historia, ze
współczynnikiem odrzuceń i średnim czasem wizyty.
Wykrywanie aktywnej karty — system odróżnia faktyczne czytanie strony od
pozostawienia jej otwartej w tle.
Geolokalizacja, która naprawdę jest widoczna — animowane globusy i mapy
regionalne dla kilku krajów, a do tego kreator licznika flag w stylu kostki,
poziomym i pionowym.
Podział na urządzenia i technologie — przeglądarki, rozdzielczości
ekranu i klasy sprzętu, wszystko bez bannera ciasteczek na wejściu.
W szczegółach
Ładunek danych
Poniżej 1 KB po stronie odwiedzającego. Nie są ustawiane żadne ciasteczka,
więc sam licznik nie wymaga warstwy zgody.
Start
Bez rejestracji. Numer licznika zostaje przydzielony, kod wklejony, a
licznik startuje przy kolejnym odsłonięciu strony.
Zasięg
Interfejs w dziesięciu językach — angielski, niemiecki, polski, hiszpański,
francuski, włoski, portugalski, rosyjski, chiński i japoński.
Wsparcie
Formularz kontaktowy z reCAPTCHA, który ładuje się dopiero po
otwarciu formularza — skrypt antyspamowy nie stoi domyślnie na każdej
stronie.
SVGCookielessReal-timeGeolocationi18n × 10< 1 KB
stats4u.net
Trzy kroki na jednej stronie: wybór designu, dopasowanie,
kopiowanie kodu. Przykłady liczników po prawej to renderowanie na żywo, nie
obrazki.
stats4u.net/about
Co licznik zapisuje, wypisane wprost — i czego celowo nie
zapisuje.
Adres e-mail bez konta — nazwa wymyślona na poczekaniu, wiadomości
do odczytania, i koniec.
Rejestracje, pobrania i maile potwierdzające rutynowo proszą o adres, który nigdy
więcej nie zostanie użyty. getSend przydziela go od razu: bez rejestracji, bez
hasła, bez danych płatniczych. W odróżnieniu od większości usług jednorazowych
potrafi też wysyłać, odpowiadać i przekazywać dalej, z załącznikami w obie strony.
Co potrafi
Natychmiastowy adres — dowolna nazwa pod @getsend.xyz, i
skrzynka istnieje od razu; nic do potwierdzenia, nic do instalacji.
Poczta przychodzi sama — skrzynka odświeża się bez przeładowania strony
i sygnalizuje dźwiękiem nowe wiadomości.
Nie tylko do odczytu — odpowiedź na wiadomość, przekazanie pojedynczej
dalej, wysyłanie i odbieranie załączników.
Zmiana w dowolnym momencie — przejście na inny adres, kiedy tylko
trzeba, albo po prostu porzucenie tego, z którego się korzystało.
Dostęp programistyczny — API dla zautomatyzowanych procesów rejestracji
i środowisk testowych, które potrzebują świeżego adresu przy każdym
uruchomieniu.
Trzy języki interfejsu — niemiecki, angielski i polski, przełączane w
nagłówku.
Uczciwa część
Brak hasła, celowo
Skrzynka tutaj nie ma właściciela. Każdy, kto zna adres — albo go odgadnie
— może przeczytać to, co do niej trafia. Usługa mówi o tym wprost na
własnej stronie startowej, zamiast chować to w regulaminie.
Do czego to służy
Rejestracje, pobrania, jednorazowe potwierdzenia. Ani nadawca, ani strona, w
której następuje rejestracja, nie poznaje prawdziwego adresu.
Do czego to nie służy
Do wszystkiego, czego czytanie przez obcą osobę byłoby problemem:
resetowanie haseł, faktury, odzyskiwanie konta. Do tego lepiej sprawdzi się
prawdziwa skrzynka.
SMTPPush inboxAttachmentsREST APIDE · EN · PL
getsend.xyz
Cały proces startowy to jedno pole i jeden przycisk. Wszystko
poniżej pierwszego ekranu wyjaśnia, co usługa robi — i czego nie
robi.
getsend.xyz · Deutsch
Ta sama strona, niemiecki interfejs. Przełącznik języka znajduje
się w nagłówku, a nie ukryty w stopce.
Te cztery powstały z pracy konsultingowej przy trackingu, analityce po stronie serwera i
architekturze zorientowanej na prywatność. Jeśli coś w tym obszarze sprawia kłopot,
blog ma rozbudowaną wersję, a
toolbox — całą gamę małych narzędzi, z których każde
rozwiązuje jedną rzecz.