eduardweb.
Securitate & AuthIntermediar#snippet#security#business#romania#ghid

Cookie banner GDPR România — implementare legală + cod gata făcut

De Eduard Negru, 21 apr. 2026 · 60 vizualizări · 3 like-uri

Postat acum 1 zi
tsx
"use client";
import { useEffect, useState } from "react";

type Consent = {
  necessary: true;
  analytics: boolean;
  marketing: boolean;
  timestamp: number;
};

export function CookieBanner() {
  const [consent, setConsent] = useState<Consent | null>(null);
  const [visible, setVisible] = useState(false);

  useEffect(() => {
    const stored = localStorage.getItem("cookie_consent");
    if (!stored) setVisible(true);
    else setConsent(JSON.parse(stored));
  }, []);

  const save = (c: Omit<Consent, "necessary" | "timestamp">) => {
    const full: Consent = { ...c, necessary: true, timestamp: Date.now() };
    localStorage.setItem("cookie_consent", JSON.stringify(full));
    setConsent(full);
    setVisible(false);
    // Aici încărci GA4/Meta/etc DOAR dacă c.analytics === true
  };

  if (!visible) return null;

  return (
    <div className="fixed inset-x-0 bottom-0 z-50 bg-zinc-900 p-4 text-sm text-white">
      <p>Folosim cookie-uri pentru analytics și marketing. Citește
        <a href="/politica-confidentialitate"> politica noastră</a>.
      </p>
      <div className="mt-3 flex gap-2">
        <button onClick={() => save({ analytics: false, marketing: false })}>
          Doar esențiale
        </button>
        <button onClick={() => save({ analytics: true, marketing: true })}>
          Accept tot
        </button>
      </div>
    </div>
  );
}

Ce trebuie să aibă un cookie banner în 2026

ANSPDCP (autoritatea română) și Board-ul European EDPB au emis ghiduri clare. Un banner e legal DOAR dacă respectă toate condițiile:

1. Consimțământ DINAINTE de setarea cookie-urilor non-esențiale

Nu setezi GA4, Meta Pixel, Hotjar etc. până nu apeși "Accept". Asta înseamnă:

  • Fără "Accept All" presat automat
  • Fără "continuând navigarea sunteți de acord" (ilegal din 2019)
  • Cookie-ul de preferință se pune doar după alegere

2. Refuzul la fel de ușor ca acceptul

Trebuie să ai două butoane la același nivel vizual:

  • "Accept" + "Refuz" (sau "Doar esențiale")
  • NU: "Accept" mare verde + "Setări" mic alb

Banner-urile gen "Accept all" prominent + "Manage" ascuns = amendă garantată.

3. Consimțământ granular

Utilizatorul trebuie să poată accepta selectiv:

  • Necesare (non-optional, pre-bifat OK)
  • Analitice (GA4, Plausible)
  • Marketing (Meta Pixel, TikTok, Google Ads)
  • Personalizare (A/B testing, remarketing)

4. Posibilitate de retragere

Link "Modifică preferințe cookie" în footer — permanent. Retragerea trebuie să fie la fel de simplă ca acordul inițial.

5. Dovada consimțământului

Salvezi în DB / localStorage:

  • Timestamp
  • Versiunea politicii acceptate
  • IP hash-uit (opțional — unele interpretări GDPR spun că nu e necesar)
  • Categoriile acceptate

Cod gata făcut (React / Next.js)

Vezi snippet-ul de mai sus. E structura minimă — pentru producție adaugi:

  • Versionare consent — când actualizezi politica, reset forțat
  • Audit log — DB cu toate consent-urile
  • Google Consent Mode v2 — obligatoriu din 2024 dacă rulezi Google Ads în SEE

Google Consent Mode v2 — obligatoriu

Dacă folosești Google Ads / Analytics în EEA, trebuie să implementezi Consent Mode v2. Altfel advertising-ul e restricționat.

gtag('consent', 'default', {
  'ad_storage': 'denied',
  'analytics_storage': 'denied',
  'ad_user_data': 'denied',
  'ad_personalization': 'denied',
});

// După accept
gtag('consent', 'update', {
  'ad_storage': 'granted',
  'analytics_storage': 'granted',
});

Ce NU e legal (greșeli comune)

  • Banner doar cu buton "OK" / "Am înțeles" (nu e alegere)
  • Pre-bifat "Accept all" in setări avansate
  • "Continuând navigarea..." = consent implicit (nul)
  • Blocarea site-ului fără accept (cookie wall) — permisă doar rareori și cu alternativă contra-cost

Amenzi reale în România

ANSPDCP a dat amenzi de 10 000–100 000 € în 2024–2025 pentru banner-uri incorect implementate. Nu e ipoteză.

Vrei audit GDPR + fix?

Fac audit GDPR + implementare consent mode corect la ~250 €. Scrie aici.

Răspunsuri 0

Se încarcă răspunsurile…

Loghează-te pentru a răspunde

Doar membrii comunității pot lăsa comentarii.