Rohamosan közeleg az új európai uniós adatvédelmi törvény, a GDPR érvénybe lépési dátuma és az általános fejetlenségen felülkerekedve egyre több weboldal tulajdonos próbál megfelelni a még igen csak homályosnak tűnő irányelveknek. Természetesen ehhez szükséges a kapcsolati űrlapok módosítása is, ha pedig pluszban bármilyen módon az adatbázisba is mentjük a beküldött adatokat, akkor az még inkább bonyolítja a helyzetet.
Az egyik legnépszerűbb és legtöbbek által használt kapcsolati űrlap bővítmény a Contact Form 7, a fejlesztője pedig készített egy adatbázis kiegészítőt is Flamingo néven, így visszakereshető módon el is tárolhatjuk a látogató által beküldött információkat. Ebben a bejegyzésben arról írok, hogy miként is tehetjük teljesen GDPR kompatibilissé ezt a két plugint.
Elviekben, ha az adatokat nem tároljuk, hanem csak email útján továbbítjuk az űrlap segítségével, akkor nincs komolyabb teendőnk, azonban sokan szeretik az adatbázisba is elmenteni a beküldött adatokat, mert ez ad egy plusz biztonsági faktort, hisz az emailek elveszhetnek, történhet sikertelen kézbesítés, szolgáltatás kimaradás, betelt postafiók, tehát előfordulhat, hogy nem érnek célba az üzenetek, így jobb, ha a vezérlőpulton keresztül is vissza tudjuk követni őket.
A Contact Form 7 kompatibilissé tételének első lépése az 5-ös verzió óta beépített “elfogadás” checkbox, ami egy új hozzáadható mezőt takar. Ez azért szükséges, hogy a látogató nyilatkozni tudjon, hogy hozzájárul az adatai feldolgozásához, kezeléséhez és esetleges tárolásához. Itt lehetőségünk lesz linkelni a GDPR kompatibilis adatvédelmi/jogi nyilatkozatunkat (amit szintén az oldalunkra szabva kell létrehoznunk).
Ha a checkbox nem kerül bepipálásra, akkor az űrlap nem lesz beküldhető.
A fenti megoldást kiegészíthetjük egy olyan opcióval, hogy a látogató nyilatkozni tudjon arról, hogy hozzájárul-e az adatai tárolásához avagy sem. Ha a válasz nem, akkor értelemszerűen a beküldött adatok nem kerülnek mentésre a Flamingo bővítmény adatbázisába. Ahhoz, hogy ezt a megoldást integrálni tudjuk szükséges lesz még egy checkbox hozzáadása a formunkhoz, mégpedig “opt-in” névvel. Ha ez bejelölésre kerül, akkor a “do_not_store=false” kerül meghívásra, ellenkező esetben a “do_not_store=true” fog lefutni.
A lenti kódot a sablonunk functions.php fájljának végére illesszük be:
add_action( 'wpcf7_before_send_mail', 'gdpr_wpcf7_submit', 10, 2 ); function gdpr_wpcf7_submit( $form ) { $wpcf7 = WPCF7_ContactForm::get_current(); $submission = WPCF7_Submission::get_instance(); if ( $submission ) { $posted_data = $submission->get_posted_data(); $optIn = $posted_data['opt-in'][0]; if ( $optIn ) { $formTitle = sanitize_text_field( $wpcf7->title() ); $wpcf7->set_properties( array ( 'additional_settings' => 'do_not_store: false\nflamingo_subject: "'.$formTitle.'"' )); } else { $wpcf7->set_properties(array( 'additional_settings' => 'do_not_store: true', )); } } return $form; }
Természetesen a fentiek magukban nem garantálják a teljes GDPR megfelelést, hiszen weboldalanként eltérő megoldásokat kell beépíteni és alkalmazni, valamint a kötelező adatvédelmi nyilatkozat is személyre szabott kell, hogy legyen. A látogatóval egyértelműen kell közölni, hogy milyen adatok is kerülnek róla begyűjtésre és ezeket milyen formában és ki is fogja felhasználni. Szükséges lesz még egy felületet biztosítani a látogatónak, hogy megismerje mely sütik (cookie-k) aktívak és lehetőséget kell adni ezek tiltására is. A teendőknek itt még nincs vége, hiszen extraként még azt is lehetővé kell tenni, hogy a felhasználó a róla tárolt személyes adatokat kikérhesse/megismerhesse és igény esetén véglegesen töröltethesse is. Személyes adatnak minősül minden olyan információ, amelyek segítségével a látogató egyértelműen beazonosítható (email cím, név, stb.). A fentiek alapján minden telepített bővítményt ellenőriznünk kell és a mi felelősségünk az is, hogy ezek GDPR kompatibilis módon kezeljék a felhasználók adatait. Szerencsére a népszerű bővítmények fejlesztőinek többsége gőzerővel dolgozik a GDPR kompatibilitás integrálásán (például Jetpack), azonban előfordulhatnak olyan régebbi, vagy magára hagyott pluginek is, amiket le kell cserélnünk vagy éppen módosítanunk ahhoz, hogy a weblapunk kompatibilis maradhasson.