LW IT Solutions logo LW IT Solutions logo LW IT Solutions
Zbudowane, wdrożone i utrzymywane

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.

MousePlayer
W budowie Hosting w UE EN · DE · PL

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.
WebSocketsServer-Side GTMCAPI DOM snapshotConsent Mode v2 Global Privacy ControlTLS 1.3BigQuery
mouseplayer.com
Strona startowa MousePlayer w trybie ciemnym z nagłówkiem „See Every Click, Rescue Every Cart”, przyciskiem „Create Workspace” i suwakiem ustawiającym liczbę kursorów na żywo poruszających się po sekcji hero
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
Fragment strony z funkcjami zatytułowany „Hybrid Architecture and CAPI”, opisujący router zdarzeń obok ilustrowanej konsoli pokazującej routing przez WebSockets i HTTP POST do endpointu Server-Side GTM
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.

consented.eu
Live Open Source DE · EN · PL

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.
Consent Mode v2Shadow DOMMutationObserver HMACSHA-256Self-hostingWCAG
consented.eu
Strona startowa consented.eu z panelem podglądu na żywo po prawej, pokazującym okno zgody wyrenderowane przez prawdziwe środowisko uruchomieniowe
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
Strona self-hostingu consented.eu wyjaśniająca, jak uruchomić platformę na własnej infrastrukturze
To samo repozytorium kodu, własne centrum danych. Usługa hostowana istnieje dla wygody, nie jako lock-in.
Stats4U
Live Bez rejestracji 10 języków

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-time Geolocationi18n × 10< 1 KB
stats4u.net
Strona startowa Stats4U w trybie ciemnym z wyborem licznika, trzema przykładowymi licznikami na żywo i kategoriami designu poniżej
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
Strona „O nas” Stats4U w trybie ciemnym z danymi na żywo o działających licznikach, odwiedzinach wczoraj i osiągniętych krajach, powyżej wyjaśnienia działania licznika
Co licznik zapisuje, wypisane wprost — i czego celowo nie zapisuje.
getSend
Live Wysyłanie i odbieranie API

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 inboxAttachments REST APIDE · EN · PL
getsend.xyz
Strona startowa getSend z polem adresu, wyborem domeny getsend.xyz i przyciskiem „Get Mails”
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
Strona startowa getSend po niemiecku, ten sam interfejs z przetłumaczoną nawigacją i tekstami
Ta sama strona, niemiecki interfejs. Przełącznik języka znajduje się w nagłówku, a nie ukryty w stopce.

Te same ręce, inny problem?

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.