Ποιος άλλος διαβάζει; Scripts τρίτων σε σελίδες φορμών
Μια σελίδα φόρμας επικοινωνίας φορτώνει συχνά κώδικα από μισή ντουζίνα άλλες εταιρείες. Μέρος του μπορεί να δει τι πληκτρολογούν οι επισκέπτες – και το μεγαλύτερο μέρος του δεν το έχει ελέγξει ποτέ κανείς στην ομάδα σας.
Όταν κάποιος συμπληρώνει τη φόρμα επικοινωνίας σας, υποθέτει ότι το μήνυμα πηγαίνει σε εσάς. Σε πολλούς ιστότοπους, όμως, η σελίδα της φόρμας εκτελεί επίσης scripts από παρόχους ανάλυσης, διαφημιστικά δίκτυα, προμηθευτές συνομιλίας και ό,τι έχει συγκεντρώσει ένας tag manager με τα χρόνια. Καθένα από αυτά τα scripts εκτελείται με τα ίδια δικαιώματα με τον δικό σας κώδικα: μπορεί να διαβάσει τη σελίδα, να παρακολουθεί τα πεδία εισαγωγής και να στέλνει δεδομένα στους δικούς του διακομιστές. Αυτό δεν σημαίνει ότι το κάνουν όλα. Όμως στη σελίδα όπου οι επισκέπτες πληκτρολογούν το όνομά τους, τη διεύθυνση e-mail τους και μερικές φορές λεπτομέρειες για την υγεία τους, τα οικονομικά τους ή νομικά τους προβλήματα, πρέπει να γνωρίζετε ποιος διαβάζει.
Οι συνήθεις ύποπτοι
- Τα εργαλεία session replay καταγράφουν κλικ, κύλιση και συχνά πατήματα πλήκτρων, ώστε μια επίσκεψη να μπορεί να αναπαραχθεί αργότερα. Αν τα πεδία δεν αποκρύπτονται, αυτό μπορεί να περιλαμβάνει όσα πληκτρολογούν οι άνθρωποι στη φόρμα.
- Τα pixels διαφήμισης και ανάλυσης αναφέρουν προβολές σελίδων και μετατροπές σε τρίτους – στην ίδια τη σελίδα της φόρμας και πολύ συχνά στη σελίδα ευχαριστιών.
- Τα widgets συνομιλίας φορτώνουν μια ολόκληρη εφαρμογή από άλλον τομέα, συνήθως σε κάθε σελίδα, συμπεριλαμβανομένης εκείνης με τη φόρμα.
- Οι tag managers επιτρέπουν στο μάρκετινγκ να προσθέτει scripts χωρίς νέα έκδοση του ιστότοπου. Βολικό, αλλά σημαίνει επίσης ότι κώδικας μπορεί να φτάσει στη σελίδα της φόρμας χωρίς να τον ελέγξει κανείς.
- Μικρότερα βοηθήματα – A/B testing, heatmaps, ενσωματώσεις κοινωνικών δικτύων, γραμματοσειρές, χάρτες – προσθέτουν το καθένα έναν host που λαμβάνει τουλάχιστον τη διεύθυνση IP του επισκέπτη και συνήθως τη διεύθυνση του ιστότοπού σας· όσα από αυτά είναι scripts μπορούν επίσης να διαβάσουν ολόκληρο το URL της σελίδας.
Session replay: μια συσκευή εγγραφής δίπλα στο πεδίο εισαγωγής
Τα περισσότερα εργαλεία replay προσφέρουν ρυθμίσεις για την απόκρυψη πεδίων εισαγωγής ή την εξαίρεση ολόκληρων περιοχών, και ορισμένα αποκρύπτουν συγκεκριμένα πεδία από προεπιλογή. Τα αδύναμα σημεία είναι οι εξαιρέσεις: ένα πεδίο μηνύματος ελεύθερου κειμένου που δεν καλύπτει η προεπιλογή, μια φόρμα κατασκευασμένη από στοιχεία που δεν αναγνωρίζουν οι κανόνες απόκρυψης ή μια ρύθμιση που κάποιος απενεργοποίησε κατά την αποσφαλμάτωση και δεν ενεργοποίησε ποτέ ξανά. Μια εγγραφή που αποθηκεύεται σε τρίτο μπορεί τότε να περιέχει ακριβώς όσα σας έγραψε ο επισκέπτης – κάτι που δεν περίμενε και που η πολιτική απορρήτου σας, η οποία σύμφωνα με το άρθρο 13 ΓΚΠΔ πρέπει να κατονομάζει τους αποδέκτες ή τις κατηγορίες αποδεκτών των δεδομένων προσωπικού χαρακτήρα, ενδέχεται να μην αναφέρει καθόλου.
Τα pixels και η σελίδα ευχαριστιών
Η παρακολούθηση μετατροπών χρειάζεται ένα σήμα ότι στάλθηκε μια φόρμα, και η σελίδα ευχαριστιών είναι το προφανές σημείο για την ενεργοποίησή του. Τα περισσότερα pixels στέλνουν ολόκληρη τη διεύθυνση της σελίδας με κάθε συμβάν. Αν η φόρμα υποβάλλεται μέσω GET ή αν η ανακατεύθυνση μετά την αποστολή προσθέτει στο URL τιμές όπως ?name=…&email=…, οι τιμές αυτές πηγαίνουν απευθείας στον πάροχο διαφήμισης ή ανάλυσης. Ορισμένα pixels προσφέρουν επίσης λειτουργίες που συλλέγουν αυτόματα διευθύνσεις e-mail ή αριθμούς τηλεφώνου από φόρμες για τη βελτίωση της αντιστοίχισης. Και αν το pixel ενεργοποιείται πριν ο επισκέπτης απαντήσει στο banner cookies – ή αφού το απορρίψει – το πρόβλημα δεν είναι πλέον μόνο τεχνικό.
Tag managers, συγκατάθεση και η εφοδιαστική αλυσίδα
Στους tag managers χάνεται συχνά η εποπτεία. Ένα tag καμπάνιας για μια έκθεση πριν από δύο χρόνια, μια δοκιμή ενός εργαλείου heatmap, ένα pixel για ένα δίκτυο που δεν χρησιμοποιεί πλέον κανείς – όλα αυτά μπορεί να εξακολουθούν να φορτώνονται σε κάθε σελίδα, συμπεριλαμβανομένης της φόρμας. Τα triggers ορίζονται συχνά σε «όλες τις σελίδες», και οι κανόνες συγκατάθεσης ρυθμίζονται tag προς tag, οπότε αρκεί ένα tag με μια συνθήκη που λείπει για να φορτωθεί ένα script πριν συμφωνήσει ο επισκέπτης.
Έπειτα υπάρχει η εφοδιαστική αλυσίδα. Όταν ενσωματώνετε ένα script από άλλον host, εμπιστεύεστε όποιον ελέγχει αυτόν τον host σήμερα και στο μέλλον. Ένας προμηθευτής μπορεί να αλλάξει τι κάνει το script του, να πουληθεί ή να παραβιαστεί η υποδομή διανομής του. Το πρόγραμμα περιήγησης δεν μπορεί να ξεχωρίσει ένα νόμιμο script από ένα παραποιημένο, οπότε κώδικας που εισάγεται σε μια σελίδα φόρμας μπορεί να διαβάσει κάθε πεδίο και να το στείλει οπουδήποτε – το ίδιο μοτίβο που χρησιμοποιείται για skimming σε σελίδες ολοκλήρωσης αγοράς.
Τι μπορείτε να κάνετε
- 1Κάντε απογραφή. Ανοίξτε κάθε σελίδα φόρμας και τη σελίδα ευχαριστιών της με τα εργαλεία προγραμματιστή του προγράμματος περιήγησης, ελέγξτε την καρτέλα Network και καταγράψτε κάθε εξωτερικό host. Κάντε το μία φορά χωρίς συγκατάθεση και μία φορά αφού αποδεχθείτε το banner.
- 2Αφαιρέστε ό,τι δεν χρειάζεται κανείς. Τα tags χωρίς σαφή υπεύθυνο και σκοπό είναι υποψήφια για διαγραφή. Περιορίστε τα triggers του tag manager, ώστε στις σελίδες φορμών να εκτελούνται μόνο τα tags που πρέπει.
- 3Αποκρύψτε τις καταχωρίσεις στα εργαλεία replay. Αποκρύψτε όλα τα πεδία εισαγωγής, όχι μόνο τους κωδικούς πρόσβασης, και εξαιρέστε εντελώς την περιοχή της φόρμας αν μπορείτε. Στη συνέχεια παρακολουθήστε μια εγγραφή για να δείτε τι αποθηκεύτηκε πράγματι.
- 4Στέλνετε μετατροπές χωρίς δεδομένα προσωπικού χαρακτήρα. Υποβάλλετε μέσω POST, κρατήστε τις τιμές της φόρμας εκτός των URL ανακατεύθυνσης και ενεργοποιήστε ένα ουδέτερο συμβάν όπως «contact_form_sent». Απενεργοποιήστε την αυτόματη συλλογή πεδίων φορμών στα pixels.
- 5Φόρτωση μόνο μετά τη συγκατάθεση. Τα scripts που χρειάζονται συγκατάθεση δεν πρέπει να φορτώνονται πριν συμφωνήσει ο επισκέπτης – και πρέπει να παραμένουν ανενεργά αν αρνηθεί. Δοκιμάστε και τις δύο διαδρομές.
- 6Κλειδώστε και περιορίστε όπου είναι εφικτό. Το Subresource Integrity (ένα hash στο tag του script) κάνει το πρόγραμμα περιήγησης να αρνείται ένα στατικό αρχείο που έχει αλλάξει· δεν ταιριάζει σε scripts που αλλάζουν εκ σχεδιασμού, όπως οι tag managers. Μια Content Security Policy περιορίζει ποιοι hosts μπορούν να εκτελούν scripts – ξεκινήστε σε λειτουργία report-only για να δείτε τι θα χαλούσε.
- 7Παρακολουθείτε τις αλλαγές. Ένας νέος host scripts σε σελίδα φόρμας πρέπει να είναι συνειδητή απόφαση, όχι έκπληξη. Βεβαιωθείτε ότι ειδοποιείστε όταν εμφανίζεται κάποιος.
Το formexposed ελέγχει ποια pixels παρακολούθησης ενεργοποιούνται στις σελίδες φορμών σας, αν ένα εργαλείο session replay μπορεί να καταγράφει τις καταχωρίσεις των φορμών και αν η απόρριψη του banner cookies σταματά πράγματι την παρακολούθηση – παθητικά, δεν υποβάλλεται τίποτα. Ένας δωρεάν έλεγχος δείχνει το συνολικό επίπεδο· τα ευρήματα αυτά βρίσκονται στην πλήρη αναφορά. Με παρακολούθηση για έναν επαληθευμένο τομέα, το formexposed σας ειδοποιεί επίσης όταν εμφανίζεται νέος host scripts σε μια σελίδα φόρμας.