Seeds & personas

A seed is the master input that derives an entire coherent device: User-Agent, UA-CH, WebGL, canvas, audio, screen, hardware and more, all internally consistent. The same seed reproduces the same device every time.

Pick a seed in the right range

Each platform has a seed range. Choose a seed inside a range and the persona lines up automatically, or pass platform= explicitly.

PlatformSeed rangeplatform=
Windows10000 – 99999"windows"
macOS (Apple Silicon)100000 – 199999"macos"
Linux200000 – 299999"linux"

A repeatable device

seed.py
from capium import launch

# The same seed always reproduces the same device.
browser = launch(
    seed=200123,          # a specific, repeatable Linux device
    platform="linux",
)
page = browser.new_context().new_page()

A fresh identity each time

Leave seed out and Capium generates a new random identity per launch.

random.py
# Omit seed (or seed=None) for a fresh random identity each launch.
browser = launch(platform="windows")

Passthrough (debugging)

Passing seed="off" (also "false" or "none") disables spoofing entirely and reports your host's real values. Useful to isolate whether an issue is the persona or the target. See the parameter reference.

passthrough.py
# seed="off" disables spoofing entirely and reports your real values.
browser = launch(seed="off")   # debugging only

Reuse at scale

  • One account, one seed. Keep a stable seed (and a persistent profile and sticky proxy) per identity you maintain, so the device looks the same every visit.
  • Spread fresh work. For one-off, high-volume jobs, use distinct seeds so sessions don't share a single canvas/audio hash. Two different seeds never collide.
  • Match the host. Prefer running a persona on a matching-OS host (a Windows persona on Windows); cross-OS rendering can surface tells. See What Capium patches.