Parameters & flags
Reach for the friendly SDK options first. Drop to raw flags only when you need a surface the options don't cover. Every flag is derived from, and stays consistent with, your seed.
SDK options
The launch() keyword arguments most people use.
| Option | Description |
|---|---|
seed | int. A stable, repeatable device. Omit for a fresh random identity each launch. |
platform | "windows" | "macos" | "linux". The OS persona (also picks a coherent seed range). |
proxy | Proxy URL or a named pool. Credentials are passed inline to the binary (no CDP auth leak). |
geoip | bool. Pin WebRTC IP + timezone + geolocation to the proxy exit for one coherent story. |
locale | Accept-Language + navigator.language(s). |
timezone | IANA timezone string; overrides the geoip-derived one. |
humanize | bool. Human-like input timing and motion via real Playwright input (no CDP tricks). |
license_key | Your Capium license key. Unlocks the always-latest stealth binary. |
Identity
One master seed derives a whole coherent device. Everything below stays internally consistent for that seed.
| Flag | Description |
|---|---|
--fingerprint=<seed>sdk: seed= | Master seed for the entire coherent device. off / false / none = passthrough (your real values, no spoofing). |
--fingerprint-platform=<windows|macos|linux>sdk: platform= | Spoofed OS persona. Rewrites navigator.platform, the User-Agent, and the UA-CH platform. |
--fingerprint-platform-version=<v> | UA-CH platformVersion (e.g. Windows 10.0.0 vs macOS 13.0.0). |
--fingerprint-brand=<name> | UA-CH brand entry (the browser brand list reported to sites). |
--fingerprint-brand-version=<v> | UA-CH brand version entry. |
--fingerprint-hardware-concurrency=<n> | navigator.hardwareConcurrency (reported CPU core count). |
--fingerprint-screen-width=<n> | screen.width. |
--fingerprint-screen-height=<n> | screen.height. |
--fingerprint-device-scale-factor=<f> | devicePixelRatio. |
--fingerprint-storage-quota=<bytes> | navigator.storage quota estimate. |
Rendering & noise
Per-seed, deterministic noise on the graphics surfaces so the same seed always renders the same way, and two seeds never collide.
| Flag | Description |
|---|---|
--fingerprint-noise=<true|false>sdk: noise= | Deterministic per-seed noise on canvas image data, measureText, and the audio stack. On by default. |
--disable-spoofing=<canvas,font,...> | Selectively turn off spoofing for named surfaces (comma-separated). |
--fingerprinting-canvas-image-data-noise | Fine-grained canvas toDataURL / getImageData noise (prefer --fingerprint-noise). |
--fingerprinting-canvas-measuretext-noise | Fine-grained canvas measureText noise. |
--fingerprinting-client-rects-noise | Fine-grained getClientRects / getBoundingClientRect noise. |
Fonts & voices
OS-specific text and speech surfaces, matched to the persona.
| Flag | Description |
|---|---|
--fingerprint-windows-font-metrics | Measure default text with Windows metrics for a Windows persona. Requires real Windows fonts on the host. |
--fingerprint-sapi-voices=<true|false> | Present the Windows SAPI voice list (speechSynthesis) for a Windows persona. |
Location, network & content
Align timezone, geolocation and the WebRTC exit IP to one coherent story, then keep pages lean.
| Flag | Description |
|---|---|
--timezone=<IANA>sdk: timezone= | In-browser timezone, e.g. America/New_York. |
--fingerprint-location=<lat,lon> | Geolocation API coordinates. |
--fingerprint-webrtc-ip=<ip|auto>sdk: geoip=True | The IP WebRTC reports. Pin it to your proxy exit. With geoip the SDK does this, and matches timezone + location, automatically. |
--fingerprint-allow-3p-cookies | Allow third-party cookies (some SSO and embedded-payment flows need them). |
--disable-ads | Built-in ad/tracker blocker with a login/captcha-safe allowlist. Cuts bandwidth without breaking flows. |
Raw flags
Pass any flag through args= for surfaces without a convenience option:
from capium import launch
browser = launch(
seed=200123,
args=[
"--fingerprint-hardware-concurrency=8",
"--fingerprint-screen-width=2560",
"--fingerprint-screen-height=1440",
],
)Command line
The SDK ships a small CLI. python -m capium status prints your license entitlements; python -m capium <url> launches a browser to a URL, configured by environment variables.
# License entitlements (plan, sessions_cap, live_sessions, period_end)
python -m capium status
# Launch a browser to a URL, configured by env vars
SEED=200123 PLATFORM=linux GEOIP=1 HUMANIZE=1 \
python -m capium https://fingerprint.com/demo/| Env var | Effect |
|---|---|
| SEED | Identity seed (integer). |
| PLATFORM | windows | macos | linux. |
| HEADLESS | 1 to run headless (headed is default and recommended). |
| PROXY | Proxy URL or named pool, e.g. dataimpulse. |
| GEOIP | 1 to align timezone/geo/WebRTC to the exit. |
| PROFILE | Directory for a persistent context. |
| HUMANIZE | 1 to enable human-like input. |
| CAPIUM_LICENSE_KEY | License key (else ~/.capium/license). |