Skip to content

Nothing Private Browser ​

A privacy-first browser built on Qt6 + Chromium WebEngine. No telemetry, no session persistence, no black boxes β€” just a browser that actually respects you.


Overview ​

Nothing Private Browser is the privacy-focused sibling of Nothing Browser. It shares the same core engine but with different defaults and features.

FeatureNothing BrowserNothing Private Browser
Network captureβœ… Full DevTools❌ Disabled by default
Session persistenceβœ… Auto-save❌ Zero persistence
Telemetryβœ… Noneβœ… None
Fingerprint spoofingβœ… Yesβœ… Yes
WebRTC leak protection⚠️ Optionalβœ… Enabled by default
Cookie storagePersistentSession-only
CachePersistentWiped on close
Use caseScraping/API reverse engineeringAnonymous browsing

Why Private Browser? ​

Most browsers claim to be private but:

  • Send telemetry to母公司
  • Store browsing history
  • Keep cookies after you close
  • Leak your real IP via WebRTC
  • Have unique fingerprints

Nothing Private Browser solves all of these.


Key Features ​

Zero Telemetry ​

cpp
// No analytics, no phoning home
// No crash reporting
// No usage metrics
// Nothing

The browser does exactly one thing: render web pages. Nothing else.

Zero Session Persistence ​

On close, everything is wiped:

  • βœ… Cookies deleted
  • βœ… Cache cleared
  • βœ… localStorage emptied
  • βœ… sessionStorage cleared
  • βœ… History removed
  • βœ… IndexedDB purged
cpp
// On close
void PrivateBrowser::closeEvent() {
    m_profile->cookieStore()->deleteAllCookies();
    m_profile->clearHttpCache();
    m_profile->clearAllVisitedLinks();
    m_storageManager->clearAll();
}

Fingerprint Spoofing ​

Same as Nothing Browser β€” injected at DocumentCreation:

  • Chrome User-Agent
  • Spoofed hardware concurrency
  • Spoofed device memory
  • Canvas noise (xorshift PRNG)
  • Audio noise
  • WebGL vendor/renderer spoofing

WebRTC Leak Protection ​

STUN servers are stripped from ICE config:

cpp
// Before: Your real IP exposed
iceServers: [{ urls: "stun:stun.l.google.com:19302" }]

// After: STUN servers removed
iceServers: []  // Your real IP never leaks

UA-CH Spoofing ​

navigator.userAgentData and getHighEntropyValues() return consistent spoofed values:

javascript
navigator.userAgentData.brands
// [{brand: "Chromium", version: "124"}, ...]

await navigator.userAgentData.getHighEntropyValues(["architecture", "model"])
// {architecture: "x86", model: "MacBookPro18,1", ...}

Installation ​

Linux (Debian/Ubuntu) ​

bash
# Add repository
curl -fsSL https://pub-5119122a931748c3b649ad4ca5aab522.r2.dev/nothing-browser-key.gpg \
  | sudo gpg --dearmor -o /usr/share/keyrings/nothing-browser.gpg

echo 'deb [signed-by=/usr/share/keyrings/nothing-browser.gpg] https://pub-5119122a931748c3b649ad4ca5aab522.r2.dev stable main' \
  | sudo tee /etc/apt/sources.list.d/nothing-browser.list

# Install
sudo apt update && sudo apt install nothing-private-browser

Linux (.deb) ​

bash
sudo dpkg -i nothing-private-browser_*_amd64.deb

Linux (tar.gz) ​

bash
tar -xzf nothing-private-browser-*-linux-x86_64.tar.gz
cd nothing-private-browser-*-linux-x86_64
./nothing-private-browser

Arch Linux ​

bash
yay -S nothing-private-browser

macOS ​

Download the .dmg from Releases β†’ drag to Applications.

Windows ​

Download the .zip from Releases β†’ extract β†’ run nothing-private-browser.exe.


Privacy Features Deep Dive ​

Cookies are session-only by default:

cpp
// No persistent cookie storage
m_profile->setPersistentStoragePath("");
m_profile->setPersistentCookiesPolicy(
    QWebEngineProfile::NoPersistentCookies
);

Cache Behavior ​

Cache is cleared on every close:

cpp
void PrivateBrowser::clearCache() {
    m_profile->clearHttpCache();
    m_profile->clearAllVisitedLinks();
    m_profile->clearRequestFilter();
}

Storage Isolation ​

Each session gets fresh storage:

cpp
// New storage for each session
m_profile = new QWebEngineProfile("PrivateSession_" + QUuid::createUuid().toString());

Planned Features ​

Ad Blocker (v0.2.0) ​

Network-level, filter-list based ad blocking:

cpp
// Coming soon
class AdBlocker : public QWebEngineUrlRequestInterceptor {
    void interceptRequest(QWebEngineUrlRequestInfo &info) override {
        if (isAdDomain(info.requestUrl().host())) {
            info.block(true);
        }
    }
};

Tor Routing (v0.3.0) ​

Optional onion routing, one toggle:

cpp
// Coming soon
void enableTor() {
    m_profile->setProxy(QNetworkProxy::Socks5Proxy, "127.0.0.1", 9050);
    // Route all traffic through Tor
}

ProtonVPN Support (v0.3.0) ​

Import .ovpn or WireGuard config file directly:

cpp
// Coming soon
void importVPNConfig(const QString& filePath) {
    // Parse OpenVPN or WireGuard config
    // Configure system VPN
    // Route browser traffic through VPN
}

Comparison with Other Privacy Browsers ​

FeatureNothing PrivateBraveFirefoxTor Browser
Zero telemetryβœ… Yes⚠️ Some⚠️ Someβœ… Yes
Fingerprint spoofingβœ… Yesβœ… Yes⚠️ Limitedβœ… Yes
Session persistence❌ None⚠️ Optional⚠️ Persistent❌ None
WebRTC leak protectionβœ… Yesβœ… Yes⚠️ Partialβœ… Yes
Built-in ad blockerπŸ“‹ Plannedβœ… Yes⚠️ Extensionβœ… Yes
Tor integrationπŸ“‹ Planned⚠️ Private mode❌ Noβœ… Yes
Open sourceβœ… MITβœ… MPLβœ… MPLβœ… BSD

Limitations ​

Sites That May Not Work ​

SiteStatusReason
Google Search⚠️ May blockFingerprinting
Gmail⚠️ May blockAccount protection
Facebook⚠️ Often blocksBot detection
Banking sites⚠️ May blockSecurity measures
Cloudflare sitesβœ… WorksTLS matches Chrome

Known Limitations ​

LimitationDescription
No Chrome extensionsQt WebEngine limitation
No mobile emulationDesktop-only
No sync across devicesPrivacy by design
No password managerSession-only storage

Privacy Audit Status ​

ComponentStatusLast Audit
Telemetryβœ… Nonev0.1.0
Data persistenceβœ… Wiped on closev0.1.0
Fingerprint spoofing⚠️ In progressv0.1.3
WebRTC leaksβœ… Fixedv0.1.1
DNS leaks⚠️ Needs VPNv0.3.0 planned

Roadmap ​

VersionFocusFeatures
v0.1.0Core privacyZero telemetry, session wipe
v0.1.1Network leaksWebRTC protection
v0.1.2FingerprintingUA-CH spoofing
v0.1.3Canvas/Audioxorshift PRNG noise
v0.2.0Ad blockingNetwork-level filter lists
v0.3.0AnonymityTor routing, VPN support
v1.0.0StableFull privacy audit

Quick Start ​

First Launch ​

bash
# Linux
nothing-private-browser

# macOS
open /Applications/Nothing\ Private\ Browser.app

# Windows
nothing-private-browser.exe

The browser opens with:

  • Fresh session (no previous data)
  • Fingerprint spoofing enabled
  • WebRTC protection on
  • No telemetry

Using the Browser ​

  1. Browse normally β€” all privacy features work automatically
  2. Close the browser β€” everything is wiped
  3. Reopen β€” fresh session, no traces

No settings to configure. No privacy toggles to find. It just works.


Image Assets Notice ​

Some image assets used in this project are sourced externally and may be subject to third-party rights.

If a DMCA or copyright complaint is filed against any asset, it will be removed promptly. Assets are not guaranteed to stay in the repo permanently β€” if you depend on specific images in a fork, host your own copies.


License ​

MIT License β€” use it, modify it, fork it. Just don't add telemetry.


Next Steps ​


Nothing Ecosystem Β· Ernest Tech House Β· Kenya Β· 2026

Built by Ernest Tech House

MIT Licensed | Built by Ernest Tech House Β· Kenya Β· 2026