Stealth Mode & Privacy Tools
Relevant source files
The following files were used as context for generating this wiki page:
The Stealth Mode and Privacy Tools in Messenger Unleashed constitute a core feature set designed to grant users granular control over their digital footprint and privacy while using Facebook Messenger. These tools allow for the interception and blocking of outgoing signals such as read receipts, typing indicators, and active status, which are natively forced by the web platform.
The architecture relies on a multi-layered approach: Electron's webRequest API for network-level blocking, JavaScript injection via preload scripts for WebSocket and DOM-level interception, and specialized tools like the "Chameleon" boss key and "Invisible Ink" steganography for enhanced operational security.
Sources: CLAUDE.md:12-16, src/main/index.ts:223-230, src/preload/index.ts:133-140
Multi-Layered Blocking Architecture
Privacy features are implemented across both the Main and Renderer processes to ensure comprehensive coverage of different communication protocols used by Messenger (HTTPS and WebSockets).
Network-Level Interception (Main Process)
The application uses the session.defaultSession.webRequest.onBeforeRequest listener to identify and cancel HTTP/HTTPS requests matching known patterns for privacy-invasive signals.
The diagram shows how the Main process intercepts standard network traffic before it leaves the application.
Sources: src/main/index.ts:250-295
WebSocket Interception (Preload/Renderer)
Since Messenger utilizes WebSockets for real-time signals, the app installs a WebSocketProxy via the preload script. This proxy intercepts the send method to decode payloads and block specific strings like is_typing or USER_ACTIVITY_UPDATE.
This sequence illustrates the interception logic within the WebSocket bridge.
Sources: src/preload/index.ts:60-105, src/main/index.ts:340-410
Key Privacy Features
| Feature | Implementation Method | Description |
|---|---|---|
| Block Read Receipts | webRequest + Visibility API | Prevents mark_seen mutations and overrides document.hidden to return true. |
| Block Typing Indicator | webRequest + WebSocket Proxy | Filters SendTypingIndicator GraphQL mutations and WebSocket payloads containing is_typing. |
| Block Active Status | WebSocket Proxy + Visibility API | Blocks USER_ACTIVITY_UPDATE and presence-related signals; hides app focus. |
| Clipboard Sanitizer | DOM Event Listener | Strips tracking metadata (e.g., fbclid, utm_*) from URLs during paste events. |
| Invisible Ink | Steganography | Encodes secret text using zero-width characters (\u200B, \u200C) inside innocent phrases. |
Sources: src/main/index.ts:188-210, src/main/index.ts:896-910, src/preload/index.ts:1210-1250, src/preload/index.ts:1140-1180
Stealth & Operational Security
Invisible Ink (Steganography)
The "Invisible Ink" tool allows users to send hidden messages embedded within standard text. It converts ASCII text to binary and then to an invisible sequence of zero-width characters.
- Encoder: Converts secret to binary -> zero-width map -> wraps with
INVISIBLE_SPLIT(\u200D). - Decoder: A
MutationObserverscans incomingdiv[dir="auto"]elements for the split character and renders the decoded secret in a highlighted span.
Sources: src/preload/index.ts:1330-1450
Chameleon Mode (Boss Key)
Chameleon mode provides an instant visual override to hide the chat interface. When triggered (standard via a "Boss Key" shortcut), it injects an overlay that mimics a generic Excel spreadsheet.
- Trigger:
toggle-chameleonIPC event. - UI: A fixed-position
z-index: 2147483647div containing a mock Calibri-font spreadsheet.
Sources: src/preload/index.ts:1050-1100, src/main/index.ts:1086-1098
Experimental Typing Overlay
A "Better Typing Block" feature creates a proxy input overlay.
- The original Messenger textbox is hidden (
opacity: 0). - A transparent
divis positioned exactly over the original input. - User types into the proxy; only when the user presses Enter does the app programmatically fill the original input and trigger a send, ensuring no intermediate "typing..." signals are fired.
Sources: src/preload/index.ts:200-280, src/preload/index.ts:310-318
Configuration and Management
Privacy settings are persisted via electron-store and managed through the "Privacy & Stealth" tab in the Settings UI.
Summary
The Stealth Mode & Privacy Tools provide a robust defensive layer against the default tracking behaviors of the Messenger platform. By combining network-level blocking, protocol interception, and UI-level obfuscation, the system ensures that user activity—from reading messages to typing and online presence—remains private and under the user's explicit control.
Sources: CLAUDE.md:28-30, src/main/index.ts:300-310