Skip to content

Commit b5ba27d

Browse files
committed
docs: add --bot-time-seed documentation, changelog 2026-03-04, value range and per-context cross-links
1 parent 462ee47 commit b5ba27d

9 files changed

Lines changed: 32 additions & 6 deletions

ADVANCED_FEATURES.md

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -254,23 +254,31 @@ Comprehensive hardware emulation and fingerprint management.
254254

255255
## Deep System Integration
256256

257+
<a id="performance-timing-protection"></a>
258+
259+
**Performance Timing Protection** (ENT Tier2): Every device has a unique "speed signature": how fast it renders a Canvas path, compiles a WebGL shader, or measures a font. Tracking systems collect these execution times to build a hardware-level fingerprint. When multiple browser instances share the same hardware, their timing profiles are identical, making them vulnerable to correlation. [`--bot-time-seed=<integer>`](CLI_FLAGS.md#behavior--protection-toggles) (valid range: 1–UINT32_MAX, `0` = disabled) protects each instance with its own stable performance profile across 27 browser operations.
260+
261+
> `--bot-time-seed` varies actual operation execution speeds (the workload). `--bot-time-scale` compresses `performance.now()` intervals globally (the clock). They protect against different tracking vectors and can be used together.
262+
257263
<details>
258264
<summary><strong>Full details: Deep System Integration</strong></summary>
259265

260266
### Precise FPS Simulation (ENT Tier2)
261267

268+
- Frame rate control via [`--bot-fps`](CLI_FLAGS.md#behavior--protection-toggles): `profile` (use profile data), `real` (native rate), or a number (e.g., `60`)
262269
- requestAnimationFrame delay matching target FPS
263270
- Emulate target refresh rates (60Hz, 120Hz, 144Hz, etc.)
264271
- Simulate high-FPS macOS behavior on Ubuntu hosts (Ubuntu requires ENT Tier1)
265272
- Authentic vsync and frame timing patterns
266-
- Runtime timing scaling via [`--bot-time-scale`](CLI_FLAGS.md#behavior--protection-toggles) to compress `performance.now()` deltas
267273

268274
### Performance Fingerprint Controls
269275

270276
- Realistic memory allocation patterns and garbage collection timing
271277
- IndexedDB, localStorage, and Cache API response timing
272278
- JavaScript execution timing and WebAssembly performance simulation
273279
- Deterministic noise seeds via [`--bot-noise-seed`](CLI_FLAGS.md#behavior--protection-toggles) (ENT Tier2) to stabilize noise distributions across sessions
280+
- Performance timing protection via [`--bot-time-seed`](CLI_FLAGS.md#behavior--protection-toggles) (ENT Tier2): deterministic execution timing diversity across 27 browser operations (see above)
281+
- Runtime timing scaling via [`--bot-time-scale`](CLI_FLAGS.md#behavior--protection-toggles) (ENT Tier2) to compress `performance.now()` deltas
274282

275283
### Extended Media Types & WebCodecs APIs
276284

CHANGELOG.md

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,17 @@
33
> **Research scope:** Entries in this changelog describe features evaluated in authorized labs and defensive benchmarking programs. Follow the [Legal Disclaimer](DISCLAIMER.md) and [Responsible Use Guidelines](RESPONSIBLE_USE.md). We work with security vendors to investigate any misuse, so report concerns to [support@botbrowser.io](mailto:support@botbrowser.io).
44
55

6+
## [2026-03-04]
7+
### New
8+
- **Performance Timing Protection (`--bot-time-seed`)** (ENT Tier2): Protects against performance fingerprinting and timing-based tracking. `--bot-time-seed=<integer>` (1–UINT32_MAX, `0` = disabled) produces authentic, deterministic timing diversity across 27 browser operations (Canvas, WebGL, Audio, Font, DOM, and more), giving each instance a unique and stable performance profile.
9+
10+
### Improvements
11+
- **Startup Performance**: Faster browser startup and profile loading, especially on lower-spec machines.
12+
13+
### Fixes
14+
- **Sub-Pixel Border Rendering Consistency**: Sub-pixel border measurements now return correct `offsetHeight` values matching the target profile's display density, including Retina and high-DPI configurations across all host environments.
15+
16+
617
## [2026-03-01]
718
### Major
819
- **Chromium Core → 146.0.7680.31**: Updated the engine to Chrome 146 early release (146.0.7680.31) to stay ahead with the latest Chrome development. This maintains Web Platform parity, rendering consistency, and security patches with upstream.

CLI_FLAGS.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -398,6 +398,7 @@ Runtime toggles that don’t rely on profile `configs` but still override behavi
398398
- `--bot-noise-seed` (ENT Tier2): Float seed (1.0–1.2) for the deterministic noise RNG; each seed augments privacy variance across Canvas 2D/WebGL/WebGPU images, text metrics, HarfBuzz layout, ClientRect measurements, and offline audio hashes so you can treat a seed as a reproducible fingerprint ID per tenant while keeping runs stable.
399399
- `--bot-fps` (ENT Tier2): Control frame rate behavior at runtime. Accepts `profile` (use profile data, default when capable), `real` (use native frame rate), or a number (e.g., `60`).
400400
- `--bot-time-scale` (ENT Tier2): Float < 1.0; scales down `performance.now()` intervals to emulate lower load and reduce timing skew signals (typical range 0.80–0.99)
401+
- `--bot-time-seed` (ENT Tier2): Integer seed (1–UINT32_MAX) for deterministic execution timing diversity across 27 browser operations (Canvas, WebGL, Audio, Font, DOM, and more). `0` disables the feature (default). Each seed produces a unique, stable performance profile that protects against timing-based tracking.
401402

402403
Example tracking probe BotBrowser avoids when console forwarding stays disabled:
403404

@@ -499,7 +500,8 @@ chromium-browser \
499500
chromium-browser \
500501
--bot-profile="/absolute/path/to/profile.enc" \
501502
--bot-time-scale=0.92 \ # ENT Tier2 feature
502-
--bot-noise-seed=1.07 # ENT Tier2 feature
503+
--bot-time-seed=42 \ # ENT Tier2 feature, deterministic timing diversity
504+
--bot-noise-seed=1.07 # ENT Tier2 feature
503505
```
504506

505507
### Custom User-Agent with WebView (ENT Tier3)

PER_CONTEXT_FINGERPRINT.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -298,7 +298,7 @@ Most `--bot-*` flags from [CLI_FLAGS.md](CLI_FLAGS.md) work with per-context con
298298
|----------|---------------|
299299
| Profile | `--bot-profile` (load a completely different profile per context) |
300300
| Noise Seed | [`--bot-noise-seed`](CLI_FLAGS.md#behavior--protection-toggles) for deterministic fingerprint variance |
301-
| Timing | [`--bot-time-scale`](CLI_FLAGS.md#behavior--protection-toggles) for performance timing control, [`--bot-fps`](CLI_FLAGS.md#behavior--protection-toggles) for frame rate control |
301+
| Timing | [`--bot-time-scale`](CLI_FLAGS.md#behavior--protection-toggles) for performance timing control, [`--bot-time-seed`](ADVANCED_FEATURES.md#performance-timing-protection) for deterministic timing diversity, [`--bot-fps`](CLI_FLAGS.md#behavior--protection-toggles) for frame rate control |
302302
| WebRTC | [`--bot-webrtc-ice`](ADVANCED_FEATURES.md#webrtc-leak-protection) for ICE endpoint control |
303303
| Window | [`--bot-always-active`](ADVANCED_FEATURES.md#active-window-emulation) to maintain active window state |
304304
| Session | `--bot-inject-random-history` for session authenticity |

README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -138,6 +138,7 @@ Examples: [Playwright](examples/playwright/) • [Puppeteer](examples/puppeteer/
138138
| AudioContext noise calibration | [Multi-Layer Noise](ADVANCED_FEATURES.md#multi-layer-fingerprint-noise) |
139139
| Text metrics & ClientRects noise | [Multi-Layer Noise](ADVANCED_FEATURES.md#multi-layer-fingerprint-noise) |
140140
| Deterministic noise seeds (reproducible per-tenant) | [--bot-noise-seed](CLI_FLAGS.md#behavior--protection-toggles) |
141+
| Performance timing protection (27 browser operations) | [Performance Timing Protection](ADVANCED_FEATURES.md#performance-timing-protection) |
141142
| Cross-platform font engine (Win/Mac/Android) | [Font Engine](ADVANCED_FEATURES.md#cross-platform-font-engine) |
142143
| GPU simulation on headless servers | [Headless Compatibility](ADVANCED_FEATURES.md#headless-incognito-compatibility) |
143144

profiles/PROFILE_CONFIGS.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -180,6 +180,7 @@ These fields work together with `--user-agent` CLI flag. BotBrowser auto-generat
180180
| `fps` (ENT Tier2 feature) | Control frame rate behavior: `profile` (use profile data, default when capable), `real` (use native frame rate), or a number (e.g., `60`). | `profile` |
181181
| `timeScale` (ENT Tier2 feature) | Fractional scalar applied to `performance.now()` deltas to emulate lower CPU load and shorten observable intervals. Valid range `0 < value < 1`. | `1.0` |
182182
| `noiseSeed` (ENT Tier2 feature) | Floating seed (1.0–1.2) that deterministically shapes the noise applied to Canvas 2D/WebGL/WebGPU images, text metrics, HarfBuzz layout, ClientRects, and offline audio hashes so you can assign reproducible yet distinct fingerprints per tenant. | `auto` |
183+
| `timeSeed` (ENT Tier2 feature) | Integer seed (1–UINT32_MAX) for deterministic execution timing diversity across 27 browser operations (Canvas, WebGL, Audio, Font, DOM, etc.). `0` disables the feature. Each seed produces a unique, stable performance profile that protects against timing-based tracking. See [Performance Timing Protection](../ADVANCED_FEATURES.md#performance-timing-protection). | `0` (disabled) |
183184
184185
---
185186
@@ -294,6 +295,9 @@ These fields work together with `--user-agent` CLI flag. BotBrowser auto-generat
294295
"X-Custom-Header": "value"
295296
},
296297
298+
// timeSeed (ENT Tier2): deterministic execution timing diversity
299+
"timeSeed": 42,
300+
297301
// fps (ENT Tier2): frame rate control: "profile", "real", or a number (e.g., 60)
298302
"fps": "profile"
299303
}

profiles/canary/chrome146_android13.enc

Lines changed: 1 addition & 1 deletion
Large diffs are not rendered by default.

profiles/canary/chrome146_mac_arm64.enc

Lines changed: 1 addition & 1 deletion
Large diffs are not rendered by default.

profiles/canary/chrome146_win11_x64.enc

Lines changed: 1 addition & 1 deletion
Large diffs are not rendered by default.

0 commit comments

Comments
 (0)