Some values might change, like IPs for instance, but never at the same time.
To make it simple, like the famous Akinator, say you only need 10 values to identify someone with 100% certainty. Store 15 of them, and by the time one of them changes, you still have 14 values to identify with 100% certainty the user. You can then update your pool of data for this particular user.
I thought the way fingerprinting works is to try to get a bunch of semi-personal information, which together can identify a single person?
Like there’s plenty of people using a 1920x1080p display. Doesn’t stop companies from using that as part of their fingerprinting.
Sure, your entire town might share an IP. That just means you’ve narrowed your search field from the entire world to one town.
This is exactly how fingerprinting works.
By crossing enough data.
Some values might change, like IPs for instance, but never at the same time.
To make it simple, like the famous Akinator, say you only need 10 values to identify someone with 100% certainty. Store 15 of them, and by the time one of them changes, you still have 14 values to identify with 100% certainty the user. You can then update your pool of data for this particular user.