# Apostate - [Apostate: Chromium with Full Machine Identity Spoofing](https://docs.apostate.dev/introduction.md): Learn how Apostate's 134 C++ patches present a full machine fingerprint — GPU, fonts, screen, voices, locale — with no detectable JavaScript injection. - [Install Apostate: Python (pip) and Node.js (npm) Setup](https://docs.apostate.dev/installation.md): Install Apostate with pip or npm on Linux x64/arm64, macOS arm64, or Windows x64. The patched Chromium binary downloads and self-verifies on first launch. - [Apostate Quickstart: Launch a Spoofed Browser Session](https://docs.apostate.dev/quickstart.md): Go from install to a verified spoofed session in under 5 minutes: launch with a seed, route through a proxy, and inspect every spoofed navigator value. - [How Apostate Defeats Browser Fingerprinting at C++ Level](https://docs.apostate.dev/concepts/fingerprinting.md): Understand how Apostate patches Chromium at the C++ level to present a consistent, undetectable browser fingerprint — no JavaScript injection required. - [Machine Personas: Windows, macOS, and Linux Identities](https://docs.apostate.dev/concepts/personas.md): A persona defines the operating system identity Apostate presents: its platform string, GPU family, system fonts, speech voices, and screen layout. - [Fingerprint Seeds: Deterministic Machine Identities](https://docs.apostate.dev/concepts/seeds.md): A fingerprint seed is an integer that deterministically selects a machine identity. The same seed yields identical signals on every host and every launch. - [Apostate Python SDK — Install, Launch, and Automate](https://docs.apostate.dev/guides/python.md): Install apostate with pip, call launch() with a fingerprint seed and platform, then drive pages with the full Playwright-compatible API. - [Apostate Node.js SDK — Install, Launch, and Automate](https://docs.apostate.dev/guides/node.md): Install @heretic-tech/apostate with npm, call launch() with a fingerprint seed and platform, then drive pages with the Playwright async/await API. - [Route Apostate Browser Traffic Through a Proxy Server](https://docs.apostate.dev/guides/proxies.md): Pass a SOCKS5 or HTTP proxy to Apostate's launch function. Timezone and locale are derived automatically from the proxy exit node's geography. - [Persist Cookies and Fingerprint Across Apostate Sessions](https://docs.apostate.dev/guides/persistent-profiles.md): Pass user_data_dir or userDataDir to launch() to retain cookies, localStorage, and a stable machine fingerprint across Apostate browser sessions. - [Deploy Apostate Headless on Linux x64 and arm64](https://docs.apostate.dev/guides/headless-servers.md): Run Apostate headless on Linux x64 or arm64 with no GPU and no display server. No Xvfb required — the patched Chromium binary handles it natively. - [Apostate launch() Options Reference — Python and Node.js](https://docs.apostate.dev/configuration/launch-options.md): All options for Apostate's launch() in Python and Node.js: fingerprint seed, platform, proxy routing, persistent profile, and Playwright passthrough. - [Apostate CLI Flags: --fingerprint and --fingerprint-explain](https://docs.apostate.dev/configuration/cli-flags.md): Run the Apostate Chromium binary directly with --fingerprint, --fingerprint-platform, and --fingerprint-explain to control and inspect machine identity. - [Apostate Known Gaps: anti_detect_browser and Linux Anomaly](https://docs.apostate.dev/configuration/known-gaps.md): Two known gaps remain in Apostate's fingerprint coverage: the anti_detect_browser FingerprintJS signal on Windows personas and anomaly 1 on Linux personas. - [apostate.launch() — Python SDK API Reference Guide](https://docs.apostate.dev/api/python/launch.md): API reference for apostate.launch() in Python. Pass a fingerprint seed, platform, proxy, and headless flag. Returns a Playwright-compatible Browser. - [Browser Object — Apostate Python SDK Reference](https://docs.apostate.dev/api/python/browser.md): The Browser object returned by apostate.launch(). Extends Playwright's Browser with Apostate-specific properties. Use new_page() to open pages. - [Page Object — Apostate Python SDK Full API Reference](https://docs.apostate.dev/api/python/page.md): The Page object in Apostate's Python SDK is a standard Playwright Page. Navigate, interact, and evaluate JavaScript using the full Playwright Page API. - [launch() — Apostate Node.js SDK: Full API Reference](https://docs.apostate.dev/api/node/launch.md): API reference for launch() in @heretic-tech/apostate. Pass a fingerprint seed, platform, proxy, headless, and userDataDir. Returns a Browser. - [Browser Object — Apostate Node.js SDK API Reference](https://docs.apostate.dev/api/node/browser.md): The Browser object returned by launch() in @heretic-tech/apostate. Extends Playwright's Browser with Apostate properties. Use newPage() to open pages. - [Page Object — Apostate Node.js SDK Reference Guide](https://docs.apostate.dev/api/node/page.md): The Page object in Apostate's Node.js SDK is a standard Playwright Page. Navigate, interact, and evaluate JavaScript with the full Playwright Page API.