> ## Documentation Index
> Fetch the complete documentation index at: https://docs.zeus.agentspro.cn/llms.txt
> Use this file to discover all available pages before exploring further.

# Browser Fingerprint

> Customize and spoof browser fingerprints for anti-detection and privacy

Zeus Desktop provides comprehensive browser fingerprint management, allowing each profile to present a unique and consistent browser identity. This prevents websites from linking multiple profiles through fingerprint correlation.

## What is Browser Fingerprinting?

Browser fingerprinting is a technique websites use to identify and track users by collecting unique characteristics of their browser and device — even without cookies. These include:

* User-Agent string
* Screen resolution
* Installed fonts
* WebGL renderer information
* Canvas rendering patterns
* AudioContext output
* Hardware specifications (CPU cores, memory)
* Timezone and language

When two browser sessions share the same fingerprint, websites can determine they likely belong to the same user — defeating the purpose of separate profiles.

## Fingerprint Configuration

### Configurable Properties

| Category     | Property       | Description                     | Example                             |
| ------------ | -------------- | ------------------------------- | ----------------------------------- |
| **Basic**    | User-Agent     | Browser identification string   | `Mozilla/5.0 ... Chrome/120.0.0.0`  |
| **Basic**    | Platform       | Operating system identifier     | `Win32`, `MacIntel`, `Linux x86_64` |
| **Basic**    | Language       | Browser language preference     | `en-US,en;q=0.9`                    |
| **Basic**    | Timezone       | Geographic timezone             | `America/New_York`                  |
| **Screen**   | Resolution     | Screen dimensions               | `1920x1080`, `2560x1440`            |
| **Screen**   | Color Depth    | Display color depth             | `24`                                |
| **Screen**   | Pixel Ratio    | Device pixel ratio              | `1` or `2` (Retina)                 |
| **Advanced** | WebGL Vendor   | GPU vendor string               | `Intel Inc.`, `NVIDIA Corporation`  |
| **Advanced** | WebGL Renderer | GPU renderer string             | `Intel Iris OpenGL Engine`          |
| **Advanced** | Canvas Noise   | Deterministic canvas noise seed | Random integer                      |
| **Advanced** | Audio Noise    | Deterministic audio noise seed  | Random integer                      |
| **Hardware** | CPU Cores      | `navigator.hardwareConcurrency` | `4`, `8`, `12`, `16`                |
| **Hardware** | Device Memory  | `navigator.deviceMemory` (GB)   | `4`, `8`, `16`                      |

### Random Fingerprint Generation

Click the **"Generate Random Fingerprint"** button to instantly fill all fields with a realistic, internally consistent configuration.

The generator ensures consistency:

* A **Windows** User-Agent gets a `Win32` platform and Windows fonts
* A **macOS** User-Agent gets a `MacIntel` platform, `devicePixelRatio: 2`, and macOS fonts
* WebGL vendor/renderer combinations match the selected OS
* All values are drawn from pools of **real-world common configurations**

## How It Works

Zeus applies fingerprint overrides at two levels:

### Level 1: Chrome Launch Arguments

Applied before Chrome starts:

```
--user-agent="Mozilla/5.0 ... Chrome/120.0.0.0 Safari/537.36"
--lang=en-US
```

### Level 2: CDP (Chrome DevTools Protocol) Injection

Applied immediately after Chrome launches, via WebSocket connection to the CDP debug port:

```mermaid theme={null}
flowchart TB
    subgraph CDP["CDP Commands"]
        A["Network.setUserAgentOverride\n(UA + Platform + Languages)"]
        B["Emulation.setTimezoneOverride\n(Timezone)"]
        C["Emulation.setLocaleOverride\n(Language)"]
        D["Page.addScriptToEvaluateOnNewDocument\n(JS Anti-detection Script)"]
    end

    subgraph JSInjection["Injected JavaScript"]
        E["navigator.webdriver = undefined"]
        F["navigator.platform spoofing"]
        G["navigator.hardwareConcurrency spoofing"]
        H["navigator.deviceMemory spoofing"]
        I["navigator.plugins spoofing"]
        J["screen.width/height override"]
        K["Canvas noise injection"]
        L["WebGL vendor/renderer spoofing"]
        M["AudioContext noise injection"]
        N["window.chrome fix"]
        O["Font detection protection"]
    end

    CDP --> JSInjection
```

### Anti-detection Script Details

The injected script runs on **every new document** (including iframes) before any page JavaScript executes. Here's what each protection does:

#### navigator.webdriver Removal

```javascript theme={null}
Object.defineProperty(navigator, 'webdriver', { get: () => undefined });
delete Object.getPrototypeOf(navigator).webdriver;
```

Websites check `navigator.webdriver` to detect automation tools. This removes the flag completely.

#### Canvas Fingerprint Noise

Adds deterministic noise to Canvas API output. The noise is:

* **Deterministic** — Same seed always produces the same noise (consistent across page reloads)
* **Imperceptible** — Tiny pixel-level changes invisible to the eye
* **Unique** — Different seed = different fingerprint

This prevents canvas fingerprinting by making each profile produce distinct but consistent canvas output.

#### WebGL Spoofing

Overrides `WEBGL_debug_renderer_info` to report custom GPU vendor and renderer strings. This is one of the strongest fingerprint signals, as GPU information is highly device-specific.

#### AudioContext Noise

Injects deterministic noise into `AudioContext.createAnalyser()` output. Audio fingerprinting uses subtle differences in audio processing to identify devices.

#### Font Detection Protection

Intercepts font measurement queries to add consistent variations, preventing websites from enumenting your installed fonts.

## Consistency Guidelines

For maximum anti-detection effectiveness, ensure your profile settings are internally consistent:

| If you set...          | Then also set...                               | Why                                          |
| ---------------------- | ---------------------------------------------- | -------------------------------------------- |
| Windows UA             | `Win32` platform                               | UA/platform mismatch is an instant red flag  |
| macOS UA               | `MacIntel` platform, `devicePixelRatio: 2`     | Most Macs have Retina displays               |
| `en-US` language       | `America/New_York` timezone (or similar US tz) | Language-timezone mismatch looks suspicious  |
| `1920x1080` resolution | `devicePixelRatio: 1`                          | 1080p displays typically have 1x pixel ratio |
| Intel GPU              | Intel WebGL renderer                           | Mismatched GPU brands are detectable         |

<Tip>
  The **Random Generate** button automatically handles all consistency rules for you. It's recommended to start with a random generation and then fine-tune specific values if needed.
</Tip>

## Canvas & Audio Protection Toggles

The UI provides two easy switches:

* **Canvas Protection** — When enabled, injects deterministic noise into canvas operations. This makes your canvas fingerprint unique to this profile while remaining consistent across sessions.

* **Audio Protection** — When enabled, injects deterministic noise into AudioContext operations. Similar to canvas protection but for audio-based fingerprinting.

Both are **enabled by default** when generating a random fingerprint.

## Verifying Your Fingerprint

After launching a profile, you can verify its fingerprint using these websites:

| Tool             | URL                               | What it checks                       |
| ---------------- | --------------------------------- | ------------------------------------ |
| **BrowserLeaks** | `browserleaks.com`                | Comprehensive fingerprint analysis   |
| **CreepJS**      | `abrahamjuliot.github.io/creepjs` | Advanced anti-detection analysis     |
| **AmIUnique**    | `amiunique.org`                   | Fingerprint uniqueness score         |
| **Pixelscan**    | `pixelscan.net`                   | Bot detection and consistency checks |

## Troubleshooting

### Fingerprint Not Applied

1. Ensure the profile has fingerprint settings configured (check the config dialog)
2. Verify Chrome launched with the correct debug port (check logs)
3. CDP injection only works if Chrome started correctly — check for Chrome launch errors

### Website Still Detects Automation

1. Make sure `navigator.webdriver` is removed (check in DevTools console: `navigator.webdriver` should be `undefined`)
2. Verify `window.chrome` exists (some sites check for its absence)
3. Ensure all fingerprint values are consistent (see Consistency Guidelines above)
4. Some advanced detection may check for timing anomalies — fingerprint spoofing helps but isn't perfect against all detection methods

### Canvas/WebGL Test Shows Same Fingerprint

1. Ensure `canvasNoiseSeed` is different between profiles
2. Verify canvas protection is enabled in the profile settings
3. Close and relaunch the browser — fingerprint injection happens at launch time
