Brzi odgovor: LocalStorage je mehanizam za skladištenje zasnovan na pretraživaču koji, poput kolačića, spada pod regulative o privatnosti podataka, uključujući EU direktivu o privatnosti i GDPR. Skladištenje ili pristupanje nebitnim podacima u LocalStorage bez prethodne, informisane i slobodno date saglasnosti korisnika predstavlja kršenje usklađenosti. Većina organizacija to zanemaruje jer su njihovi alati za upravljanje saglasnostima konfigurisani samo za kolačiće, ostavljajući LocalStorage potpuno neuređenim.
Ključne tačke
- LocalStorage se zakonski tretira kao "slična tehnologija" kolačićima prema zakonima Ujedinjenog Kraljevstva i EU, što znači da se primenjuju ista pravila o saglasnosti.
- Evropski odbor za zaštitu podataka (EDPB) potvrdio je da tehnologije poput LocalStorage zahtevaju prethodnu, informisanu i slobodno dato saglasnost pre nego što se skladište ili pristupaju bilo kakvi nebitni podaci [2].
- ICO pravi razliku između skladištenja koje je strogo neophodno za uslugu i neophodnog skladištenja koje se koristi za praćenje ili analitiku, samo potonje zahteva eksplicitnu saglasnost [1].
- Mnogi alati za upravljanje saglasnostima podrazumevano regulišu kolačiće, ali ostavljaju LocalStorage bez nadzora, stvarajući značajan razmak u usklađenosti [3].
- SessionStorage nosi iste implikacije privatnosti kao LocalStorage kada se koristi za praćenje ili analitiku.
- Povlačenje saglasnosti obavezuje veb stranicu da obriše sve LocalStorage podatke prikupljene na osnovu te saglasnosti.
- Skripte trećih strana koje pišu u LocalStorage takođe zahtevaju pokriće saglasnosti, odgovornost leži na operateru sajta.
- Kazne za neusklađenost prema GDPR-u mogu biti značajne; rizik se povećava kada su kršenja sistemska i neotkrivena.
Šta je LocalStorage i kako funkcioniše
LocalStorage je Web Storage API ugrađen u moderne pretraživače koji omogućava veb stranicama da skladište parove ključ-vrednost direktno na uređaju korisnika, bez datuma isteka i tipičnog ograničenja po poreklu od oko 5-10 MB. Za razliku od kolačića, podaci u LocalStorage nikada se automatski ne šalju serveru sa HTTP zahtevima, već ostaju dok ih eksplicitno ne obriše JavaScript veb stranice ili korisnik.
Evo kako to funkcioniše u praksi:
- JavaScript veb stranice poziva
localStorage.setItem('key', 'value')da bi zapisao podatke. - Ti podaci ostaju na uređaju kroz sesije pretraživača dok se ne pozove
localStorage.removeItem('key')ililocalStorage.clear(). - Samo skripte sa istog porekla (protokol + domen + port) mogu čitati ili pisati te podatke.
Uobičajene upotrebe uključuju: skladištenje korisničkih preferencija (tema, jezik), sesijske tokene, identifikatore analitike, sadržaj korpe za kupovinu i dodeljivanje varijanti A/B testova.
Ključna tačka usklađenosti: pošto LocalStorage skladišti podatke na uređaju korisnika, aktivira isti pravni okvir kao kolačići prema direktivi o privatnosti i GDPR-u, bez obzira na to da li se ti podaci ikada šalju serveru [4].
Da li vam je potrebna saglasnost korisnika za LocalStorage prema GDPR-u
Da, za svaku nebitnu upotrebu LocalStorage, potrebna je eksplicitna saglasnost korisnika pre nego što se podaci skladište ili pristupaju. EDPB je potvrdio da tehnologije poput LocalStorage spadaju pod iste zahteve za saglasnost kao kolačići, što zahteva prethodnu, informisanu i slobodno dato saglasnost [2]. ICO dodatno precizira da saglasnost mora biti potvrđena jasnom, nedvosmislenom akcijom, a ne da se pretpostavlja iz ponašanja pri pretraživanju ili da se pretpostavlja iz nastavka korišćenja sajta [1].
Izuzetak od neophodnosti: Ako se LocalStorage koristi isključivo za isporuku funkcije koju je korisnik izričito zatražio, na primer, očuvanje stavki u korpi za kupovinu tokom aktivne sesije, to može kvalifikovati kao strogo neophodno skladištenje i ne zahteva saglasnost. Međutim, ako se ti isti podaci o korpi koriste za analitiku, ponovo ciljanje ili profilisanje ponašanja, izuzetak od neophodnosti više ne važi.
Uobičajena greška: Pretpostavka da je LocalStorage van dometa zakona o privatnosti jer podaci ne putuju sa HTTP zahtevima. Zakon se primenjuje na čin skladištenja ili pristupanja informacijama na uređaju korisnika, a ne na to da li se te informacije prenose.
Razlika između LocalStorage i kolačića: Zahtevi za saglasnost
I LocalStorage i kolačići zahtevaju saglasnost kada se koriste za nebitne svrhe, ali se razlikuju u tehničkom ponašanju i načinu na koji ih alati za usklađenost obično obrađuju.
| Karakteristika | Kolačići | LocalStorage |
|---|---|---|
| Istek | Konfigurisano | Nema (dok se ne obriše) |
| Šalje se sa HTTP zahtevima | Da | Ne |
| Pristup sa servera | Da | Ne |
| Pokriveno većinom CMP-ova podrazumevano | Da | Često ne [3] |
| Zahteva saglasnost (nebitno) | Da | Da |
| Opseg | Po domenu/putanji | Po poreklu |
Praktična razlika je značajna: većina platformi za upravljanje saglasnostima je arhitektonski usmerena na blokiranje kolačića i kategorizaciju kolačića. Upisi u LocalStorage se dešavaju putem JavaScript-a koji CMP-ovi možda neće presresti osim ako nisu posebno konfigurisani da to učine. Zato LocalStorage van radara: Zašto takođe zahteva eksplicitnu saglasnost korisnika nije samo teoretska briga, već je aktivna slepa tačka usklađenosti za veliki deo veb stranica [3].
Zašto LocalStorage zahteva eksplicitnu saglasnost korisnika
LocalStorage zahteva eksplicitnu saglasnost jer predstavlja pristup ili skladištenje informacija na uređaju korisnika, čin koji je regulisan direktivom o privatnosti (i njenim nacionalnim implementacijama) nezavisno od toga da li su uključeni lični podaci. Pravni stručnjaci klasifikuju LocalStorage kao "sličnu tehnologiju" kolačićima prema zakonu Ujedinjenog Kraljevstva, zahtevajući prethodnu, informisanu i slobodno dato saglasnost pre nego što dođe do bilo kakvog nebitnog skladištenja [4].
Osnovna logika je jednostavna: zakon štiti uređaj korisnika kao produžetak njihove privatne sfere. Bilo da se podaci skladište u kolačiću, LocalStorage, IndexedDB ili kešu servisnog radnika, pravni okidač je sam čin skladištenja, a ne format.
Tri uslova za validnu saglasnost (prema smernicama ICO-a) [1]:
- Slobodno dato, bez povezivanja saglasnosti sa prihvatanjem uslova korišćenja.
- Specifično i informisano, korisnik mora znati šta se skladišti i zašto.
- Nedvosmisleno, saglasnost mora doći iz jasne afirmativne akcije, kao što je označavanje potvrdnog okvira.
Da li se LocalStorage smatra praćenjem prema zakonima o privatnosti
LocalStorage se smatra praćenjem kada se koristi za identifikaciju, profilisanje ili praćenje korisnika kroz sesije ili stranice. Skladištenje identifikatora korisnika za analitiku, dodeljivanje A/B testova ili oznake za segmentaciju ponašanja u LocalStorage predstavlja praćenje prema većini regulatornih tumačenja, bez obzira na to da li se ti podaci kasnije sinhronizuju sa serverom.
To je suština LocalStorage van radara: Zašto takođe zahteva eksplicitnu saglasnost korisnika, mnogi programeri tretiraju LocalStorage kao neutralni mehanizam za keširanje, dok regulatori smatraju da je svaki postojani identifikator na uređaju potencijalni vektor praćenja koji zahteva saglasnost.
Možete li skladištiti lične podatke u LocalStorage
Tehnički, da, ali to nosi značajan pravni rizik i generalno se ne preporučuje. Lični podaci skladišteni u LocalStorage (kao što su adrese e-pošte, komponente otiska uređaja ili korisnički ID-ovi povezani sa profilima) podložni su svim obavezama prema GDPR-u: zakonitom osnovu, minimizaciji podataka, ograničenjima zadržavanja i pravu na brisanje [1].
Rizici specifični za LocalStorage:
- Podaci ostaju neodređeno vreme osim ako se eksplicitno ne obrišu, što otežava usklađenost sa pravilima o zadržavanju.
- Svaki JavaScript na stranici (uključujući skripte trećih strana) može potencijalno pristupiti LocalStorage podacima sa istog porekla.
- Ne postoji ugrađena enkripcija; osetljivi podaci skladišteni u običnom tekstu su dostupni svima koji imaju pristup uređaju ili putem XSS ranjivosti.
Preporuka: Izbegavajte skladištenje identifikovljivih ličnih podataka u LocalStorage. Ako je skladištenje neophodno, obezbedite da se dobije saglasnost, minimizuje podaci i da postoji jasan mehanizam za brisanje.
LocalStorage vs SessionStorage: Implikaicije privatnosti
SessionStorage se ponaša identično LocalStorage-u u smislu Web Storage API-ja, ali se podaci brišu kada se zatvori kartica ili prozor pretraživača. I pored ovog kraćeg veka trajanja, SessionStorage podliježe istim zahtevima za saglasnost kada se koristi za praćenje ili analitiku [6].
Ključna razlika za svrhe usklađenosti:
- SessionStorage može lakše kvalifikovati kao strogo neophodno (na primer, održavanje stanja tokom višekratnog plaćanja), jer podaci ne ostaju nakon sesije.
- LocalStorage gotovo uvek zahteva saglasnost za slučajeve praćenja jer njegova postojanost stvara dugoročni identifikator na uređaju korisnika.
Nijedan mehanizam nije inherentno izuzet od zakona o privatnosti. Svrha i sadržaj skladištenih podataka određuju obavezu saglasnosti, a ne tip skladištenja samog.
Šta se dešava ako koristite LocalStorage bez saglasnosti
Korišćenje LocalStorage za nebitne svrhe bez dobijanja validne prethodne saglasnosti predstavlja kršenje direktive o privatnosti i, kada su uključeni lični podaci, GDPR-a. Posledice mogu uključivati regulatornu istragu, izvršne akcije i reputacionu štetu.
Pored regulatornog rizika, postoji rastuća tehnička dimenzija sprovođenja: funkcije privatnosti pretraživača i blokatori oglasa sve više ciljaju praćenje zasnovano na LocalStorage-u. Sajtovi koji se oslanjaju na LocalStorage bez saglasnosti za analitiku ili personalizaciju mogu otkriti da su njihovi podaci sve manje pouzdani kako se ovi alati postaju sve prisutniji.
Praktična lista izloženosti:
- Skripte trećih strana za analitiku koje pišu identifikatore LocalStorage bez pokrića saglasnosti.
- Alati za A/B testiranje koji skladište dodeljivanja varijanti pre nego što se prikupi saglasnost.
- Chat widgeti ili alati za podršku koji inicijalizuju LocalStorage prilikom učitavanja stranice pre bilo kakve interakcije korisnika.
- Ponovno ciljanje piksela koji koriste LocalStorage kao rezervnu opciju za sinhronizaciju kolačića.
Kako implementirati saglasnost za LocalStorage na vašem veb sajtu
Implementacija saglasnosti za LocalStorage zahteva platformu za upravljanje saglasnostima koja može blokirati izvršenje JavaScript-a, a ne samo postavljanje kolačića, dok korisnik ne donese validan izbor o saglasnosti. Standardni baneri za kolačiće koji funkcionišu samo na HTTP nivou neće presresti upise u LocalStorage koje pravi JavaScript [3].
Pristup implementaciji korak po korak:
- Proverite korišćenje LocalStorage-a. Koristite alate za razvoj pretraživača (kartica Aplikacija) i skener skripti da identifikujete svaki ključ koji se zapisuje u LocalStorage, koja skripta ga piše i u koju svrhu.
- Kategorizujte svaku upotrebu. Klasifikujte skladištenje kao strogo neophodno, funkcionalno, analitičko ili marketinško. Samo strogo neophodno skladištenje može nastaviti bez saglasnosti.
- Izaberite CMP koji pokriva LocalStorage. Osigurajte da vaša platforma za upravljanje saglasnostima može blokirati ili odložiti izvršenje JavaScript-a za neophodne skripte dok se saglasnost ne odobri. Biscotti CMP je dizajniran da se bavi ovim nivoom upravljanja saglasnošću na nivou skripti.
- Implementirajte učitavanje skripti sa saglasnošću. Neophodne skripte koje pišu u LocalStorage trebaju se učitati samo nakon što korisnik prihvati relevantnu kategoriju saglasnosti.
- Obezbedite jasan korisnički interfejs za saglasnost. Baner za saglasnost mora opisivati korišćenje LocalStorage-a jednostavnim jezikom, kategorizovanim po svrsi, sa detaljnim opcijama za prihvatanje.
- Implementirajte mehanizam za povlačenje i brisanje. Kada korisnik povuče saglasnost, relevantni LocalStorage ključevi moraju se odmah obrisati.