Skip to main content

invisible_core

Pure config for a patched Firefox stealth profile - zero Playwright dependency.

seed → fingerprint profile → Firefox prefs, plus patched-binary download, proxy config, geo/timezone resolution, and invisible_core.juggler: the client that drives the engine over its own protocol, with the human input rhythm, which every wrapper below shares instead of carrying a copy. Importing it does not start a browser, which is the point: the same fingerprint config backs an automation wrapper and, through it, an MCP server, without either depending on the other.

(It backed a desktop profile manager too, until that repository was deleted on 2026-08-18. The package it published, invisible-firefox, is still on PyPI.)

The shared foundation used by:

And through it, for anyone who would rather prompt than script:

The engine itself lives in firefox_antidetect_patch, a Firefox patched at the C++ source level so the fingerprint is produced by the browser instead of injected into the page.

uv add invisible-core
from invisible_core import generate_profile, translate_profile_to_prefs, ensure_binary

profile = generate_profile(seed=42)          # deterministic Bayesian fingerprint
prefs   = translate_profile_to_prefs(profile)  # dict of Firefox user prefs
binary  = ensure_binary()                     # path to the patched Firefox binary

Same seed → same fingerprint, every time.

What the fields actually mean

Which surfaces a browser fingerprint is made of, what each one gives away, and why consistency between them matters more than any single value, is written up at the invisible_playwright wiki. Those pages are about the problem, not about this package, and several of them record something we got wrong first. A few that document the exact fields this package generates:


ci

Metadata

Release files for invisible-core 49.45.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for invisible-core 49.45.0
File Size Uploaded
invisible_core-49.45.0.tar.gz 1.4 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for invisible-core 49.45.0
File Interpreter ABI Platform
invisible_core-49.45.0-py3-none-any.whl Python 3 none any Details

Total release size: 2.5 MB

Release files / invisible_core-49.45.0.tar.gz

Download URL invisible_core-49.45.0.tar.gz
Size 1.4 MB
Tags Source
SHA-256 checksum
How to use checksums
641ae0ca5127c4ea5838ca39d789a8818e51da36703960c327cddfb381d27e96
BLAKE2b-256 checksum
How to use checksums
66841975d6bbe21b0587702f9a14faa4eb8c81835d800accf72cf31163fe66a1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.12.15

Release files / invisible_core-49.45.0-py3-none-any.whl

Download URL invisible_core-49.45.0-py3-none-any.whl
Size 1.0 MB
Tags Python 3
SHA-256 checksum
How to use checksums
841c28b14858e9869a23019faf613d9ae42b0c8a8332e9030bc45273466a7292
BLAKE2b-256 checksum
How to use checksums
ccc74379c246b2a627bb51653576a77397a05f219cc141d5650ec47017bdbc8c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.12.15

Release history Release notifications | RSS feed

This release

49.45.0 This release

2 release files

18.9.0

2 release files

18.8.0

2 release files

18.7.0

2 release files

18.6.0

2 release files

18.5.0

2 release files

18.4.0

2 release files

18.3.0

2 release files

18.2.0

2 release files

18.1.0

2 release files

18.0.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page