← Strona główna
Część 1: Techniczna i Instalacja

Wprowadzenie

Verdisight to zaawansowany techniczno-prawny skaner zgodności witryn internetowych z przepisami RODO, dyrektywą ePrivacy oraz unijnym rozporządzeniem EU AI Act.

W przeciwieństwie do prostych walidatorów, Verdisight nie opiera się wyłącznie na statycznej analizie kodu. Wykorzystuje autorski silnik symulacji sesji użytkownika, aby w pełni przeanalizować dynamiczne zachowanie strony z perspektywy rzeczywistego odwiedzającego, a także sztuczną inteligencję (modele językowe AI) do interpretowania i weryfikacji dokumentacji prawnej.

Instalacja Lokalnego Agenta

Wersja demonstracyjna agenta jest gotowa do testów. Nie mamy jeszcze wdrożonego sklepu i automatycznego fakturowania, więc instalację przeprowadzamy obecnie ręcznie z każdym klientem. Napisz do nas na biuro@bugbegone.pl, aby otrzymać klucz licencyjny.

Verdisight stawia na prywatność (privacy-first): domyślnym sposobem skanowania jest lokalny Agent — lekka aplikacja uruchamiana w kontenerze Docker na Twoim komputerze. To Twój sprzęt i Twoje łącze wykonują skanowanie witryny. Wyodrębniona treść jest analizowana przez nasze modele AI, a kompletny raport wraca i jest zapisywany lokalnie na Twoim dysku.

Krok 1: Zainstaluj Docker Desktop

Agent potrzebuje programu Docker Desktop do uruchamiania kontenerów w bezpieczny i odizolowany sposób. Pobierz go z docker.com dla swojego systemu i zainstaluj. Po uruchomieniu poczekaj, aż ikonka wieloryba przestanie migać.

Krok 2: Otwórz terminal

Naciśnij jednocześnie klawisze Cmd (⌘) + Spacja, wpisz Terminal i naciśnij Enter.

Kliknij menu Start, wpisz PowerShell i uruchom aplikację Windows PowerShell.

Krok 3: Uruchom kontener agenta

Wklej w terminalu polecenie instalacyjne, które otrzymasz od nas razem z kluczem licencyjnym (mailowo, po ustaleniu szczegółów — patrz komunikat w sekcji wyżej), i naciśnij Enter. Instalator sam pobierze obraz agenta, poprosi o klucz licencyjny i uruchomi wszystko w tle.

Samej komendy celowo nie publikujemy tutaj — obraz agenta jest prywatny, więc każdy klient dostaje ją indywidualnie razem z dostępem.

Krok 4: Aktualizacja Agenta

Aby zaktualizować lokalnego agenta do najnowszej wersji przy zachowaniu historii skanów, wykonaj w terminalu poniższe polecenia:

cd ~/.verdisight
docker compose pull
docker compose up -d

(Na systemie Windows zamiast pierwszej linii wpisz: cd $env:USERPROFILE\.verdisight)

Jak przeprowadzić skan oraz konfiguracja Runnera

Aby wykonać pojedynczy skan, podaj adres URL w zakładce "Skaner" i kliknij "Uruchom Skan". Skaner odwiedzi stronę w 3 fazach:

  1. Stan czysty (baseline): Analiza skryptów i ciasteczek ładowanych przy pierwszym wejściu bez interakcji z banerem cookies.
  2. Odmowa (declined): Symulacja kliknięcia odmowy na banerze i sprawdzenie, czy skrypty śledzące zostały zablokowane.
  3. Akceptacja (accepted): Symulacja kliknięcia zgody i weryfikacja poprawności zapisu ciasteczek.

🚀 Runner (Wsadowe skanowanie)

Runner pozwala zbadać do 10 adresów URL w ramach jednej domeny za jednym zamachem (sekwencyjnie, by nie przeciążać zasobów). Możesz automatycznie wykryć podstrony, podając domenę główną i klikając "Znajdź podstrony" — skaner pobierze linki z pliku sitemap.xml oraz przeanalizuje strukturę stopki na stronie głównej. Następnie zaznacz wybrane podstrony i dodaj je do kolejki.

Po zakończeniu pracy Runnera możesz pobrać zbiorczy raport w formacie PDF zawierający audyt całej witryny.

Blokada robots.txt i User-Agent

Skaner domyślnie szanuje reguły pliku robots.txt. Jeśli Twoja strona (np. środowisko stagingowe) całkowicie blokuje roboty:

User-agent: *
Disallow: /

Skaner zwróci błąd. Nie ma opcji "wymuszenia" skanu z poziomu naszej aplikacji — blokadę można odblokować wyłącznie po stronie skanowanej witryny, jedną z metod opisanych poniżej. To celowe: uniemożliwia to komukolwiek zeskanowanie cudzej, zablokowanej strony bez zgody jej właściciela.

Nasz User-Agent

Możesz również dodać dedykowany wyjątek w swoim pliku robots.txt dla naszego bota:

User-agent: VerdisightComplianceScanner
Allow: /

Skaner przedstawia się nagłówkiem: VerdisightComplianceScanner/1.0.

Weryfikacja własności domeny

Aby odblokować skan mimo blokady w robots.txt, umieść w dowolnym miejscu swojego pliku robots.txt następujący komentarz:

# Verdisight-Scan: Allow
Uwaga: W systemie SaaS Verdisight weryfikacja ma bardziej rygorystyczny charakter i wymaga dodania unikalnego tokenu przypisanego do konta użytkownika w formacie:
# Verdisight-Token: TWOJ_UNIKALNY_TOKEN

Skanowanie za zaporami i VPN (Staging / Preprod)

Środowiska preprodukcyjne (staging) i deweloperskie bywają silnie zabezpieczone. Verdisight radzi sobie z tym na trzy sposoby:

  • Lokalny Agent: Kontener działa w Twojej sieci lokalnej, więc dla domen dostępnych tylko przez VPN lub wewnętrzny firewall Agent widzi je tak samo, jak Twoja przeglądarka — pod warunkiem, że jest w danym momencie uruchomiony i połączony z serwerem Verdisight (licencja aktywna, tunel relay nawiązany). Adresy czysto lokalne/prywatne (np. localhost, 192.168.x.x) są z zasady blokowane na poziomie serwera dla kont bez uprawnień administratora — jeśli potrzebujesz skanować taki adres, napisz do nas.
  • HTTP Basic Authentication: Jeśli witryna wymaga autoryzacji loginem i hasłem, podaj je w adresie: https://user:password@staging.twojadomena.pl — przeglądarka obsługuje to natywnie, nie wymaga żadnej dodatkowej konfiguracji po Twojej stronie.

Niestandardowe nagłówki HTTP / ciasteczka sesyjne (np. do obejścia Cloudflare Access) nie są jeszcze wspierane — jeśli Twoja witryna wymaga akurat tego mechanizmu autoryzacji, napisz do nas.

Model SaaS + Agent

System Verdisight składa się z dwóch niezależnych modułów:

  • Centralny SaaS (serwer Verdisight): Odpowiada za wykonywanie testów behawioralnych oraz zaawansowaną analizę dokumentów prawnych przez sztuczną inteligencję. Kody źródłowe reguł i prompty systemowe są zabezpieczone na serwerze centralnym i nie są dystrybuowane do instalacji lokalnych.
  • Lokalny Agent: Odpowiada za bezpośrednie renderowanie stron w przeglądarce (Twój adres IP odwiedza badaną stronę, nie serwer Verdisight) i trwały zapis historii audytów — wynik gotowego raportu ląduje wyłącznie w Twojej własnej bazie danych.

Certyfikacja zgodności (znaczek zaufania)

Certyfikat to publiczny znaczek zaufania, który możesz osadzić w stopce swojej strony — potwierdza, że Twoja witryna przeszła audyt zgodności Verdisight. Wystawiany jest automatycznie, na podstawie wieloskładnikowego audytu certyfikacyjnego uruchamianego z poziomu lokalnego Agenta (zakładka „Certyfikacja"), nie z centralnego dashboardu.

Jak przebiega audyt

  • Krok 1 — domena: wybierasz zweryfikowaną domenę (patrz Weryfikacja własności domeny wyżej).
  • Krok 2 — podstrony: Agent proponuje pogrupowane podstrony wykryte w sitemapie; wybierasz, które mają wejść w skład audytu (limit liczby podstron zależy od planu — patrz cennik).
  • Krok 3 — uruchomienie: każda wybrana podstrona jest skanowana osobno (ten sam silnik co zwykły skan), a wynik zbiorczy decyduje o certyfikacji.

Zakres audytu — co dokładnie jest sprawdzane

Audyt certyfikacyjny zawsze obejmuje pełną analizę dokumentów wspieraną przez AI (Polityka Prywatności i Regulamin) — opcja „Zablokuj analizy AI", dostępna dla zwykłych skanów w Skanerze/Runnerze, nie ma zastosowania do certyfikacji i nie da się jej dla niej włączyć. Certyfikat nigdy nie powstaje bez sprawdzenia obu dokumentów. Każda podstrona jest sprawdzana pod kątem:

  • Cookies i tracking — zgoda przed/po decyzji, trackery firm trzecich, Google Consent Mode v2.
  • Baner cookies i Dark Patterns — przycisk odrzucenia, stylizacja, sugerowana zgoda dorozumiana, kontrast i dostępność klawiaturowa (WCAG).
  • Polityka Prywatności — administrator danych, cele przetwarzania, podstawy prawne per cel, prawa użytkownika, transfery danych, profilowanie (Art. 22 RODO).
  • Regulamin — klauzule niedozwolone (UOKiK), procedura reklamacji i rękojmi, 14-dniowe prawo odstąpienia od umowy.
  • Formularze — domyślnie zaznaczone zgody marketingowe, połączona (niegranularna) zgoda.
  • Omnibus / Ceny i Opinie — historia najniższej ceny przy promocjach, deklarowana weryfikacja autentyczności opinii.
  • AI Act — informacja o rozmowie z botem/AI, jeśli na stronie wykryto chatbota.
  • Dostępność — teksty alternatywne obrazów i inne podstawowe kontrole WCAG.

Certyfikat potwierdza zgodność z własnymi, technicznymi standardami Verdisight na podstawie automatycznej analizy — nie jest opinią ani certyfikatem prawnym wydanym przez kancelarię i nie zastępuje profesjonalnej porady prawnej.

Próg wystawienia certyfikatu

Certyfikat Silver zostaje aktywowany, jeśli wynik zbiorczy wynosi co najmniej 95%, żadna sprawdzona podstrona nie ma naruszenia „wysokiego" ryzyka, a żadna pojedyncza kategoria zgodności (np. sama Polityka Prywatności) nie spadła poniżej 70% na żadnej podstronie — wysoki wynik zbiorczy nie maskuje pojedynczej poważnej luki.

Uwaga: jeśli po zakończeniu audytu nie klikniesz od razu „Eksportuj wynik do Verdisight", wynik nie przepada — wróć do sekcji „Historia audytów certyfikacyjnych" w Agencie i otwórz go ponownie, dopóki nie zostanie wyeksportowany (raz wyeksportowany, nie da się wysłać drugi raz).

Ciągła weryfikacja po wystawieniu

Sam audyt certyfikacyjny (pierwsze wystawienie) zawsze uruchamiasz z poziomu swojego lokalnego Agenta — to Twoja przeglądarka odwiedza stronę, zanim cokolwiek zostanie uznane za "certyfikowane". Po aktywacji certyfikat jest sprawdzany dalej, już bez Twojego udziału i bez potrzeby trzymania Agenta uruchomionego — te kontrolne skany wykonuje bezpośrednio infrastruktura serwerowa Verdisight, na dwa sposoby:

  • Nocny recheck (codziennie, ok. 3:00) — ponownie skanuje stronę główną domeny.
  • Losowe skany kontrolne (spot-checki) — niezapowiedziane, w ciągu całego dnia, obejmujące 1-2 losowo wybrane podstrony spośród tych z oryginalnego audytu. Uruchamiane są tylko jeśli zaznaczyłeś zgodę „niezależne, losowe skany kontrolne" przy eksporcie wyniku — to zabezpieczenie przed podmianą treści strony tuż po uzyskaniu certyfikatu.

Domena z aktywnym certyfikatem jest już publicznie oznaczona jako zweryfikowana — wystawienie certyfikatu jest jednocześnie zgodą na to, żeby Verdisight sam doglądał, czy nadal na niego zasługuje. To inna sytuacja niż zwykły, jednorazowy skan dowolnego adresu, który zawsze wymaga Twojej wyraźnej zgody per żądanie.

Jeśli sprawdzenie wykryje naruszenie „wysokiego" ryzyka, certyfikat dostaje 48-godzinny okres na naprawę zanim zostanie zawieszony (badge znika ze strony publicznej). Jeśli po zawieszeniu kolejne sprawdzenie nadal wykrywa naruszenie, certyfikat wielostronicowy zostaje trwale cofnięty — jedyny sposób odzyskania to nowy, przechodzący audyt certyfikacyjny.

Limity per plan

  • Starter: 2 audyty certyfikacyjne / miesiąc, do 15 podstron na audyt.
  • Professional: 5 audytów certyfikacyjnych / miesiąc, do 50 podstron na audyt.
  • Enterprise: limity ustalane indywidualnie.

W panelu centralnym (zakładka „Certyfikaty") możesz dodatkowo ukryć listę sprawdzonych podstron na publicznym certyfikacie (domyślnie jest widoczna).

Certyfikat Gold (dodatkowa, ręczna weryfikacja przez partnerskiego prawnika) jest zapowiedziany, ale obecnie niedostępny do samodzielnego zamówienia — wkrótce, jako kolejny krok po Certyfikacie Silver.

Część 2: Podstawowe Naprawy (Plan Starter)

Scoring i Interpretacja Wyników

Wynik końcowy Compliance Score (0-100%) odzwierciedla ogólny stan zgodności Twojej strony z przepisami. Wszystkie wykryte nieprawidłowości są kategoryzowane jako:

  • Prawidłowe (Zielone): Rozwiązania spełniające wymogi prawne i standardy rynkowe.
  • Ostrzeżenia (Bursztynowe): Zapisy lub ciasteczka, które zostały zarejestrowane w fazie declined (np. ciasteczka funkcjonalne pierwszej kategorii, które nie łamią wprost prawa, ale wymagają weryfikacji).
  • Nieprawidłowe / Naruszenia (Czerwone): Krytyczne uchybienia, takie jak zapisywanie marketingowych plików cookie stron trzecich (3rd-party) przed wyrażeniem zgody przez użytkownika.
Wskaźnik is_violation jest wyliczany automatycznie: ciasteczka i storage są uznawane za naruszenie, jeśli zostaną zapisane w fazie baseline lub declined, a zapytania sieciowe (network) dodatkowo wtedy, gdy kierowane są do domen zewnętrznych (3rd-party).

Dlaczego liczba w „Kluczowych ryzykach" różni się od liczby wierszy w tabeli?

Skaner sprawdza stronę w trzech fazach (przed zgodą, po odrzuceniu, po akceptacji), więc ten sam cookie/klucz/domena może pojawić się jako osobny wiersz w każdej fazie — np. jeden piksel Facebooka (_fbp) widoczny w tabeli 3 razy to wciąż tylko jeden realny problem, nie trzy. Dlatego liczba przy każdym znalezisku w sekcji „Kluczowe ryzyka" (np. „7 unikalnych ciasteczek") oraz procent w „Rozbiciu wyników" liczą unikalne tożsamości (nazwę cookie / klucz Web Storage / domenę firmy trzeciej), nie liczbę wierszy.

  • Element liczy się jako nieprawidłowość, jeśli wystąpił choć raz w fazie baseline lub declined i nie jest zwolniony jako techniczny/sesyjny (np. token CSRF) ani element samego banera zgód (np. zapis stanu „zgoda udzielona").
  • Ta sama, zdeduplikowana liczba napędza procent w „Rozbiciu wyników" — np. przy 9 unikalnych cookies i 7 nieprawidłowych wynik odzwierciedla 2/9 zgodnych, a nie liczbę wierszy w tabeli.
  • Tabela per-wiersz celowo nadal pokazuje wpis per faza — to realna, dodatkowa informacja: czy dany element utrzymał się nawet PO odrzuceniu zgody (gorszy sygnał niż samo wystąpienie przed zgodą), więc warto ją przejrzeć osobno, nie tylko patrzeć na sam procent.

Dostępność Cyfrowa (WCAG 2.1)

Wszystkie obrazy zamieszczone na stronie muszą posiadać prawidłowy atrybut alt (tekst alternatywny). Brak tego atrybutu uniemożliwia osobom niedowidzącym korzystającym z czytników ekranu (screen-readers) zrozumienie zawartości strony.

Jak to naprawić?

Dodaj opisowy atrybut alt do każdego tagu obrazka w kodzie HTML:

<img src="hero.jpg" alt="Konrad Stasiak - Senior Solutions Architect w biurze" />

Unikaj pustych opisów, chyba że obrazek ma charakter wyłącznie dekoracyjny (wtedy pozostaw puste alt="").

Formularze i Zgody (Consent Box)

Skaner automatycznie analizuje formularze kontaktowe oraz zapisy na newsletter na Twojej stronie pod kątem dwóch krytycznych wymogów RODO:

  • Zakaz pre-ticked checkboxes: Pola wyboru (checkboxy) dotyczące zgód marketingowych i handlowych nie mogą być domyślnie zaznaczone w momencie załadowania strony. Użytkownik musi zaznaczyć je w pełni świadomie i samodzielnie.
  • Zakaz bundle consent (zgody łączone): Niedozwolone jest łączenie kilku różnych celów w jednej zgodzie (np. "Akceptuję regulamin i zgadzam się na przesyłanie ofert marketingowych"). Zgoda na regulamin (niezbędna do świadczenia usługi) i zgoda marketingowa (dobrowolna) muszą być wyrażone jako osobne, niezależne pola wyboru.

Dyrektywy Omnibus i DSA

Dla sklepów internetowych oraz serwisów prezentujących oferty handlowe skaner bada przestrzeganie dyrektyw konsumenckich:

  • Najniższa cena z 30 dni (Omnibus): Przy prezentowaniu ceny promocyjnej towaru musisz w czytelny sposób podać informację o najniższej cenie tego produktu, jaka obowiązywała w okresie 30 dni przed wprowadzeniem obniżki.
  • Weryfikacja opinii konsumenckich: Jeśli na stronie publikowane są opinie klientów, musisz jasno poinformować użytkowników, czy opinie te są weryfikowane pod kątem autentyczności (np. czy mogą je dodawać tylko klienci, którzy faktycznie kupili produkt) oraz opisać tę procedurę w łatwo dostępnym miejscu.

Zalecenia Ogólne i Dark Patterns

Dark Patterns (zwodnicze interfejsy) to manipulacyjne techniki projektowania UI mające na celu wymuszenie na użytkowniku zgody. Najczęstsze błędy wykrywane przez skaner to:

  • Brak widocznego przycisku "Odrzuć" na pierwszym poziomie banera cookies (np. chowanie go głęboko w ustawieniach).
  • Nierówna stylistyka przycisków: przycisk "Akceptuj" jest duży, jaskrawy i kontrastowy, a przycisk "Odrzuć" ma małą czcionkę, zlewa się z tłem lub jest szary. Obydwa wybory muszą mieć równoważną formę wizualną.

Częste pytania i odpowiedzi (Q&A)

Q1: Czy Wasz skaner sam w sobie nie narusza RODO, przesyłając treść polityki prywatności do zewnętrznych modeli sztucznej inteligencji (AI)?

Odp: Nie. Przed wysłaniem jakichkolwiek danych do analizy językowej, tekst polityki jest przetwarzany przez nasz autorski moduł PII Sanitizer. Bezpowrotnie usuwa on dane osobowe (nazwiska ADO, adresy e-mail, telefony, NIP/REGON), przesyłając do modeli AI wyłącznie zanonimizowaną strukturę prawną. Dodatkowo, umowy z dostawcami API wyłączają wykorzystanie przesyłanych danych do trenowania modeli.

Q2: Czy wysoki wynik punktowy daje 100% gwarancji braku kar od Prezesa UODO?

Odp: Skaner jest zaawansowanym narzędziem wspierania decyzji techniczno-prawnych (Decision Support System), a nie radcą prawnym. Eliminuje on do 95% najczęstszych uchybień technicznych (np. odpalanie pikseli Meta/Google przed zgodą) i braków formalnych. Działa jak automatyczny "pre-audit", drastycznie skracając czas i koszty pracy audytorów i kancelarii prawnej.

Q3: Dlaczego RODO i EU AI Act są sprawdzane przez AI, a nie za pomocą sztywnych reguł kodu?

Odp: Dokumenty prawne i chatboty posługują się językiem naturalnym. Sztywne reguły kodu (np. wyrażenia regularne) nie zrozumiałyby intencji prawnej, kontekstu ani synonimów. Modele AI umożliwiają rzeczywiste, semantyczne badanie tekstu polityki prywatności pod kątem obecności wszystkich wymaganych klauzul informacyjnych z Art. 13 RODO.

Q4: Dlaczego mielibyśmy płacić za Wasz skaner, skoro mamy darmowe raporty typu Lighthouse lub wbudowane raporty Cookiebot?

Odp: Lighthouse bada wyłącznie wydajność techniczną i podstawy dostępności WCAG. Narzędzia dostawców CMP pokazują jedynie tabelę ciasteczek. Żadne z tych narzędzi nie symuluje rzeczywistej sesji użytkownika (test odmowy), nie audytuje dark patterns, nie analizuje dokumentów i nie bada chatbotów pod kątem EU AI Act oraz regulaminów pod kątem UOKiK.

Q5: Jak skaner radzi sobie ze stronami schowanymi za VPN, Basic Auth lub w sieci lokalnej?

Odp: Dzięki architekturze hybrydowej klient może wdrożyć lekkiego Lokalnego Agenta (Docker) bezpośrednio wewnątrz swojej sieci firmowej lub VPN — pod warunkiem, że Agent jest w danym momencie uruchomiony i połączony z serwerem Verdisight. Wtedy skan faktycznie wykonuje przeglądarka Agenta, w Twojej sieci, bez otwierania portów na świat — do serwera Verdisight wraca tylko wynik. Dodatkowo wspieramy logowanie HTTP Basic Auth przez dane w adresie URL. Niestandardowe nagłówki HTTP (np. do obejścia Cloudflare Access) nie są jeszcze wspierane.

Q6: Co to jest klauzula abuzywna i dlaczego Verdisight ją sprawdza?

Odp: Klauzula abuzywna (niedozwolona) to postanowienie regulaminu, które UOKiK uznaje za naruszające prawa konsumenta — np. wyłączenie odpowiedzialności sprzedawcy za wady towaru, narzucanie sądu w innym mieście niż zamieszkanie konsumenta, czy ograniczenie prawa do zwrotu. Ich stosowanie grozi karą do 10% rocznego obrotu przedsiębiorstwa. Verdisight jako jedyny automatyczny skaner analizuje treść regulaminu przez AI, eliminując potrzebę angażowania prawnika do wstępnego przeglądu dokumentu.

Q7: Co weryfikuje audyt Omnibus i kogo dotyczy?

Odp: Dyrektywa Omnibus (wdrożona w Polsce ustawą z 2023 r.) dotyczy każdego sklepu internetowego. Verdisight automatycznie weryfikuje dwa kluczowe wymogi: (1) przy każdej promocji musi być widoczna najniższa cena towaru z ostatnich 30 dni, (2) jeżeli strona prezentuje opinie klientów, musi jasno informować, czy i w jaki sposób weryfikuje ich autentyczność. Niezgodność grozi karami UOKiK i organów konsumenckich innych państw UE.

Q8: Na czym polega błąd „bundle consent" i dlaczego jest niezgodny z RODO?

Odp: „Bundle consent" (zgoda łączona) to umieszczenie pod jednym checkboxem kilku różnych zgód — np. jednoczesnej akceptacji regulaminu i zgody na newsletter. RODO (Art. 7 ust. 2) wymaga, aby zgoda była dobrowolna, konkretna, świadoma i jednoznaczna. Każda zgoda musi mieć oddzielne pole — użytkownik musi móc zaakceptować regulamin bez jednoczesnego zapisu na marketing. Verdisight jako jedyny skaner automatycznie wykrywa pre-ticked boxes i bundle consent na żywych formularzach strony.

Część 3: Zaawansowane (Plan Pro+)

🔒 Dostępne w planie Professional / Enterprise

Ta część zawiera szczegółowe instrukcje wdrożenia: konfigurację Consent Mode w Google Tag Managerze, instrukcje naprawy per konkretny wykryty tracker, pełną interpretację wymogów Art. 13 RODO w polityce prywatności, klauzul UOKiK w regulaminie, EU AI Act dla chatbotów oraz Server-Side Trackingu.

Zaloguj się na konto z aktywnym planem Professional lub Enterprise, aby zobaczyć tę sekcję — albo zobacz plany i cennik.