0detect Tutorials

6. What Fingerprint settings are there?

Fingerprint is a set of data that a website or service collects about a visitor’s browser and device to distinguish one user from another without the use of cookies. It consists of many parameters, with some of it coming with the HTTP request, some available through JavaScript, and some derived from interaction with graphics and sound.

Here are the types of data most often included in Fingerprint.

Network and HTTP parameters

This includes HTTP headers and network attributes that the server receives by default: User Agent, Accept, Accept-Language, Accept-Encoding, presence and content of Сookies, and IP address. These fields provide basic information about the browser and system.

TLS / cryptographic fingerprints

When an HTTPS connection is established, the client sends a ClientHello with a set of supported ciphers, extensions, and other options. Methods like JA3 turn these fields into a hash and use it as the client’s network fingerprint. TLS fingerprints are especially useful at the network level, they are visible before HTTP is sent and work independently of Cookies.

Parameters available via JavaScript (navigator, screen, and others)

JavaScript provides many indirect signals: navigator.userAgent, navigator.platform, navigator.languages, screen.width/height, screen.colorDepth, timezone offset, presence of cookies, WebGL support, hardware number of cores (hardwareConcurrency), device memory size (deviceMemory), and more. Commercial fingerprinting libraries query these properties first.

Graphics Footprints: Canvas and WebGL

HTML5 Canvas and WebGL provide a way to render graphics and see what pixels the renderer returns. Differences in rendering arise due to OS, drivers, GPU, font versions, and even small differences in hardware implementation. This is what makes Canvas/WebGL a powerful addition to the standard options.

Audio fingerprints (Web Audio API)

The Web Audio API allows you to generate signals and measure their processing by the browser’s audio stack. Small variations in audio rendering depend on the audio subsystem and can be used as an additional indication. Audio vectors are not always as varied as graphic vectors, but they complement other parameters well.

Fonts, plug-ins, MIME types, and extensions

A list of installed system fonts and available plug-ins helps to distinguish between machines. Fonts are particularly informative: their number and set are highly dependent on the OS and installed applications. MIME types, registered file types, and more are also detected.

Sensors and hardware features

The presence of a touch screen, number of touch points, screen orientation, battery level (if API available), data about connected devices, all add attributes to the fingerprint. Some of these parameters are dynamic, but in combination provide additional information.

WebRTC, local IPs, performance graph

Through WebRTC, ICE queries can get local IP addresses of the device in some configurations. They also collect rendering timings and JavaScript execution timings – performance profiles help distinguish between different hardware combinations.

How these parameters are combined and why

An individual parameter is rarely unique. A fingerprint is a vector: many weak features combine to produce high uniqueness. Commercial and research solutions use machine learning and heuristics to combine hundreds of fields into a single identifier. For security, fingerprints are being used for anti-fraud, risk management, and marketing.

To minimize the possibility of your Fingerprint being created, use the 0DETECT anti-detect browser.

Make your work fast and secure with 0DETECT Browser

Want to stay up to date with all news, discounts, promotions? Sign up for our newsletter and be the first to receive the latest information
Follow us on Social Media
Explore 0DETECT Browser