We generate a daily changing identifier in which we process the IP address and the user agent of the user. To anonymize this information, we use a hash function with rotating salt. At no point of time it is possible for us (elbwalker) to decrypt this function and thus identify an individual user.
hash(salt + today + domain + userAgent + language + anonymizedIp)
To see how exactly this hash will look like in our database please checkout our data schema: