Consimțământul pentru cookie-uri pentru aplicațiile web progresive (PWA): un ghid pentru editori
De ce PWA-urile sunt un caz limită pentru consimțământ
O aplicație web progresivă se comportă ca o aplicație nativă — se instalează pe ecranul de pornire, funcționează offline și pune în cache agresiv — dar este în continuare servită dintr-un browser, deci se aplică regulile pentru cookie-uri și stocare web. Această natură hibridă este exact ceea ce îi face pe editori să se împiedice: aceleași obligații de consimțământ GDPR ca orice site web, suprapuse peste service workers și cache-uri persistente care pot păstra în tăcere date și scripturi după ce un utilizator a spus nu.
Unde stochează PWA-urile lucrurile
Înainte de a putea condiționa stocarea de consimțământ, trebuie să cunoști fiecare loc în care un PWA poate păstra date:
- Cookie-uri — suprafața clasică, guvernată de consimțământ ca întotdeauna.
- LocalStorage / IndexedDB — folosite adesea pentru starea aplicației, dar și pentru analitice și identificatori publicitari.
- Cache Storage — service worker-ul poate pune în cache scripturi terțe (analitice, SDK-uri publicitare) astfel încât să ruleze chiar și offline.
- Service worker-ul în sine — persistă între sesiuni și poate reînregistra urmărirea la următoarea lansare.
Consimțământul trebuie să guverneze toate acestea, nu doar document.cookie.
Modelul de service worker cu consimțământul-mai-întâi
Principiul de bază: service worker-ul trebuie să citească starea consimțământului înainte de a pune în cache sau de a executa orice resursă terță neesențială. Un model curat arată astfel:
- Stochează semnalul de consimțământ undeva unde service worker-ul îl poate citi — IndexedDB sau o intrare de cache pe care CMP-ul o actualizează la fiecare alegere.
- În handler-ul
fetchal service worker-ului, refuză să pui în cache endpoint-urile de analitice/publicitate dacă nu este prezent consimțământul pentru acel scop. - Când un utilizator retrage consimțământul, trimite un mesaj către service worker pentru a elimina scripturile de urmărire din cache și a curăța magazinele IndexedDB relevante.
Omiterea acestui ultim pas este cea mai comună lacună de conformitate a PWA-urilor: bannerul spune “respins,” dar un script de analitice din cache continuă să se declanșeze din service worker la următoarea lansare offline.
UX-ul consimțământului offline
PWA-urile pot porni fără rețea. Bannerul tău de consimțământ și alegerea stocată a utilizatorului trebuie să funcționeze ambele offline — pune în cache interfața CMP-ului în sine și nu seta niciodată implicit “acordat” doar pentru că serverul de consimțământ este inaccesibil. Dacă nu poți confirma o alegere anterioară, tratează utilizatorul ca neconsimțit și servește doar funcționalitatea esențială până când poți.
Implicații asupra veniturilor publicitare
Pentru PWA-urile susținute de publicitate, starea consimțământului trebuie să ajungă la SDK-ul tău publicitar la momentul cererii, online sau offline. Un PWA cablat corect transmite șirul IAB TCF și semnalele Consent Mode v2 partenerilor de cerere exact ca un site normal; unul configurat greșit pune în cache o stare învechită de “fără consimțământ” și prăbușește eCPM-ul tău la tarife nepersonalizate pe termen nelimitat. Tratează prospețimea consimțământului ca pe o metrică de venit.
Cum ajută FlexyConsent
FlexyConsent păstrează alegerea în cookie-uri de consimțământ și în stocarea browserului și îți anunță codul despre fiecare schimbare, inclusiv o retragere, prin evenimentul consentChanged din __fcapi, pe care îl poți lega de golirea cache-ului.
Concluzii cheie
- PWA-urile se confruntă cu toate obligațiile de consimțământ GDPR plus complicațiile de service worker și cache.
- Condiționează cookie-urile, LocalStorage, IndexedDB și Cache Storage de consimțământ — nu doar cookie-urile.
- La retragere, elimină scripturile de urmărire din cache și curăță identificatorii stocați.
- Păstrează starea consimțământului proaspătă și sigură offline astfel încât veniturile publicitare să nu rămână blocate la tarife nepersonalizate.