Modern & flexible browser fingerprinting library, a successor to the original fingerprintjs
@/all I'd think that the (very roughly) structure should be as follows:
A special snippet of JS code is added to every page (akin to Google Analytics).
For every page view this code sends:
2.1. uniqueID (if available) - stored in evercookie
2.2. fpjs2id - stored in evercookie, if not, generated
2.3. User Agent
2.4. Current URL
2.5. HTTP Referrer
2.6. IP address
2.7. Additional info if available
Server receives such request and sees if:
3.1 uniqueID is available or not, if not, it generates it and serves as part of the response to be saved on the client.
3.2. if uniqueID is available then we have a user profile in the DB.
3.3. if user profile is available - we add current request params to add to some "Big Data analytics thing"
3.4. "Big Data analytics thing" can link multiple fpjs2 to a single user profile based on viewed pages, IP address, referrer (more).
3.5. It tries to make its decisions based on persistent, unique identifiers, using fpjs2 as supplementary identifier.
3.5. Server side analytics will try to do its best to link as many FPJS2 Ids to a user profile to build something like:
User: "John Doe"
Devices:
Profile data:
This system provides both server-side and client-side APIs, that allow:
The more companies install the snippet of JS, the more data we have, the more precise/intelligent the system becomes.
I would very much like to develop a solution like this, but it requires funding to be able to work on it full-time, but I'm certain
it's possible.
@/all I have a question to all interested :) Currently FPJS does some feature detection, which should be (IMO) delegated to a specialized library, such as Modernizr. Do you think we should do all feature checks with Modernizr and have it as a dependency? This way we can extend the list of tested features and have them all (their presence and or level of support) contribute to the FPJS calculation. Please share your ideas.
The job of FPJS2 would be: