DEVELOPER FIELD GUIDE · A—Z
BrowserFingerprints.
From Canvas to WebRTC, understand the signals a website can observe and how they contribute to a browser fingerprint.
Explore 34 termsObserveRequests expose signals; scripts can measure rendering.
CombineCombine or hash observations. A longer hash adds no identifying information.
Add contextUpdates change signals. Different environments can share the same result.
THE FINGERPRINT INDEX
Every signal, explained.
34 of 34 terms
A
01RenderingAudioContext
Audio processing can produce small numerical differences that help describe a browser and its underlying software environment.
AudioContext · OfflineAudioContextHow it worksClose explanation
The mechanism
An offline audio graph generates samples into a buffer without playing through speakers. Comparing its output can reveal differences in audio implementations; context properties also expose capabilities such as sample rate.
What to keep in mind
This does not require recording a microphone. Matching output is not proof that two visits came from the same device.
B
01DeviceBattery
Charging state and battery level describe a temporary device condition, with limited availability across browsers and operating environments.
Battery Status APIHow it worksClose explanation
The mechanism
Supporting browsers expose a BatteryManager with charge level, charging state and timing estimates. Changes can add short-lived context to an observation, rather than a durable hardware identity.
What to keep in mind
Support is restricted and values change during use. An unavailable API or a full battery is not evidence of automation.
C
06RenderingCanvas
The pixels produced by drawing text and shapes can reflect differences in fonts, graphics processing and browser rendering.
Canvas 2D · pixel readbackHow it worksClose explanation
The mechanism
A page renders a chosen scene and reads its pixel output. A compact representation of those pixels can be compared across visits, alongside other observations about the environment.
What to keep in mind
Privacy protections can alter or restrict readback. Shared rendering stacks can match, and software updates can change the result.
BrowserClient Hints
Structured browser and platform hints provide a controlled alternative to extracting device details from the traditional User-Agent string.
Sec-CH-UA · NavigatorUADataHow it worksClose explanation
The mechanism
Supporting clients provide basic hints and may provide additional details after a server request or JavaScript query. Browser policy determines which values are exposed and at what level of detail.
What to keep in mind
High-entropy hints are not guaranteed to be available. Requesting them does not always produce a visible permission prompt.
RenderingClient Rects
Element geometry exposes layout measurements, including fractional pixels, that can differ with fonts, styling and the browser layout engine.
Element.getClientRectsHow it worksClose explanation
The mechanism
The browser reports rectangles for an element’s rendered CSS boxes. Measurements from a controlled layout may be compared as rendering observations, especially where text wraps or fractional dimensions occur.
What to keep in mind
Scrolling, zoom, fonts and page layout affect coordinates. Comparing arbitrary rectangles without matching the scene produces misleading differences.
DeviceColor Depth
Reported color depth describes a display-related capability, but common or standardized values often add little distinguishing information by themselves.
Screen.colorDepth · Screen.pixelDepthHow it worksClose explanation
The mechanism
The Screen interface reports a color-depth value for the output environment. It can accompany screen dimensions in a capability profile, although browser policy may substitute a conventional value.
What to keep in mind
The number is not a reliable specification of the physical panel or HDR support, and many devices share it.
SessionCookies
Cookies preserve site-assigned state and identifiers between requests; they are stored data rather than a fingerprint derived from browser capabilities.
Cookie · Set-CookieHow it worksClose explanation
The mechanism
A site sets a value that the browser sends with eligible requests. Session continuity comes from retaining that value, while cookie attributes and browser policies govern its scope and lifetime.
What to keep in mind
HttpOnly cookies are not readable by page scripts. Clearing cookies removes stored state but does not change the browser’s rendering characteristics.
BrowserCSS Media Queries
Media queries describe display conditions, input capabilities and user preferences, giving pages several small pieces of environmental information.
@media · matchMediaHow it worksClose explanation
The mechanism
Queries test features such as pointer precision, hover, color scheme and reduced motion. A combination of results can describe the current environment while also enabling responsive and accessible interfaces.
What to keep in mind
Preferences and connected input devices can change. A matching query is a capability or preference signal, not a device identifier.
D
02DeviceDevice Memory
A coarse estimate of device memory helps describe a hardware tier without exposing an exact inventory of installed RAM.
Navigator.deviceMemoryHow it worksClose explanation
The mechanism
Supporting browsers round memory into coarse values and clamp the result within implementation-defined limits. This makes the signal useful for resource adaptation while reducing the detail available for fingerprinting.
What to keep in mind
Availability and bounds vary by browser. Treat the reported value as an approximation, not the device’s actual RAM capacity.
BrowserDo Not Track
Do Not Track is a legacy privacy preference that may appear in older fingerprint datasets or browser configuration reports.
DNT · Navigator.doNotTrackHow it worksClose explanation
The mechanism
The DNT header and its JavaScript counterpart expressed a request not to be tracked. Their presence or value could become another configuration observation, despite the feature’s privacy-related intent.
What to keep in mind
DNT is deprecated and its specification was discontinued. It does not itself block tracking and should not anchor modern identification.
F
01RenderingFonts
Available fonts and their rendering behavior can reflect operating-system defaults, language support and software installed in the browsing environment.
CSS local fonts · Local Font AccessHow it worksClose explanation
The mechanism
Pages may infer a candidate font’s availability through rendering differences. The separate Local Font Access API can enumerate exposed font metadata, but requires permission and is subject to browser policy.
What to keep in mind
A page does not automatically receive every installed font. Downloaded web fonts and privacy restrictions can change the observable result.
G
01DeviceGeolocation
Geolocation supplies permission-controlled location context; it is different from an approximate region inferred from a connection’s public IP address.
Geolocation APIHow it worksClose explanation
The mechanism
After permission is granted, the browser uses available location services to return coordinates and associated accuracy. The result describes location at a particular time rather than a permanent browser characteristic.
What to keep in mind
Availability and precision depend on permission, policy and location services. Refusing access is ordinary user behavior, not evidence of fraud.
H
02DeviceHardware Concurrency
The reported logical processor count offers a coarse view of parallel processing capacity available to the browser’s worker environment.
Navigator.hardwareConcurrencyHow it worksClose explanation
The mechanism
The browser reports how many logical processors may be available for execution. This helps applications size worker pools, and can contribute one hardware-related observation when combined with other signals.
What to keep in mind
Browsers may report a reduced count. Logical processors are not the same as physical CPU cores or an exact processor model.
NetworkHTTP Headers
Request headers expose protocol metadata to the receiving server, including accepted content, language preferences and aspects of the request context.
Accept · Accept-Language · Sec-Fetch-*How it worksClose explanation
The mechanism
Servers can examine the fields sent with a request before page JavaScript runs. A header profile describes client behavior, although individual fields may overlap with information exposed by browser APIs.
What to keep in mind
Headers depend on request type, protocol and intermediaries. A header combination alone cannot establish a unique person or device.
I
01NetworkIP Address
A public IP address identifies a network endpoint visible to a server, providing connection context rather than a browser’s intrinsic identity.
Connection source IPHow it worksClose explanation
The mechanism
The receiving service observes the source address of its connection. NAT can place multiple devices behind one address, while network changes and intermediaries can cause one device to appear under different addresses.
What to keep in mind
A shared or changing address is normal. An IP match is not proof of the same browser, household or person.
L
01BrowserLanguage
Preferred languages and their ordering describe browser configuration, adding regional context without reliably revealing a user’s location or nationality.
Navigator.languages · Accept-LanguageHow it worksClose explanation
The mechanism
JavaScript can expose a preferred language list, while HTTP requests may carry related language preferences. Their overlap is informative, but the two representations can use different fallback tags and ordering details.
What to keep in mind
Privacy modes may shorten the list. A user can choose languages unrelated to their location, and values are not always identical.
M
01DeviceMedia Devices
Exposed cameras, microphones and audio outputs describe the media environment, with the visible list shaped by permissions and browser policy.
MediaDevices.enumerateDevicesHow it worksClose explanation
The mechanism
Device enumeration returns information about available media inputs and outputs. The number and kinds of exposed devices, and labels where permitted, can add context about the current setup.
What to keep in mind
Permission rules can omit devices or hide labels. Device identifiers are not a public inventory of hardware serial numbers.
N
01O
01DeviceOperating System
Operating-system information is usually a reported or inferred platform family, not direct access to a machine’s complete system configuration.
Platform hints · Navigator.platformHow it worksClose explanation
The mechanism
Platform strings and related browser hints may suggest an operating-system family. Other observations can correlate with that family, but compatibility conventions and reduced reporting can conceal exact architecture or version.
What to keep in mind
Legacy platform values can be misleading; for example, a Windows platform label need not reveal the actual system bitness.
P
02SessionPermissions
Permission states describe what a particular browsing context may access, reflecting user choices and browser policy more than hardware identity.
Permissions API · PermissionStatusHow it worksClose explanation
The mechanism
A permission query can return the state for a supported feature, such as geolocation. The result helps applications decide whether access is available, blocked or still requires a user decision.
What to keep in mind
Query support varies by permission and browser. A denied or unsupported result is normal and does not establish an automated session.
BrowserPlugins
The legacy plugin list now mainly preserves PDF-viewer compatibility, making old assumptions about enumerating installed browser plugins unreliable.
Navigator.plugins · pdfViewerEnabledHow it worksClose explanation
The mechanism
The modern specification defines a standard set of PDF-viewer entries when inline PDF display is supported, and an empty list otherwise. This keeps older feature checks working with predictable output.
What to keep in mind
It is not a list of installed browser extensions. Historical Flash-era plugin fingerprinting descriptions do not represent modern behavior.
S
03DeviceScreen Resolution
Reported screen dimensions describe the display space available to the browser, contributing a common but usually non-unique environmental characteristic.
Screen.width · Screen.heightHow it worksClose explanation
The mechanism
The Screen interface exposes dimensions in CSS pixels and separate available-area measurements. These describe a different surface from the page viewport, so a window size and a screen size should be distinguished.
What to keep in mind
CSS pixels are not necessarily physical panel pixels. Display configuration and browser privacy behavior can change the values observed.
BrowserSpeech Voices
Available text-to-speech voices can describe language and speech-service configuration, adding another software-related observation about the current browser environment.
SpeechSynthesis.getVoicesHow it worksClose explanation
The mechanism
The speech synthesis interface exposes available voice objects, including names and language tags. A list of these attributes may differ across environments and can change as voices become available.
What to keep in mind
The voice list can load asynchronously or change. It describes speech output options and does not record the user’s voice.
SessionStorage
Browser storage retains origin-associated data and session context; stored identifiers should be distinguished from fingerprints calculated from observable device properties.
localStorage · IndexedDB · StorageManagerHow it worksClose explanation
The mechanism
Web Storage and IndexedDB let sites retain values within browser-managed boundaries. Storage estimates and persistence behavior provide separate capability context, but estimates are not precise measurements of a device’s free disk.
What to keep in mind
Clearing, eviction and private browsing can remove data. Storage policies and quotas vary, so storage behavior alone cannot prove identity.
T
03BrowserTimezone
A configured time zone adds regional context to the browser environment, but it does not determine where a person is physically located.
Intl.DateTimeFormat · timeZoneHow it worksClose explanation
The mechanism
The internationalization API can report the time zone resolved for a date formatter. With default options, this reflects the runtime’s configured zone and can be considered alongside language settings.
What to keep in mind
Users and managed environments can choose a time zone. Travel, remote desktops and overrides can create legitimate differences from network location.
NetworkTLS
TLS fingerprints describe connection-handshake characteristics observed by network services, helping group client implementations rather than uniquely identify individual browsers.
ClientHello · JA3 · JA4How it worksClose explanation
The mechanism
Schemes such as JA3 and JA4 summarize characteristics of the TLS ClientHello. JA4 normalizes some ordering differences, so the resulting value can group connections with similar client behavior.
What to keep in mind
These are server-side connection observations, not ordinary JavaScript properties. Shared client software can share a TLS fingerprint across many users.
DeviceTouch Points
The maximum supported touch contacts describe an input capability, helping distinguish broad device configurations without identifying a specific piece of hardware.
Navigator.maxTouchPointsHow it worksClose explanation
The mechanism
The browser reports how many simultaneous touch points the current device supports. Applications use it to adapt gestures, and a fingerprint profile may record it alongside other input capabilities.
What to keep in mind
Touch support does not mean a device is a phone. Laptops, tablets and hybrid devices can expose overlapping values.
U
01BrowserUser Agent
The User-Agent string reports browser and platform information, but compatibility tokens and reduced detail limit how literally it can be interpreted.
User-Agent · Navigator.userAgentHow it worksClose explanation
The mechanism
Browsers send a User-Agent header and expose a related JavaScript property. These strings can suggest a browser family, while reduction policies may freeze platform versions, device models and minor version details.
What to keep in mind
A string can be overridden and multiple browsers share tokens. Prefer feature detection when deciding which functionality a page can use.
V
01BrowserVideo Codecs
Supported video configurations and decoding estimates describe media capabilities that can vary across browsers, operating systems and available hardware acceleration.
MediaCapabilities.decodingInfoHow it worksClose explanation
The mechanism
A page can ask whether a particular codec and video configuration is supported, smooth and power efficient. Multiple answers form a capability profile rather than a list of installed applications.
What to keep in mind
Results depend on the exact configuration and available implementation data. A supported codec does not uniquely identify a GPU or device.
W
05BrowserWebDriver
WebDriver exposes a standardized automation status signal, intended to help cooperating pages recognize that a browser is under automated control.
Navigator.webdriverHow it worksClose explanation
The mechanism
The webdriver property reports whether the browser indicates automation control. Test tools and websites can use that declaration to coordinate behavior, making it an automation signal rather than a high-entropy device fingerprint.
What to keep in mind
Automation has legitimate uses. This single Boolean neither identifies an operator nor proves that a session is harmful or human.
RenderingWebGL
WebGL exposes graphics capabilities and rendered output that may reflect the browser’s graphics stack, supported extensions and underlying driver behavior.
WebGLRenderingContextHow it worksClose explanation
The mechanism
A WebGL context can report limits and extensions, while rendering a scene produces pixels for comparison. A separate debug extension may reveal renderer information when the browser permits it.
What to keep in mind
Debug information may be restricted. Software rendering and shared graphics stacks mean a renderer label is not a unique hardware identity.
RenderingWebGL2
WebGL2 extends the graphics feature surface with additional rendering capabilities, giving more context about the browser’s available graphics implementation.
WebGL2RenderingContextHow it worksClose explanation
The mechanism
Based on OpenGL ES 3.0 capabilities, WebGL2 adds features such as three-dimensional textures and multiple render targets. Support and reported limits can complement observations from the original WebGL interface.
What to keep in mind
WebGL and WebGL2 observations are related, not independent identities. Missing support can reflect browser configuration or device compatibility.
RenderingWebGPU
WebGPU makes selected graphics-adapter information available for modern rendering and computation, with disclosure limited to reduce fingerprinting exposure.
GPUAdapter · GPUAdapterInfoHow it worksClose explanation
The mechanism
An available adapter can expose information such as vendor or architecture through GPUAdapterInfo. Browsers choose how much detail to share, so the same API can yield different information granularity across implementations.
What to keep in mind
Fields may be empty or generalized, and adapter availability varies. The interface is not an unrestricted hardware identification channel.
NetworkWebRTC
WebRTC connection negotiation can expose network-path information, adding context about candidate routes used for real-time media or data connections.
RTCPeerConnection · ICE candidatesHow it worksClose explanation
The mechanism
ICE gathers candidate connection routes, potentially including direct, server-discovered or relay addresses. The information visible to a page depends on browser policy, permissions and how the connection is configured.
What to keep in mind
WebRTC does not guarantee disclosure of a device’s original IP. Candidate visibility and routing vary with privacy settings and network conditions.
Make the browser environment part of your workflow.
AdsCrawl Cloud Browser runs AdsPower fingerprint browsers, bringing native fingerprints and separate browser environments to cloud workflows.
Explore Cloud BrowserNative fingerprints
Real native browser fingerprints powered by AdsPower.
Isolated environments
Keep fingerprint settings and browser state separate for each profile.
Ongoing updates
Browser versions follow AdsPower fingerprint browser updates.