Anonimizzazione IP ShinyStat™ e aggregazione dei dati statistici

Spiegazione tecnica di come ShinyStat™ anonimizza gli indirizzi IP e aggrega i dati di navigazione di modo da rendere impossibile risalire dal dato di analytics alla persona fisica.

In sintesi
Tutte le piattaforme di analytics ShinyStat™ anonimizzano l'indirizzo IP e aggregano le informazioni di navigazione nei differenti report non appena ciò sia tecnicamente possibile nel passaggio più a monte della rete in cui avviene la raccolta dei dati e comunque in pochissimi millisecondi. La funzione di anonimizzazione IP e di aggregazione dati in ShinyStat™ imposta l'ultimo ottetto di indirizzi IP dell'utente IPv4 e gli ultimi 80 bit degli indirizzi IPv6 su zero in memoria subito dopo l'invio alla rete di raccolta di ShinyStat™, i dati del log e di navigazione vengono aggregati nei differenti report e le informazioni originali vengono eliminate e cancellate immediatamente. In questo caso l'indirizzo IP completo e il log di navigazione non vengono mai scritti su disco.

Analisi approfondita
La piattaforma ShinyStat™ è stata progettata per aiutare i proprietari di siti a rispettare le norme sulla privacy o, in alcuni Paesi, le raccomandazioni delle autorità locali per la tutela dei dati, che possono impedire la memorizzazione del log e delle informazioni relative agli indirizzi IP completi. Il mascheramento o l'anonimizzazione IP avviene non appena i dati vengono ricevuti dalla rete di raccolta di ShinyStat™, prima che avvenga qualsiasi memorizzazione o elaborazione.
Il processo di anonimizzazione IP e di aggregazione dei log in ShinyStat™ si svolge nell'arco di due passaggi nella procedura di raccolta: il tag JavaScript e la rete di raccolta. Questi passaggi sono spiegati di seguito.



Il tag JavaScript di ShinyStat™
Quando un browser web abilitato per JavaScript carica una pagina con il codice ShinyStat™ (getcod.cgi), compie due operazioni: carica ed elabora le funzioni ShinyStat™ e richiama lo script di raccolta ShinyStat™.
Quando il JavaScript di ShinyStat™ esegue le funzioni del codice (getcod.cgi), attiva i dati da inviare alla rete di raccolta di ShinyStat™ (in genere questa funzione è shinystat.cgi), quest'ultima invia i dati sotto forma di parametri URL allegati a una richiesta HTTP http://www.shinystat.com/cgi-bin/shinystat.cgi .

La rete di raccolta di ShinyStat™
La rete di raccolta di ShinyStat™ è l'insieme di server che fornisce tre servizi principali: la pubblicazione getcod.cgi (il JavaScript di ShinyStat™), la raccolta dei dati inviati tramite richiesta di shinystat.cgi e l'anonimizzazione del log e dell'IP.
Quando arriva una richiesta a getcod.cgi, shinystat.cgi include informazioni aggiuntive nell'intestazione della richiesta HTTP (ad es. il tipo di browser utilizzato) e l'intestazione TCP/IP (ad es. l'indirizzo IP del richiedente).
Non appena arriva una richiesta di shinystat.cgi, questa viene memorizzata per l'anonimizzazione: il log viene aggregato nei differenti report e non esiste più nella sua interezza e l'ultimo ottetto dell'indirizzo IP dell'utente è impostato su zero mentre è ancora in memoria. Ad esempio, l'indirizzo IP 194.20.237.8 potrebbe essere modificato in 194.20.237.0. Se l'indirizzo IP è un indirizzo IPv6, gli ultimi 80 bit dei 128 vengono impostati su zero.
Solo al termine di questo processo di anonimizzazione la richiesta viene scritta su disco per l'elaborazione. In nessun momento viene scritto su disco l'indirizzo IP completo o il log completo, in quanto tutta l'anonimizzazione avviene nella memoria istantaneamente dopo che la richiesta è stata ricevuta.