zgoda na cookies dla v0

Zgoda na cookies dla v0,
przed pierwszym renderem

v0 daje Ci aplikację Next.js. Tag trafia do app/layout.tsx ze strategy="beforeInteractive", więc wartości domyślne zgody istnieją przed hydratacją i przed jakimkolwiek menedżerem tagów dodanym przez v0.

Cała zmiana: runtime na początku, a każdy tracker zamieniony w skrypt czekający na swoją kategorię.

zasada

Czego v0 nie dostarcza

Projekt v0 z włączoną analityką uruchamia ją przy hydratacji. Bez warstwy zgody każdy odwiedzający z UE jest śledzony, zanim strona stanie się interaktywna.

Zasada jest taka sama w całej UE i w Wielkiej Brytanii: bez zgody nie wolno zapisywać na urządzeniu odwiedzającego ani odczytywać z niego niczego poza tym, co ściśle niezbędne. To artykuł 5 ust. 3 dyrektywy ePrivacy, a zgoda musi spełniać definicję z RODO: dobrowolna, konkretna, świadoma i jednoznaczna, z odmową równie łatwą jak akceptacja. Wielka Brytania utrzymuje tę samą zasadę w PECR, z wąskimi wyjątkami dla statystyk niskiego ryzyka od 5 lutego 2026 r. Kalifornia i inne prawa stanowe USA działają odwrotnie: bez opt-in, ale z linkiem opt-out i obsługą sygnału Global Privacy Control.

Dla strony wynikają z tego trzy rzeczy. Skrypty analityczne, reklamowe i społecznościowe muszą poczekać na decyzję. Decyzję trzeba zapisać tak, aby dało się ją później pokazać, bo artykuł 7 ust. 1 przerzuca ciężar dowodu na Ciebie. A wycofanie zgody musi być równie łatwe jak jej udzielenie, co oznacza element na każdej stronie, który ponownie otwiera baner. Baner, który pokazuje dwa przyciski i mimo to ładuje Google Analytics, oblewa pierwszy test, i właśnie za to organy nadzoru nakładają kary, od decyzji CNIL wobec Google i SHEIN po kontrole organów holenderskiego i belgijskiego.

jak to działa

Jak działa zgoda w aplikacji v0

v0 generuje Next.js z App Routerem, shadcn/ui i Tailwind i wdraża na Vercel. To czyni go najłatwiejszym z builderów do prawidłowego ustawienia, bo Next.js ma jedną poprawną odpowiedź na runtime zgody: tag next/script ze strategy="beforeInteractive" w app/layout.tsx. Wstrzyknięty do początkowego HTML, uruchamia się przed hydratacją i przed jakimkolwiek menedżerem tagów dodanym przez v0 z domyślną strategią.

Skrypty, które v0 zwykle dodaje, Vercel Analytics, Speed Insights i jakikolwiek GA4 czy piksel, o który prosiłeś, to wszystko statystyki lub marketing i wszystkie muszą czekać. Prompt na tej stronie umieszcza runtime i taguje każdy z nich. Dla komponentów ładujących tracker przy montowaniu ConsentGate z @cookiecrumbs/next robi to samo w drzewie.

Na Vercelu deploye podglądowe dostają klucz preview, a produkcja klucz produkcyjny, więc iteracja v0 nigdy nie dotyka zgód prawdziwych odwiedzających. Skan działa na domenie produkcyjnej, a test instalacji potwierdza, że tag jest pierwszy; oba są w darmowym planie.

konfiguracja

Konfiguracja z v0

Dziesięć minut, jeden prompt, bez npm.

  1. Utwórz stronę, pobierz klucz

    Zarejestruj się, dodaj domenę, na której opublikowana jest aplikacja, i skopiuj klucz produkcyjny z sekcji Instalacja. Darmowy plan obejmuje dwie domeny.

  2. Wklej ten prompt do v0

    Stawia tag na początku i zamienia każdy tracker w skrypt wymagający zgody. Przeczytaj diff, który tworzy; nic innego nie powinno się zmienić.

    Add this to app/layout.tsx, before any other script:
    import Script from 'next/script';
    <Script src="https://app.cookiecrumbs.eu/runtime/cc.js"
      strategy="beforeInteractive"
      data-cc-site="pk_live_…" data-cc-env="production" />
    Then change every analytics, advertising and social script to type="text/plain" with data-cc-category="analytics" or "marketing". Do not change anything else.
  3. Opublikuj, potem skanuj

    Opublikuj aplikację. W panelu uruchom pierwszy skan: ładuje działającą aplikację w prawdziwej przeglądarce i wypisuje, co nadal odpala przed zgodą, jeśli cokolwiek.

  4. Przypisz raz, ustaw linki prawne, opublikuj baner

    Przypisz każdego dostawcę do kategorii, ustaw linki do impressum i polityki prywatności, opublikuj. Baner działa, a dziennik zgód rejestruje.

  5. Uruchom test instalacji

    Ładuje Twoją stronę jak odwiedzający i potwierdza, że baner uruchomił się przed jakimkolwiek trackerem. Ten ptaszek to dowód.

uwaga

Błędy, które widzimy z v0

Każdy z nich pojawia się w pierwszym skanie jako tracker uruchomiony przed zgodą.

  • afterInteractive dla runtimeDomyślna strategia działa po hydratacji. Tylko beforeInteractive jest wystarczająco wczesne.
  • Vercel Analytics liczony jako niezbędnyTo statystyki. Zablokuj go jak GA4.
  • Baner z promptu UI v0Piękny i nic nie blokuje. To runtime musi blokować skrypty.
  • Zmienne środowiskowe dla klucza stronyW porządku, o ile sam tag zostaje w app/layout.tsx i na początku.
  • Pomijanie skanu, bo „to tylko landing page”Landing page’e niosą najwięcej pikseli ze wszystkich typów stron. Uruchom go.

przed publikacją

Lista kontrolna zgodności

Osiem punktów. Dwa ostatnie panel odhacza na podstawie prawdziwych danych.

  • Tag jest pierwszym skryptem w headWszystko powyżej może ustawić cookie, którego runtime nie cofnie.
  • Każdy skrypt analityczny, reklamowy i społecznościowy czeka na swoją kategorięAlbo type="text/plain" z kategorią, albo host jest w mapie blokowania ze skanu.
  • „Odrzuć wszystko” jest na pierwszej warstwieTen sam rozmiar i ta sama waga co „Akceptuj wszystko”. Żadnego „X” liczonego jako zgoda, żadnych zaznaczonych z góry pól.
  • Domyślne wartości Consent Mode są „denied”, zanim załaduje się GoogleSprawdź siedem sygnałów w Tag Assistant przy odmowie zgody.
  • Linki do impressum i polityki prywatności są ustawionePublikacja jest odrzucana, dopóki nie ma obu; stopka banera do nich prowadzi.
  • Na każdej stronie dostępny jest element do wycofania zgodyStały element lub link „Zarządzaj cookies” w stopce.
  • Pierwszy pełny skan został wykonany i każdy dostawca jest przypisanyWerdykt na stronie głównej mówi, z datą, co uruchomiło się przed zgodą.
  • Test instalacji zaliczonyŁaduje Twoją stronę jak odwiedzający i potwierdza, że baner uruchomił się przed jakimkolwiek trackerem.

co dostajesz

Co zawiera darmowy plan

Dwie domeny, 100 skanowanych podstron miesięcznie na domenę, wszystkie regulacje, CLI, SDK i serwer MCP.

Skaner, który czyta wyrenderowaną stronę

Każda strona, w każdym stanie zgody, w prawdziwej przeglądarce. Cookies, piksele, iframe’y i klucze storage, wraz ze stroną i skryptem, które je ustawiły. Skanowane ponownie według harmonogramu.

Deklaracja cookies pisze się sama na podstawie wyniku.

Baner, który najpierw blokuje

Tagi pozostają nieaktywne, dopóki ich kategoria nie zostanie przyznana. „Odrzuć wszystko” jest tak samo widoczne jak „Akceptuj wszystko”. Siedem układów, 25 języków, Consent Mode v2 i właściwa zasada dla każdego regionu.

21 kB, jeden plik, żadnych własnych żądań do firm trzecich.

Dowód, który możesz przekazać

Każdy wybór jest zapisywany ze znacznikiem czasu, wersją banera i skrótem pokazanych tekstów, powiązany łańcuchowo z poprzednim rekordem. Eksporty są podpisane. Hostowane we Frankfurcie.

Artykuł 7 ust. 1, w darmowym planie.

darmowy test

Zobacz, co Twoja aplikacja v0 ładuje w tej chwili

HTML strony głównej porównany z bazą trackerów. Bez konta, nic nie jest zapisywane. Pełny skan w panelu robi to samo dla każdej strony, w prawdziwej przeglądarce.

pytania

Proste odpowiedzi

Czy v0 domyślnie dodaje baner cookies RODO?
Nie. v0 generuje interfejs i analitykę, o które prosisz, i nic, co najpierw zapytałoby odwiedzającego.
Gdzie trafia tag w projekcie v0?
W app/layout.tsx jako tag next/script ze strategy="beforeInteractive", przed każdym innym skryptem. Prompt na tej stronie to robi.
Czy baner cookies jest wymagany dla małej aplikacji?
Jeśli aplikacja obsługuje odwiedzających z UE lub Wielkiej Brytanii i ustawia jakiekolwiek nieniezbędne cookie, łącznie z analityką, to tak. Obowiązek spoczywa na operatorze strony, nie na narzędziu, które ją wygenerowało. Projekt hobbystyczny bez analityki i osadzeń nie potrzebuje niczego.
Czy baner spowolni aplikację?
Runtime to 21 kB (gzip), jeden plik, ładowany asynchronicznie, bez własnych żądań do firm trzecich. Układy pasek i wstążka rezerwują miejsce przed renderowaniem, więc bez przesunięć układu.
Czy mogę potem dalej używać buildera?
Tak. Tag i zablokowane skrypty to zwykły HTML, który v0 zachowuje między edycjami. Uruchom skan ponownie po dużych zmianach; panel ostrzega, gdy pojawi się nowy tracker.
Gdzie trafiają dane o zgodach?
Do Frankfurtu w Niemczech. Rekordy nigdy nie opuszczają UE, obok rekordu nie jest przechowywany adres IP ani user agent, a każdy rekord eksportuje się jako podpisany CSV lub JSON, także po rezygnacji.

następny krok

Zgodność, zanim udostępnisz link

Darmowy plan, dwie domeny, bez karty. Najpierw przeskanuj działającą aplikację, jeśli chcesz zobaczyć, co dziś ładuje.