See through the web.
Glass is a transparent privacy browser that doesn't just block trackers — it shows you exactly what it's protecting you from. Built with Tauri, Svelte, and adblock-rust.
┌──────────────────────────────────────────┐
│ Svelte Frontend (Browser Chrome) │
│ TabBar · AddressBar · PrivacyPanel │
├──────────────────────────────────────────┤
│ Tauri IPC Bridge │
├──────────────────────────────────────────┤
│ Rust Backend │
│ ├── blocker/ adblock-rust engine │
│ ├── tabs/ multi-webview lifecycle │
│ ├── privacy/ categorization + FP │
│ └── scripts/ injected content scripts │
└──────────────────────────────────────────┘
Each browser tab is a native Tauri child webview. The main window renders the browser chrome (tab bar, address bar, panels) in Svelte, while tab content runs in separate webview processes.
npm install -g @tauri-apps/cli# Clone
git clone https://github.com/Atomics-hub/privacy-browser.git
cd privacy-browser
# Install dependencies
npm install
# Run in dev mode
npm run tauri dev
# Build release binary
npm run tauri build
The built app will be at src-tauri/target/release/bundle/macos/Glass.app.
Tracker blocking: On macOS, Glass uses a dual approach. Filter rules are converted to Apple's WKContentRuleList format for engine-level blocking. A content script (PerformanceObserver + error events) detects blocked resources and reports counts back to the Rust backend.
Cosmetic filtering: A MutationObserver in each tab collects DOM class and ID selectors, sends them to the adblock-rust engine, and injects CSS to hide matching elements.
Fingerprint protection: Injected scripts randomize Canvas getImageData, WebGL renderer strings, and Navigator/Screen properties to prevent cross-site fingerprinting.
Blocked count: Displayed as approximate (~N) since WebKit's content blocking API doesn't provide per-block callbacks.
| Layer | Technology |
|---|---|
| Desktop framework | Tauri v2 |
| Frontend | Svelte 5 + TypeScript |
| Backend | Rust |
| Ad blocking | adblock-rust (Brave's engine) |
| Filter lists | EasyList + EasyPrivacy |
| Build | Vite 7 |