Skip to content

Commit d4fa653

Browse files
committed
docs: tighten public privacy guidance
1 parent 53e200d commit d4fa653

9 files changed

Lines changed: 56 additions & 258 deletions

File tree

CLI_FLAGS.md

Lines changed: 4 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -240,8 +240,8 @@ To keep SOCKS5 proxying but avoid QUIC/HTTP/3, add the standard `--disable-quic`
240240

241241
<a id="pac-request-policy-ent-tier3"></a>
242242
<a id="pac-like-request-callback-ent-tier3"></a>
243-
### PAC-Like Request Callback (ENT Tier3)
244-
ENT Tier3 profiles can use trusted PAC scripts for request callback workflows while preserving standard PAC routing. Configure PAC through the standard `--proxy-pac-url` flag and keep the PAC source explicit.
243+
### PAC Request Policy (ENT Tier3)
244+
ENT Tier3 profiles can use trusted PAC scripts for request-aware policy while preserving standard PAC routing. Configure PAC through the standard `--proxy-pac-url` flag and keep the PAC source explicit.
245245

246246
<a id="flag-proxy-pac-url"></a>
247247

@@ -255,22 +255,9 @@ ENT Tier3 profiles can use trusted PAC scripts for request callback workflows wh
255255
--proxy-pac-url=http://127.0.0.1:8080/proxy.pac
256256
```
257257

258-
Standard `FindProxyForURL(url, host)` behavior remains available for normal routing. Approved profiles and trusted PAC sources can also define BotBrowser's request callback:
258+
Standard `FindProxyForURL(url, host)` behavior remains available for normal routing.
259259

260-
```javascript
261-
function BotBrowserFindProxyForRequest(url, host, method, headersB64, bodyB64, bodyState) {
262-
return "CONTINUE";
263-
}
264-
```
265-
266-
Supported callback results:
267-
268-
- Continue or stop: `CONTINUE`, `BLOCK`
269-
- Capture: `CAPTURE`, `CAPTURE_TAG <tag>`, `CAPTURE_FILE <path>`
270-
- Synthetic response: `RESPONSE <raw_http_response_b64>`, `RESPONSE_FILE <path>`
271-
- Standard PAC route: `DIRECT`, `PROXY`, `HTTPS`, `SOCKS`, `SOCKS4`, `SOCKS5`
272-
273-
PAC and callback routes can include credentials, for example `SOCKS5 user:pass@proxy.example.com:1080`. Capture records are written only when `CAPTURE` and `CAPTURE_FILE <path>` are returned together. Synthetic responses are limited to approved `file:` and `data:` PAC sources and fail closed when response input is invalid. See [PAC Request Policy](docs/guides/network/PAC_REQUEST_POLICY.md).
260+
The enterprise policy can apply approved request-aware routing and handling while standard PAC behavior remains available. Controlled response policy is limited to approved `file:` and `data:` PAC sources. See [PAC Request Policy](docs/guides/network/PAC_REQUEST_POLICY.md) for source requirements and deployment guidance.
274261

275262
Use this when request-aware policy should stay in PAC routing instead of CDP-level request interception, especially for workflows that need help preserving HTTP/2 connection and stream continuity while directing selected requests to different routes.
276263

docs/guides/deployment/PERFORMANCE_OPTIMIZATION.md

Lines changed: 5 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -65,27 +65,18 @@ BotBrowser performance is influenced by several factors:
6565

6666
BotBrowser ships two builds. **Standard Build** is the default public release and stays the right choice for long-running, interactive workflows. **Trimmed Build** is an ENT Tier3 distribution tuned for short-session, high-concurrency automation. Both share the same fingerprint protection model, profile format, CLI flag surface, and CDP commands; you do not change automation code when you switch.
6767

68-
The Linux x64 benchmark (400 official samples, `1..20 contexts × 10 repeats × 2 builds`) shows Trimmed Build versus Standard Build:
69-
70-
| Dimension | Trimmed delta | What it drives |
71-
|---|---:|---|
72-
| Wall time | **-61.85%** mean, **-67.79%** p95 | Total throughput per shift |
73-
| Per-context creation | **-85.32%** mean, **-87.51%** p95 | How fast a fleet can rotate contexts |
74-
| Per-context first nav | **-38.71%** mean | Time to first useful work in each context |
75-
| CPU peak | **-67.81%** mean | How many concurrent contexts a host can sustain |
76-
| PSS peak | **-31.25%** mean | Shared memory headroom under bursty load |
77-
| Success rate | unchanged at 100% | Stability and cleanup are not regressed |
68+
BotBrowser release testing compares Trimmed Build with Standard Build on context startup, first navigation, CPU load, and shared memory use. Trimmed Build reduces resource pressure for short-session workloads while retaining the same profile and automation interfaces.
7869

7970
Choose Trimmed Build when at least one of the following is true:
8071

81-
- **Context spin-up dominates wall time.** Short-session privacy testing, single-page consistency checks, and high-rotation per-context fleets. The `-85%` creation delta is the headline.
72+
- **Context spin-up dominates wall time.** Short-session privacy testing, single-page consistency checks, and high-rotation per-context fleets.
8273
- **CPU peak per context is the bottleneck.** Hosts already at high CPU utilization recover headroom directly.
83-
- **Shared memory (PSS/USS) is the binding constraint.** Memory-pressured hosts see `-31%` to `-38%` peak headroom returned.
74+
- **Shared memory is the binding constraint.** Memory-pressured hosts can recover headroom by using fewer browser processes.
8475
- **Workloads rotate through many identities per hour.** Each context lives seconds to minutes before the next identity takes over.
8576

8677
Stay on Standard Build when sessions are long-running and interactive, when the workload exercises the full browser feature surface, or when the host has plenty of CPU and memory headroom and per-context spin-up is not the bottleneck.
8778

88-
Trimmed Build is not on the public [Releases](https://github.com/botswin/BotBrowser/releases) page; it ships through the enterprise distribution channel. Product overview, engineering design, and FAQ: [TRIMMED_BUILD.md](../../../TRIMMED_BUILD.md). Full benchmark table and per-context matrix: [BENCHMARK.md#trimmed-build](../../../BENCHMARK.md#trimmed-build). Access: [Enterprise](https://botbrowser.io/enterprise/) or [Pricing](https://botbrowser.io/pricing/).
79+
Trimmed Build ships through the enterprise distribution channel. Product overview and compatibility notes: [TRIMMED_BUILD.md](../../../TRIMMED_BUILD.md). Access: [Enterprise](https://botbrowser.io/enterprise/) or [Pricing](https://botbrowser.io/pricing/).
8980

9081
---
9182

@@ -149,7 +140,7 @@ chromium-browser \
149140
--user-data-dir="$(mktemp -d)"
150141
```
151142

152-
`1:30` means video frames visually update near 1 FPS while media reporting uses 30 FPS. Pixel output follows the actual cadence, so choose a higher actual value when the workload samples video pixels frame by frame. For Per-Context Fingerprint, pass the flag in `botbrowserFlags` before creating pages in the context. See the [Video FPS benchmark](../../../BENCHMARK.md#video-fps-control).
143+
`1:30` means video frames visually update near 1 FPS while media reporting uses 30 FPS. Pixel output follows the actual cadence, so choose a higher actual value when the workload samples video pixels frame by frame. For Per-Context Fingerprint, pass the flag in `botbrowserFlags` before creating pages in the context.
153144

154145
### Reuse browser instances with multiple contexts
155146

docs/guides/fingerprint/CANVAS.md

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@ When a profile is loaded, BotBrowser uses its built-in font libraries and render
6767

6868
### Canvas Color Spaces
6969

70-
Chrome 150 keeps Canvas 2D protection active for standard and wide-gamut canvas color spaces, including `display-p3`. Color-space selection follows the page request while profile-backed replay and deterministic protection remain consistent with the session.
70+
BotBrowser 150.0.7871.46 keeps Canvas 2D protection active for standard and wide-gamut canvas color spaces, including `display-p3`. Color-space selection follows the page request while profile-backed protection remains consistent with the session.
7171

7272
---
7373

@@ -83,11 +83,7 @@ BotBrowser applies deterministic noise to all Canvas 2D output at the rendering
8383

8484
## Effect Verification
8585

86-
To verify protection is active:
87-
88-
1. Launch BotBrowser with a profile and visit a fingerprint testing site such as [BrowserLeaks](https://browserleaks.com/) or [CreepJS](https://abrahamjuliot.github.io/creepjs/).
89-
2. Confirm that the reported Canvas hash and image data match the profile configuration, not the host machine.
90-
3. To verify reproducibility, launch two sessions with the same `--bot-noise-seed` and confirm that the Canvas fingerprint output is identical.
86+
For a defensive consistency check, compare separate sessions that use the same BotBrowser build, profile, color-space policy, and noise seed. Repeat the authorized visual workflow on each supported host platform and review unexpected output differences before deployment.
9187

9288
---
9389

docs/guides/fingerprint/FONT.md

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -91,7 +91,7 @@ BotBrowser addresses cross-platform font consistency through built-in font libra
9191

9292
### FontFace and Fallback Behavior
9393

94-
Chrome 150 improves profile-backed font handling for `FontFace` local sources, request-by-name loading, and multilingual fallback. Windows-target profiles also keep their font renderer preferences with the active BrowserContext, including per-context sessions running on another host platform.
94+
BotBrowser 150.0.7871.46 improves profile-backed font handling for local font sources, request-by-name loading, and multilingual fallback. Windows-target profiles also keep their font renderer preferences with the active BrowserContext, including per-context sessions running on another host platform.
9595

9696
Keep `--bot-config-fonts=profile` when the profile font inventory and fallback policy should remain authoritative. Use `expand` only when the workflow intentionally allows host fallback beyond the profile bundle.
9797

@@ -101,11 +101,7 @@ Keep `--bot-config-fonts=profile` when the profile font inventory and fallback p
101101

102102
## Effect Verification
103103

104-
To verify protection is active:
105-
106-
1. Launch BotBrowser with a profile and visit a fingerprint testing site such as [BrowserLeaks](https://browserleaks.com/) or [CreepJS](https://abrahamjuliot.github.io/creepjs/).
107-
2. Confirm that the reported font list and text metrics match the profile configuration, not the host machine.
108-
3. To verify reproducibility, launch two sessions with the same `--bot-noise-seed` and confirm that the font measurement output is identical.
104+
For a defensive consistency check, compare separate sessions that use the same BotBrowser build, profile, locale, and noise seed. Repeat the authorized workflow on each supported host platform and record any visible layout differences.
109105

110106
---
111107

@@ -117,7 +113,7 @@ To verify protection is active:
117113
|---------|----------|
118114
| Font list shows host system fonts | Ensure `--bot-config-fonts=profile` is set. The `real` mode disables font protection. |
119115
| CJK text renders with missing glyphs | Verify the profile includes appropriate CJK fonts. Windows and macOS profiles include CJK support by default. |
120-
| A local FontFace name resolves differently across hosts | Use `--bot-config-fonts=profile` and a Chrome 150 profile package so local and request-by-name font handling follows the profile inventory. |
116+
| A local font name resolves differently across hosts | Use `--bot-config-fonts=profile` and a matching BotBrowser 150.0.7871.46 profile package so local and request-by-name font handling follows the profile inventory. |
121117
| Font metrics differ between headless and headful mode | Both modes should produce identical metrics with a profile loaded. Check that the same profile and flags are used. |
122118
| ClientRects values vary between sessions | Use `--bot-noise-seed` for reproducible measurements. Without a fixed seed, noise varies per session. |
123119

docs/guides/fingerprint/PERMISSIONS.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ Permission state follows the loaded profile together with the browser's normal s
3333

3434
Browser permission results are visible through web APIs, page capability checks, workers, and browser UI decisions. BotBrowser keeps these paths aligned with the selected browser and platform profile family.
3535

36-
Chrome 150 improves profile-backed permission mapping for launch profiles and per-context profiles. Permission queries and browser-side checks follow the active BrowserContext.
36+
BotBrowser 150.0.7871.46 improves profile-backed permission mapping for launch profiles and per-context profiles. Permission queries and browser-side checks follow the active BrowserContext.
3737

3838
For Per-Context Fingerprint, set the profile before creating the first page:
3939

docs/guides/fingerprint/STORAGE_QUOTA.md

Lines changed: 3 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -42,13 +42,12 @@ The default policy is `profile`: BotBrowser uses the active profile for storage
4242
--bot-js-heap-size-limit=real
4343
--bot-storage-quota=real
4444

45-
# Set explicit byte values
46-
--bot-js-heap-size-limit=4294967296
47-
--bot-storage-quota=10737418240
4845
```
4946

5047
`--bot-js-heap-size-limit` is applied to newly started sessions or contexts. Start a new browser session or create a fresh context when changing this value. `--bot-storage-quota` can be used at launch and in per-context flag workflows.
5148

49+
Approved enterprise profiles can also use explicit values supplied through managed deployment policy. Keep storage quota, JavaScript heap, and device memory settings aligned with the selected profile family. Contact enterprise support for profile-specific configuration.
50+
5251
---
5352

5453
<a id="what-botbrowser-controls"></a>
@@ -98,11 +97,7 @@ await page.goto("https://example.com");
9897
await browser.close();
9998
```
10099

101-
To verify storage and memory protection is active:
102-
103-
1. Launch BotBrowser with a profile and visit a fingerprint testing site such as [BrowserLeaks](https://browserleaks.com/) or [CreepJS](https://abrahamjuliot.github.io/creepjs/).
104-
2. Confirm that the reported storage quota and device memory values match the profile configuration, not the host machine.
105-
3. Launch a second session with the same profile and confirm identical values are reported.
100+
For a defensive consistency check, launch separate sessions with the same build, profile, proxy policy, and runtime settings. Compare the user-visible behavior recorded by your authorized test workflow. Repeat on each supported host platform before deployment.
106101

107102
---
108103

0 commit comments

Comments
 (0)