IP Anonymization Enrichment

Summary

The IP anonymization enrichment lets you anonymize the IP addresses found in the user_ipaddress field by replacing a certain number of octets with “x”s. For example, anonymizing one octet would change the address 255.255.255.255 to 255.255.255.x, and anonymizing three octets would change it to 255.x.x.x.

Overview

When web users navigate to your website or app, their device makes a request for your content. In that request is their unique IP address. Although IP addresses can be dynamic and assigned by internet service providers, some data collectors would rather not store full IP addresses due to local legislation or in some cases the ability to link an IP Address with an individual.

The IP anonymization enrichment allows you to decide how many of the octets should be anonymized and then stores the IP address without the specified number of octets.

Note: This enrichment runs after the IP Lookup Enrichment. Therefore, if you are not interested in collecting any geolocation information or other data points based off of a users IP Address make sure the IP Lookup Enrichment is not enabled.

Example

Here is a sample configuration file for this enrichment:

{
    "schema": "iglu:com.snowplowanalytics.snowplow/anon_ip/jsonschema/1-0-0",
    "data": {
        "name": "anon_ip",
        "vendor": "com.snowplowanalytics.snowplow",
        "enabled": true,
        "parameters": {
            "anonOctets": 3
        }
    }
}

We set the level of octets by defining the value for the “anonOctets” key, in this case set to 3.

If a user browses to our site with IP: 192.168.1.1, the value stored in the database under the user_ipaddress column in our atomic.events table would be: 192.x.x.x.

If you’d like help setting up or configuring this or any other enrichment please reach out to support@snowplowanalytics.com.