Skip to content

Web fingerprint research

Some business model required unique ID for fraud detection, it works for App since we can get Android ID for Android device and UUID for IOS devices. As for website, there is no such unique ID and brings great challenge to us if we wants to get unique ID on website.

Currently, there are two major libraries to generate a consistent and unique ID for Web, fingerprintjs and clientjs

This is a brief comparison of npm trends

picture 1

Commercial consideration

  • fingerprintjs is only free for commercial usage with v3 and below and it declares that accuracy is 40%-60%, the paid version starts from $99/month, for more details, you can check pricing
  • clientjs is free to use without any limitation

Consistency Comparison

Test caseclientjsfingerprintjs v3
Browser upgrade
Split screen
Incognito mode
Resize window size
Dev tool - mobile view
Dev tool - mobile view - change model
Uninstall browser extension
Switch from Chrome to Safari
New tab
Mobile phone-desktop site
Close and reopen browser
Clear app data - without Google account login
Clear app data - with Google account login
Uninstall and reinstall app - without Google account login
Uninstall and reinstall app - with Google account login

Unique Comparison

Test caseclientjsfingerprintjs v3
Different device

Conclusion

  • Fingerprintjs is likely to meet the announced accuracy of 40%-60%
  • Fingerprintjs has better performance with two more test cases of Browser upgrade and Mobile phone-desktop site while the other cases keep the same
  • For free use, prefer to choose fingerprintjs v3 if the accuracy is acceptable for us, otherwise, we would better choose a paid version of fingerprintjs