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

Wprowadzenie

Verdiktum 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, Verdiktum 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.

Verdiktum 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 ~/.verdiktum
docker compose pull
docker compose up -d

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

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: VerdiktumComplianceScanner
Allow: /

Skaner przedstawia się nagłówkiem: VerdiktumComplianceScanner/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:

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

Skanowanie za zaporami i VPN (Staging / Preprod)

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

  • Lokalny Agent: Ponieważ kontener działa w Twojej sieci lokalnej, ma naturalny dostęp do adresów takich jak http://localhost:3000 lub wewnętrznych sieci VPN bez wystawiania ich na świat.
  • HTTP Basic Authentication: Jeśli witryna wymaga autoryzacji loginem i hasłem, podaj je w adresie: https://user:password@staging.twojadomena.pl.
  • Nagłówki bypassu (np. Cloudflare Access): W opcjach zaawansowanych możesz wstrzyknąć specyficzne nagłówki HTTP lub ciasteczka sesyjne omijające systemy autoryzacji.

Model SaaS + Agent

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

  • Centralny SaaS (Chmura): 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 w chmurze i nie są dystrybuowane do instalacji lokalnych.
  • Lokalny Agent: Odpowiada za bezpośrednie renderowanie stron w przeglądarce i zapis historii audytów. Dzięki temu dane o potencjalnych uchybieniach Twoich stron nie opuszczają Twojej infrastruktury bez Twojej zgody.
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. Skaner działa lokalnie bez otwierania portów na świat, a do chmury wysyła tylko zanonimizowane wyniki. Dodatkowo, wspieramy logowanie Basic Auth oraz niestandardowe nagłówki (Custom Headers) omijające bramki autoryzacyjne.

Q6: Co to jest klauzula abuzywna i dlaczego Verdiktum 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. Verdiktum 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. Verdiktum 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. Verdiktum 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.