Skip to content

Commit d809261

Browse files
committed
docs: describe the persona engine (capability overview)
What the persona engine does for users — unique coherent per-launch identities, native (no JS injection), zero-config, seed/country pinning. Deliberately WHAT, not HOW: the generator, calibration data, and engine-level delivery are core IP and are not part of the open distribution.
1 parent 3619183 commit d809261

1 file changed

Lines changed: 31 additions & 0 deletions

File tree

docs/PERSONA_ENGINE.md

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
# Fortress Persona Engine
2+
3+
Every Fortress launch presents a **unique, coherent, real-looking device** — a fresh fingerprint that looks like an ordinary person's machine, generated inside the browser engine before any page script runs.
4+
5+
This page describes *what* the persona engine does. The generator, its calibration data, and the engine-level delivery are Fortress's core technology and are not part of the open distribution.
6+
7+
## What you get
8+
9+
- **A different identity every launch.** No two sessions share a fingerprint by default, so sites can't link your sessions to one operator. The identity space is effectively unlimited.
10+
- **Coherent, not random.** The *whole* device agrees with itself — GPU, screen, CPU/RAM, user-agent, timezone, language and fonts are mutually consistent, and impossible combinations never occur. Detectors that cross-check one surface against another find nothing out of place.
11+
- **Real, not exotic.** Personas are drawn to match the *actual* population of real browsers, so each one blends into the crowd instead of standing out as unusual.
12+
- **Native — no JavaScript injection.** Values are correct at the C++ engine level before a single line of page script executes. There are no wrapped functions or shimmed prototypes to catch, so native-integrity checks (`toString`, descriptors, prototype chains) pass by construction — including inside Web Workers and nested frames.
13+
- **Zero-config.** A bare launch just works. Optionally pin a seed for a reproducible sticky identity, or pin a country so the persona's geo matches your proxy exit.
14+
15+
## Behavior
16+
17+
| Launch | Result |
18+
|---|---|
19+
| bare (no flags) | a fresh coherent persona, **different every time** |
20+
| pinned seed | the **same** persona every time — a stable, reproducible identity |
21+
| pinned country | timezone / language / fonts match that country; everything else stays seed-driven |
22+
23+
Nothing about the persona is exposed on the process command line, and no host-machine value ever leaks through.
24+
25+
## Why it stands out
26+
27+
Most stealth tooling randomizes fingerprints per-surface, which produces *individually plausible but jointly impossible* devices — a signal in itself. Fortress generates each persona as a **whole coherent machine calibrated to real-world data**, with a very large identity space and reproducible sticky identities when you want them. Because everything happens in the compiled engine, it is a **real browser**, not an instrumented one.
28+
29+
## Using it
30+
31+
Fortress is a drop-in for Playwright / Puppeteer — connect to its CDP endpoint and drive it exactly as you would Chrome. See the SDK in [`sdk/`](../sdk) and the project [README](../README.md). The persona engine is always on; you don't configure it unless you want a pinned seed or country.

0 commit comments

Comments
 (0)