About this project

FingerprintJS is an open-source, client-side browser fingerprinting library that queries browser attributes and computes a hashed visitor identifier from them. Unlike cookies and local storage, a fingerprint stays the same in incognito/private mode and even when browser data is purged. The library is available under the MIT license and can be installed via npm (`@fingerprintjs/fingerprintjs`) or loaded from a CDN. It provides a simple API: initialize the agent at application startup with `FingerprintJS.load()`, then call `fp.get()` to retrieve the visitor identifier. Key features include: - Client-side fingerprinting that works across incognito/private browsing sessions - Persistence even when browser data is cleared - Support for all popular browsers - Available as an npm package or via CDN - MIT licensed and open-source The project also offers a commercial version called Fingerprint Identification, which combines client-side signal collection with server-side processing for higher accuracy and security. The commercial version collects over 100 browser and device signals and analyzes them server-side alongside network-level data. Limitations of the open-source version include lower accuracy compared to the commercial version and vulnerability to spoofing and reverse engineering due to client-side processing. The library supports migration from v3 and v4 to v5, and provides documentation for API reference, browser support, and version policy.