IP anonymization and statistical data aggregation in ShinyStat™

A technical explanation on how ShinyStat™ anonymizes IP addresses and aggregates navigation data in order for it to be impossible to ascend the analytics data to the physical person.

In summary
All of the ShinyStat™ analytics platforms anonymize the IP address and aggregates the information in different reports as soon as it is technically possible, this occurs within the first few milliseconds of navigation. The function of anonymizing IP and of data aggregation in ShinyStat™ gathers the last octet of IP addresses of the user IPv4 and the last 80 bit of the IPv6 addresses on zero memory, this occurs immediately after the start of Shiny's collection network; navigation and log file data are aggregated in different reports and the original information discarded immediately. In this case the complete IP address and the navigation log are never recorded on disc.

In depth analysis
The ShinyStat™ platform was designed to help website owners to respect the privacy policies or, in some countries, the recommendations of the local authorities for the data protection, which can prevent the memorization of the log file and information on complete IP addresses. The masking or anonymization of the IP happens as soon as data is received from the ShinyStat™ collection network, before any memorization or elaboration occurs. The process of IP anonymization and of aggregation of log files in ShinyStat™ occurs in two stages of the collection process: the JavaScript tag and the collection network. These steps are described below.



The ShinyStat™ JavaScript tag
When a JavaScript-enabled web browser loads a page with a ShinyStat™ code (getcod.cgi), it subsequently performs two operations: charges and processes ShinyStat™ functions and retrieves the ShinyStat™ collection script.
When ShinyStat™'s JavaScript run the functions of the script (getcod.cgi), it activates the data that has to be sent to the ShinyStat™ collection network (generally the function is shinystat.cgi), the latter sends the data under the form of URL parameters attached to a HTTP request http://www.shinystat.com/cgi-bin/shinystat.cgi

ShinyStat™ collection network
ShinyStat™'s collection network is a set of servers that provides three main services: the getcod.cgi publication (ShinyStat™'s JavaScript), the collection of sent data through the request of shinystat.cgi and the anonymization of the IP and log file.
When there is a getcod.cgi request, shinystat.cgi includes additional information in the registration of the HTTP request (for example: the type of browser used) as well as the registration of the TCP/IP (for example: the IP address of the applicant).
As soon as shinystat.cgi request arrives, it is memorized for the anonymization: the log is aggregated in different report and does not exist anymore as a whole and the last octet of IP addresses of the user is set at zero whilst it is still in memory. For example, the IP address 194.20.237.8 could be modified in 194.20.237.0. If the IP address is Ipv6, the last 80 bit of 128 are set to zero.
Only at the end of this process of anonymization the request is written on a disc to be elaborated. The complete IP address or log file will never be recorded on disc as all of the anonymization happens automatically, instantly after the request was received.