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 (ensure_binary, generate_profile, prepare_session_geo,
                            translate_profile_to_prefs)

profile = generate_profile(seed=42)        # deterministic Bayesian fingerprint
geo     = prepare_session_geo("auto", None)  # zone and language of the exit (here, this machine's public IP)
prefs   = translate_profile_to_prefs(profile, locale=geo.locale, timezone=geo.timezone)
binary  = ensure_binary()                   # path to the patched Firefox binary

Same seed → same fingerprint, every time. The timezone is required: a session without one would run on the host's own zone.

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 55.50.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 55.50.0
File Size Uploaded Provenance Actions
invisible_core-55.50.0.tar.gz 1.5 MB Without provenance Details for invisible_core-55.50.0.tar.gz

Built distribution (wheel)

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

Total release size: 2.6 MB

Release files / invisible_core-55.50.0.tar.gz

Download URL invisible_core-55.50.0.tar.gz
Size 1.5 MB
Tags Source
SHA-256 checksum
How to use checksums
11d0e208ad563f70bafcf8bee3f1d00fd0ebfe8de83d5f96f8890c18f31b01d3
BLAKE2b-256 checksum
How to use checksums
e8c6e168853492fabd92cf9dc619712ea1f17c5bbe266464f3a048fdaf276434
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-55.50.0-py3-none-any.whl

Download URL invisible_core-55.50.0-py3-none-any.whl
Size 1.1 MB
Tags Python 3
SHA-256 checksum
How to use checksums
0209514bc407154c106f4ac34c72da5c7ac1a2e364df409d26ce3505e26184e8
BLAKE2b-256 checksum
How to use checksums
7712a7b080ba35753691db595fb37387aa0baa5fba5cf4c91c23252235f6881f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.12.15

Security for invisible-core 55.50.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

55.50.0 This release

2 release files No provenance

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