4) Fonts analysis with JS. Pretty awesome fingerprint but really time consuming and unstable (I have observed for this fingerprint the highest number of changes) if you collect too many fonts. The entropy I have achieved with a set of 100 optimal fonts was almost identical if consider 800 collected values. Obviously, it would get better with a bigger dataset but my conclusion is still clear – it is really worth to limit the number of fonts (not the random but the most representative set). Execution time improves significantly and the same for stability.
5) @Valve, you were considering employment of User-Agent parsing library to improve the stability. UA scored for me the 2nd highest instability so it is crucial to do something about it. Yet, the best solution imho is to simply trim the unstable parts from the string, which is in fact the browser version (engine and os are quite ok). Parsing using a library, except of being more expensive, would skip some information that could be useful.
6) I have found out that canvas, screen dimensions and webGL fingerprints should be particularly taken care of, again, due to the high instability. Drawing a "smile" icon in canvas fingerprint proved to make it really unstable, unfortunately. On the other hand, drawing a simple text is really stable and provides decent information. I know it may sound like going back in evolution but there is so many aspects to be considered... Surprisingly, usage of Arial font instead of fake (fallback) one gave better results, even though the second scored a higher number of unique and distinct values. A lot to play with.
7) In general, I believe that more focus should be devoted to stability of fp2.js. More and more fingerprints are being added and it doesn't necessary make the script better. People are quite concerned about how often the fingerprint is changing, it is essential for the use cases to keep it stable. I haven't made any official analysis of this particular script but by employing most of the fingerprinting methods I can say the stability leaves a large field for improvement. Well, it must be hard to develop this script without any deterministic data about its efficiency. I am wondering if anyone is collecting and analyzing such data?
Well, it's much longer than I intended, sorry! :)
Let me know what you think...
fingerprintjs2within my typescript App but it seems the module loader can't find fingerprintjs2 module, my sample app is on github: https://github.com/melloc01/ts-library-starter - there are some instructions the get the app running, thank you in advance = ] @Valve
Mozilla/5.0 (iPhone; CPU iPhone OS 10_3_3 like Mac OS X) AppleWebKit/603.3.8 (KHTML, like Gecko) Version/10.0 Mobile/14G60 Safari/602.1