Skip to main content
A fingerprint is the set of browser and device properties a website can observe. Surfsky generates each profile’s fingerprint from data collected on real devices: GPU and WebGL parameters, OS-specific screens and fonts, and compatible CPU and memory combinations. Selection is weighted toward common hardware. Use the defaults unless the task requires a specific device or setting. A one-time profile can omit fingerprint entirely; the default OS is Windows. A persistent profile needs fingerprint.os.

When to override

Set the OS or device required by your task:
Setting one field does not adjust the others. A user agent alone does not change the GPU, screen, or Client Hints. If you set several fields, make sure the OS, hardware, screen, and user agent describe the same kind of device. An inconsistent set can fail validation or browser startup.

Chrome version

Surfsky updates its browser build on Chrome’s release schedule. Generated user agents, Client Hints, and other version-dependent fingerprint fields update with the browser for both one-time and persistent profiles. The generated user agent uses Chrome’s reduced form, Chrome/<major>.0.0.0. A custom user_agent stays fixed across browser updates. If you set one, keep its major version aligned with the engine; Client Hints use the version from that value.

Fields

The OS and Android device fields are selected at creation; the profile update endpoint accepts a smaller set of fingerprint fields.

Accepted values

Look up renderer, screen, and Android model values before supplying them:
The fingerprint reference describes query filters for these lists.

Fields that follow the IP

When unset, timezone, languages, and geolocation are derived from the exit IP at each start. The IP lookup supplies the timezone and coordinates, and the country determines the languages. These values update when a persistent profile changes proxy location. Explicit values remain fixed when the proxy changes. For example, timezone: "Europe/Berlin" still reports Berlin with a US exit IP. Use overrides when your task requires that difference.

Canvas and WebGL

Canvas and WebGL fingerprinting scripts render an image and hash its pixels. The result depends on the GPU and driver, so devices with the same hardware can share a hash. Sites can also compare it with the reported renderer. For the fingerprinting scripts used by Akamai, ThreatMetrix, Cloudflare, Google, and similar services, Surfsky returns canvas and WebGL images recorded on a real machine with the profile’s GPU. The images match the reported renderer and remain the same across sessions. No configuration is required. Canvases outside those scripts render as in stock Chrome. WebGPU is enabled, and its adapter information describes the same GPU as WebGL. You can check it on the browserleaks WebGPU page.

Noise

Noise applies a per-profile adjustment to an API’s output, changing the resulting fingerprint hash. The adjustment is generated once and reused on every start. Different profiles can still produce the same hash, as can real devices. noise is off by default on desktop profiles. Android profiles use a fixed preset; a noise object sent for Android is ignored. Leave noise off unless a site links your profiles by one of these hashes. Test the target site before changing it on an existing profile, since a changed hash can affect device recognition. Disabling a noise setting discards its adjustment. Enabling it again generates a new adjustment and hash for that API without recreating the profile.

Persistent profiles

A persistent profile keeps its fingerprint between starts. Update it while it is stopped if you need to change its settings. os, os_arch, and os_version are fixed for the life of the profile; create a new one for a different OS. On a desktop profile you can change user_agent, screen, cpu, ram, renderer, media_devices, noise, and the connection fields (languages, timezone, geolocation, dns, webrtc). On an Android profile only the connection fields and user_agent take effect; hardware fields are ignored. Changing hardware fields changes the device fingerprint even when cookies are restored. Updating renderer also changes the WebGL preset and recorded canvas images. Keep it stable unless the account needs a different device. See Sessions for profile creation and Cookies for login persistence.

Mobile

Use os: "android" for an Android profile:
To specify a model, choose one from GET /fingerprint/device_models. device_model and device_type are accepted only with Android. Use a matching device type and screen instead of combining a phone model with desktop settings. An Android profile always reports one microphone, one speaker, and front and back cameras. media_devices is ignored for it.