The Three Pillars of Nothing β
The Nothing ecosystem consists of three distinct products, each serving a different use case β all sharing the same core engine.
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β NOTHING ECOSYSTEM β
βββββββββββββββββββββββββββββββ¬ββββββββββββββββββββββββββββββ¬ββββββββββββββββββ€
β NOTHING BROWSER β NOTHING PRIVATE BROWSER β PIGGY β
β (UI Desktop) β (Privacy Focus) β (Scraper Lib) β
βββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββΌββββββββββββββββββ€
β β’ Full DevTools baked in β β’ Zero telemetry β β’ Headless β
β β’ Network/WS/Storage β β’ Zero session persistence β β’ TypeScript β
β β’ One-click export β β’ Fingerprint spoofing β β’ RPC via β
β β’ YouTube tab β β’ WebRTC leak protection β exposeFunctionβ
β β’ Plugin system β β’ UA-CH spoofing β β’ Intercept APIβ
β β’ Auto-update β β’ No black boxes β β’ Multi-site β
β β’ Session management β β’ Tor routing (planned) β β’ Human mode β
βββββββββββββββββββββββββββββββ΄ββββββββββββββββββββββββββββββ΄ββββββββββββββββββ
β
βΌ
βββββββββββββββββββββββββ
β Qt6 WebEngine Core β
β β’ Real BoringSSL TLS β
β β’ Chromium engine β
β β’ DocumentCreation β
β injection β
βββββββββββββββββββββββββWhen to Use Which β
| Use Case | Recommended Product |
|---|---|
| Reverse engineering an API | Nothing Browser (UI) |
| Building an automated scraper | Piggy |
| Anonymous browsing | Nothing Private Browser |
| Testing bot detection | Nothing Browser + Piggy |
| Researching WebSocket protocols | Nothing Browser (UI) |
| Production scraping pipeline | Piggy |
| Privacy-focused daily browsing | Nothing Private Browser |
| Learning how browsers work | Nothing Browser (source) |
Pillar 1: Nothing Browser (UI) β
A full-featured desktop browser with developer tools baked in. Everything is captured automatically β no need to open DevTools at the right moment.
Key Features β
| Feature | What It Does |
|---|---|
| NETWORK tab | Every HTTP request/response with Firefox-style header view |
| WS tab | Every WebSocket frame, direction-tagged, JSON auto pretty-printed |
| COOKIES tab | Every cookie with the exact request that set it |
| STORAGE tab | localStorage and sessionStorage writes in real time |
| EXPORT tab | Python, curl_cffi, cURL, JavaScript fetch, raw HTTP |
| YOUTUBE tab | YouTube without API keys (via NewPipe Extractor) |
| PLUGINS tab | Community JS plugins installed in-browser |
| TECH HOUSE tab | Auto-updates, changelog, version info |
Best For β
- API reverse engineering
- Understanding how web apps work
- Capturing authentication flows
- Researching WebSocket protocols
Pillar 2: Nothing Private Browser β
A privacy-first browser that leaves no traces. Zero telemetry. Zero session persistence.
Key Features β
| Feature | What It Does |
|---|---|
| Zero telemetry | No analytics, no phoning home |
| Zero session persistence | Cookies, cache, storage wiped on close |
| Fingerprint spoofing | Randomised Chrome UA, hardware, WebGL |
| WebRTC leak protection | STUN servers stripped from ICE config |
| UA-CH spoofing | navigator.userAgentData and getHighEntropyValues() |
Coming Soon β
- Ad blocker (network-level, filter-list based)
- Tor routing β optional onion routing, one toggle
- ProtonVPN support β import
.ovpnor WireGuard config
Best For β
- Anonymous browsing
- Privacy research
- Testing tracking prevention
- Daily browsing without data collection
Pillar 3: Piggy β Scraper Library β
A Bun + TypeScript library that controls the Nothing Browser binary. Write scrapers in TypeScript, run them headlessly.
Quick Example β
import piggy from "nothing-browser";
await piggy.launch({ mode: "tab" });
await piggy.register("books", "https://books.toscrape.com");
await piggy.books.navigate();
const books = await piggy.books.evaluate(() =>
Array.from(document.querySelectorAll(".product_pod")).map(el => ({
title: el.querySelector("h3 a")?.getAttribute("title"),
price: el.querySelector(".price_color")?.textContent
}))
);
console.log(books);
await piggy.close();Key Features β
| Feature | Description |
|---|---|
| π₯ exposeFunction | Call Node.js from browser JS (RPC) |
| π§ exposeAndInject | Expose + inject in one call |
| π‘ intercept.respond | Serve custom responses to network requests |
| π― intercept.modifyResponse | Modify responses on the fly |
| πΎ Session persistence | Save/load cookies, storage, state |
| π Multi-site parallel | Control multiple tabs simultaneously |
| π§ Human mode | Random delays, typos, natural patterns |
| π Built-in API server | Turn your scraper into an API |
Best For β
- Automated web scraping
- Bot development
- API testing
- Production scraping pipelines
Shared Core Technology β
All three products share the same underlying technology:
Qt6 WebEngine β
- Full Chromium rendering engine
- Real BoringSSL TLS stack (same as Chrome)
- QWebEngineScript injection at DocumentCreation
Chrome-Identical TLS β
| Fingerprint Layer | Verdict |
|---|---|
| JA3 | Chrome-identical |
| JA4 | Chrome-identical |
| Akamai HTTP/2 | Chrome-identical |
Fingerprint Spoofing β
Real machine values are used as the base. Only noise is added on top β the same approach as Brave Browser, but implemented at DocumentCreation phase.
// IdentityGenerator reads real values:
id.cpuCores = std::thread::hardware_concurrency();
id.ramGb = readFromProcMeminfo();
id.screenW/H = QGuiApplication::primaryScreen()->size();
id.timezone = QTimeZone::systemTimeZoneId();
id.canvasSeed = rng->generateDouble(); // random per session
id.audioSeed = rng->generateDouble(); // random per sessionThe Naming β
"Nothing" comes from the philosophy: the browser does nothing on its own. No telemetry. No phoning home. No hidden data collection. It simply does what you tell it to do.
"Piggy" is the scraper library β because it piggybacks on the browser binary. Also, the logo is a pink pig.
"Private" is self-explanatory.
Nothing Ecosystem Β· Ernest Tech House Β· Kenya Β· 2026