4 ms·
Doesn't seem like a very useful measure of uniqueness. What if you had one-day retention of IP addresses for per-day unique views? Seems like too important of
by always_good 8y ago
Doesn't seem like a very useful measure of uniqueness.
What if you had one-day retention of IP addresses for per-day unique views? Seems like too important of a metric to eliminate completely, and one-day retention seems like a decent trade-off at the expense of being able to do unique analysis over longer time periods.
- iampims 8y agoDon’t retain the IP address, retain a hash of the IP address.
- detaro 8y agoA plain hash doesn't make a difference. One can use hashes with regularly changing salts that are destroyed after a while to make older hashes unusable though for some purposes.
- always_good 8y agoWhen you can trivially crawl the input space like ipv4 addresses, you'd have to expire a fresh per-day salt as well. But to my eyes, expiring salts isn't much different than deleting ip addresses after one day. Just more machinery. People have to trust that you're doing either, so why bother beyond being able to use the word "hashing" in marketing language?
- e12e 8y agoYou'd at least want per record salts. But even then it's trivial to check if a given ip is in the dataset. Better, but not great. (ie: you have access to the dataset, you want to check if a given ip/time match the log - read the salt, check the hash).
- wongarsu 8y agoBut per record hashes break the original use case: checking if a given hash is already in the database.
- thesimon 8y agoNot private enough as the space of IP addresses is too small. Removing the last octet of IPv4 addresses before storing them should provide better privacy.
- pdkl95 8y ago> Removing the last octet of IPv4 addresses before storing them should provide better privacy. That doesn't provide any practical amount of privacy. For a longer discussion of why this is at best a placebo, see: https://news.ycombinator.com/item?id=17170468 https://news.ycombinator.com/item?id=17170468
- dividuum 8y agoI solved this my SaaS by internally logging all the requests and then using the Measurement Protocol (https://developers.google.com/analytics/devguides/collection/protocol/v1/ https://developers.google.com/analytics/devguides/collection...) to send them from the server-side. While doing that I also set the last digit to 0 and unify user agents and other data that's not important for me.