Typy cookies: Kompletný technický sprievodca
Nie všetky cookies sú rovnaké. Typ cookie určuje, ako dlho pretrváva, kto ho môže čítať, ako bezpečne sa prenáša a — čo je zásadné — či vyžaduje súhlas používateľa. Pochopenie týchto rozdielov je nevyhnutné pre súlad s predpismi aj pre samotnú implementáciu.
Relačné cookies vs. trvalé cookies
Najzákladnejším rozdielom je to, ako dlho cookie pretrváva.
Relačné cookies
Relačný cookie existuje len počas trvania relácie prehliadača. Nemá atribút Expires ani Max-Age. Keď používateľ zatvorí prehliadač, cookie sa odstráni.
Set-Cookie: cart_id=xyz789; Path=/; Secure; HttpOnly
Relačné cookies sa zvyčajne používajú na:
- Udržanie stavu prihlásenia počas návštevy
- Obsah nákupného košíka
- Tokeny na ochranu proti CSRF
- Údaje viackrokových formulárov
Keďže relačné cookies nepretrvávajú, sú z hľadiska ochrany súkromia vo všeobecnosti menej rušivé. Napriek tomu vyžadujú súhlas, ak nie sú bezpodmienečne nevyhnutné pre službu, o ktorú používateľ požiadal.
Trvalé cookies
Trvalý cookie má výslovne stanovený dátum expirácie. Prežije reštart prehliadača a zostáva v zariadení používateľa, kým nevyprší alebo kým ho používateľ manuálne neodstráni.
Set-Cookie: preferences_lang=en; Path=/; Max-Age=31536000; Secure
Tento cookie pretrvá jeden rok (31 536 000 sekúnd). Bežné použitia zahŕňajú:
- Funkciu „zapamätať si ma“ pri prihlasovaní
- Predvoľby jazyka a vzhľadu
- Analytické identifikátory (cookies Google Analytics pretrvávajú až 2 roky)
- Reklamné sledovanie (niektoré reklamné cookies pretrvávajú 13 mesiacov aj dlhšie)
Trvalé cookies podliehajú prísnejšej kontrole podľa predpisov o ochrane súkromia. CNIL (francúzsky úrad na ochranu údajov) odporučil maximálnu životnosť cookies 13 mesiacov, pričom súhlas sa musí obnovovať tiež minimálne každých 13 mesiacov.
Cookies prvej strany vs. cookies tretej strany
Tento rozdiel je kľúčový v diskusii o ochrane súkromia a priamo ovplyvňuje požiadavky na súhlas.
Cookies prvej strany
Cookie prvej strany nastavuje doména, ktorú používateľ skutočne navštevuje. Ak navštívite example.com, akýkoľvek cookie nastavený doménou example.com je cookie prvej strany.
Cookies prvej strany sa používajú pre základné funkcie webovej stránky: relácie, predvoľby, analytiku, ktorú prevádzkuje sám prevádzkovateľ stránky. Môže ich čítať len doména, ktorá ich nastavila.
Príklad: Navštívite shop.example.com. Server nastaví cookie s názvom session_id. Tento cookie sa odosiela len na shop.example.com a jej subdomény. Žiadna iná webová stránka k nemu nemá prístup.
Cookies tretej strany
Cookie tretej strany nastavuje iná doména, než ktorú používateľ navštevuje. Keď example.com načíta reklamný skript z ads.tracker.com a tento skript nastaví cookie pod doménou tracker.com, ide o cookie tretej strany.
Takto funguje sledovanie naprieč stránkami. Cookie tracker.com sa odosiela s každou požiadavkou na tracker.com bez ohľadu na to, ktorá webová stránka požiadavku spustila. Ak sú skripty tracker.com vložené na 10 000 webových stránkach, môžu sledovať toho istého používateľa na všetkých 10 000 stránkach.
Cookies tretej strany sú hlavným cieľom regulačného presadzovania aj obmedzení na úrovni prehliadačov:
- Safari štandardne blokuje cookies tretích strán od roku 2020 (ITP)
- Firefox štandardne blokuje známe sledovacie prvky tretích strán (ETP)
- Chrome sa v rámci iniciatívy Privacy Sandbox postupne odkláňa od cookies tretích strán
- Regulačné opatrenia sa v drvivej väčšine zameriavajú na sledovacie cookies tretích strán
Zabezpečené cookies (Secure)
Cookie s atribútom Secure sa odosiela len cez HTTPS pripojenia. Nikdy sa neprenáša cez nešifrované HTTP.
Set-Cookie: auth_token=secret123; Secure
Tým sa zabráni tomu, aby útočník typu man-in-the-middle zachytil cookie na nezabezpečenom pripojení. Akýkoľvek cookie, ktorý obsahuje citlivé informácie — identifikátory relácie, autentifikačné tokeny, osobné údaje — by mal byť vždy označený ako Secure.
Z hľadiska súladu by nepoužitie príznaku Secure pri citlivých cookies mohlo byť považované za zlyhanie pri implementácii primeraných technických opatrení podľa článku 32 GDPR (bezpečnosť spracúvania).
HttpOnly cookies
K cookie s atribútom HttpOnly nemá JavaScript prístup prostredníctvom document.cookie. Odosiela sa len s HTTP požiadavkami na server.
Set-Cookie: session_id=abc123; HttpOnly
Ide o kľúčové bezpečnostné opatrenie. Útoky typu cross-site scripting (XSS) sa často pokúšajú ukradnúť cookies vložením JavaScriptu, ktorý číta document.cookie. Príznak HttpOnly tento vektor úplne eliminuje.
Relačné cookies a autentifikačné cookies by takmer vždy mali byť HttpOnly. Cookies, ktoré musí čítať JavaScript na strane klienta (napríklad cookies predvolieb ovplyvňujúce používateľské rozhranie), nemôžu byť HttpOnly.
SameSite cookies
Atribút SameSite riadi, či sa cookie odosiela s požiadavkami naprieč stránkami. Bol zavedený na zmiernenie útokov typu cross-site request forgery (CSRF) a na poskytnutie väčšej kontroly stránkam nad správaním cookies naprieč stránkami.
SameSite=Strict
Cookie sa odosiela len s požiadavkami pochádzajúcimi z tej istej stránky. Ak používateľ klikne na odkaz na other.com, ktorý vedie na your-site.com, cookie sa s touto počiatočnou požiadavkou neodošle.
Toto je najbezpečnejšie nastavenie, no môže narušiť legitímnu funkcionalitu. Napríklad ak používateľ klikne na odkaz na vašu stránku z e-mailu, jeho relačný cookie sa neodošle a bude sa javiť ako odhlásený.
SameSite=Lax
Cookie sa odosiela pri navigáciách najvyššej úrovne (kliknutie na odkaz), ale nie pri podriadených požiadavkách naprieč stránkami (načítavanie obrázkov, rámcov alebo pri AJAX požiadavkách z inej stránky). Toto je v moderných prehliadačoch predvolené nastavenie, ak nie je uvedený žiadny atribút SameSite.
Lax poskytuje rozumnú rovnováhu medzi bezpečnosťou a použiteľnosťou. Zabraňuje tomu, aby stránky tretích strán spúšťali autentifikované akcie na vašej stránke, no zároveň umožňuje bežnú navigáciu cez odkazy.
SameSite=None
Cookie sa odosiela so všetkými požiadavkami vrátane požiadaviek naprieč stránkami. Toto je nevyhnutné, aby cookies tretích strán fungovali. Cookie nastavený s SameSite=None musí mať aj atribút Secure.
Set-Cookie: tracking_id=xyz; SameSite=None; Secure
Akýkoľvek cookie, ktorý musí fungovať v kontexte naprieč stránkami (vložené widgety, autentifikácia tretích strán, sledovanie naprieč stránkami), musí používať SameSite=None. Toto je čoraz relevantnejšie, keďže prehliadače sprísňujú svoje predvolené zásady pre cookies.
Zombie cookies a supercookies
Stojí za to ich spomenúť, pretože predstavujú pokusy obísť kontroly ochrany súkromia:
- Zombie cookies sú cookies, ktoré sa po odstránení samy obnovujú. Zvyčajne fungujú tak, že ukladajú ten istý identifikátor vo viacerých úložných mechanizmoch (cookies, localStorage, IndexedDB, Flash LSO) a používajú ten, ktorý prežije, na regeneráciu ostatných. Táto prax je všeobecne považovaná za klamlivú a bola predmetom vynucovacích opatrení.
- Supercookies sú sledovacie mechanizmy, ktoré pôsobia na úrovni pod bežnými cookies — napríklad vkladanie hlavičiek na úrovni poskytovateľa internetu (Verizon UIDH) alebo odtlačkovanie založené na HSTS. Pre používateľov je mimoriadne ťažké ich kontrolovať alebo odstrániť.
Zombie cookies aj supercookies sú jednoznačne nezlučiteľné s požiadavkami GDPR a ePrivacy. Ich používanie by predstavovalo porušenie zásad transparentnosti, zákonnosti a minimalizácie údajov.
Porovnávacia tabuľka
| Typ | Životnosť | Rozsah | Zvyčajne vyžaduje súhlas? | Kľúčové použitia |
|---|---|---|---|---|
| Relačný | Len počas relácie prehliadača | Prvá strana | Len ak nie je nevyhnutný | Stav prihlásenia, košík, CSRF tokeny |
| Trvalý (prvá strana) | Dni až roky | Prvá strana | Zvyčajne áno | Predvoľby, analytika, „zapamätať si ma“ |
| Trvalý (tretia strana) | Dni až roky | Naprieč stránkami | Takmer vždy áno | Reklama, retargeting, sociálne widgety |
| Secure | Rôzne | Len HTTPS | Závisí od účelu | Akýkoľvek citlivý cookie |
| HttpOnly | Rôzne | Len na strane servera | Závisí od účelu | Identifikátory relácie, autentifikačné tokeny |
| SameSite=Strict | Rôzne | Len tá istá stránka | Závisí od účelu | Operácie citlivé na CSRF |
| SameSite=Lax | Rôzne | Tá istá stránka + navigácia najvyššej úrovne | Závisí od účelu | Všeobecná správa relácií |
| SameSite=None | Rôzne | Všetky kontexty (vyžaduje Secure) | Takmer vždy áno | Vložené prvky tretích strán, autentifikácia naprieč stránkami |
Čo to znamená pre súlad s predpismi
Typ cookie priamo ovplyvňuje vaše povinnosti v oblasti súladu:
- Relačné cookies prvej strany, ktoré sú bezpodmienečne nevyhnutné (prihlasovacie relácie, nákupné košíky, CSRF tokeny), sú oslobodené od požiadaviek na súhlas podľa článku 5 ods. 3 ePrivacy.
- Trvalé cookies prvej strany pre analytiku, predvoľby alebo funkcionalitu vo všeobecnosti vyžadujú súhlas — hoci niektoré úrady na ochranu údajov povoľujú obmedzené výnimky pre analytiku prvej strany za špecifických podmienok.
- Cookies tretích strán akéhokoľvek druhu takmer vždy vyžadujú výslovný predchádzajúci súhlas. Legitímnych výnimiek je veľmi málo.
- Bezpečnostné atribúty (Secure, HttpOnly, SameSite) nemenia požiadavky na súhlas, no ich používanie preukazuje dobrú bezpečnostnú prax — ktorá je sama o sebe požiadavkou GDPR.
Presné poznanie toho, ktoré cookies vaša webová stránka nastavuje — a akého sú typu — je základom každého programu zabezpečenia súladu. Skener Passiro automaticky identifikuje a klasifikuje každý cookie na vašej webovej stránke, vrátane cookies tretích strán nastavených vloženými skriptami, o ktorých možno ani neviete.
Teraz, keď rozumieme typom, pozrime sa na to, ako sú cookies organizované do kategórií súhlasu — klasifikačný systém, ktorý určuje, ako sa zobrazujú vo vašom cookie bannere.
Je váš web v súlade s pravidlami cookies?
Skenujte svoj web zadarmo a nájdite všetky cookies za pár minút.
Skenovať cookies zadarmo