bellingcat / bellingcat/toolkit

Tool suggestion: AntiBrow - keeps each research profile's cookies, fingerprint and proxy separate at the engine level

Open
#899 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
JavaScript
Stars
646
Forks
114
Avg merge
4h 7m
Merged PRs (30d)
8

Description

Disclosure: I maintain AntiBrow. Submitting our own tool, and flagging upfront that part of it is not open source (details under Cost and Limitations).

**Name:** AntiBrow
**URL:** https://antibrow.com
**Docs:** https://antibrow.com/docs
**Source:** https://github.com/antibrow/antibrow (SDK, MIT)
**Suggested section:** Stay Safe, or Data Organization & Analysis - see the note at the end, I am not sure this fits the toolkit's scope and would rather ask than assume.
**Cost:** Free tier is unlimited local profiles with one concurrent browser, no account needed to start. Paid tiers price concurrency. The SDK is MIT; the browser kernel it downloads is closed source under separate terms.

## What it does

A Chromium fork where a browser profile is a persistent, isolated identity: its cookies, local storage and fingerprint configuration survive between runs, and each profile answers its own proxy inside the engine rather than through an extension or a system-wide setting. Several profiles can be open at once without sharing state.

It can be driven by hand, from TypeScript or Python through the Playwright API, or from a local MCP server when an agent is doing the work.

## Why it may be relevant to open source research

Research accounts are documented practice in this field - Bellingcat's own community has written about them, and so have SANS and OSINT Curious. The failure mode is not exotic: an investigator's research identity and personal identity end up sharing a cookie jar, a fingerprint, and a home IP address. The usual mitigations are a separate browser profile (shares the fingerprint and the IP), a separate VM (heavy, and one per identity gets expensive), or a VPN (system-wide, so all identities move together).

What this does instead is bind the isolation to the profile: profile A can sit on a residential exit in one country while profile B is on another, in the same session, with no shared storage between them. Timezone and locale follow the exit rather than the host machine, which is the inconsistency that most often gives a research account away.

## Relationship to what the toolkit already lists

I went through the 337 tool pages in this repository and did not find a browser or a profile-isolation tool among them - the nearest material is the Stay Safe resources section, which is guidance rather than tooling. So this is not a duplicate of anything listed, but it may be outside the scope you have drawn on purpose.

## Limitations, and what it does not do

- It does not make any site accept an automated session, and it does not defeat account verification. Platforms that want a phone number still want a phone number.
- The kernel is closed source. For a toolkit aimed at investigators that is a real limitation and I am not going to argue around it: you can read and audit the SDK, not the engine.
- Fingerprint control reduces cross-profile correlation; it does not make a profile anonymous. Behaviour and request timing remain identifying, and for adversarial situations Tor Browser's approach - everyone looking identical - is a different and often better threat model than everyone looking distinct.
- Same category of dual-use as several tools already in the toolkit: the same isolation that keeps an investigator's identities apart can be used to run many accounts on a platform that forbids it. We do not sell it for that and our docs do not teach it, but it would be dishonest to pretend the capability is one-directional.

## If this is out of scope

If the toolkit deliberately excludes browsers and opsec tooling, or excludes anything with a closed component, just close this - a no is a useful answer and I would rather have it than a maybe.

Contributor guide

Open the contributing guide

Research direction

Review the existing Stay Safe and Data Organization & Analysis tool pages, along with the repository’s existing tool pages, to understand their structure and scope. Confirm whether browser or opsec tools and closed-source kernels fit the toolkit; done means recording a clear accept-or-close decision and, if accepted, identifying the appropriate section for AntiBrow.

Written by the indexing model from the issue text.

Assessment

Tech stack
playwright, python, typescript
Domain
documentation
Issue type
Documentation
Difficulty
3/5
Estimated time
1-2 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
48/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.