NexDM logo
NeXDM

Browser Extension Security & Permissions

A 100% transparent audit of what our Chrome & Edge extension accesses and why.

🛡️ Our Zero-Access Privacy Guarantee

The NeXDM browser companion extension operates under a strict Privacy by Design standard. We do NOT collect browsing history, do NOT read input form data or passwords, do NOT inspect cookies, and do NOT transmit analytical telemetry to remote cloud servers. All download routing occurs locally and deterministically on your PC.

1. The Manifest V3 Security Paradigm

In legacy browser extensions built under Google's older Manifest V2 platform, extensions enjoyed broad, unrestricted access to web traffic via blocking webRequest APIs and persistent background pages that ran indefinitely in system memory. This architecture created vulnerabilities where compromised extensions could silently intercept passwords or inject rogue advertising scripts.

NeXDM is built natively under the modern Manifest V3 (MV3) standard enforced by Google Chrome, Microsoft Edge, and Brave. Key architectural safeguards include:

2. Inter-Process Communication: The Native Messaging Host Protocol

A frequent question from security researchers is: How does the browser extension communicate with the NeXDM desktop application?

Many download tools cut corners by opening an unauthenticated local HTTP or WebSocket server (such as http://127.0.0.1:9000). This introduces a severe vulnerability known as Cross-Site Port Hijacking: any malicious website you visit in any browser tab could potentially make a background fetch() request to localhost, injecting unauthorized download tasks or reading system information.

🔒 How NeXDM Native Messaging Eliminates Network Vulnerabilities:

Instead of listening on network sockets, NeXDM implements the official operating system Native Messaging Host specification:

  1. The desktop application registers a unique cryptographic host manifest in the Windows Registry under HKCU\Software\Google\Chrome\NativeMessagingHosts\com.nexdm.downloader.
  2. The browser launches the native binary as a restricted child process connected via OS pipes: standard input (stdin) and standard output (stdout).
  3. Each message is framed by a 32-bit integer length prefix followed by UTF-8 encoded JSON. No network ports are opened on your PC. No third-party application or website can intercept or inject messages into this closed OS pipe.

3. Manifest V3 Permission Audit & Technical Rationale

Every permission declared in our manifest.json is strictly audited to conform with the Principle of Least Privilege:

"downloads"

Download Stream Interception

Why It's Needed: Allows the companion extension to detect when a user initiates a file download in Chrome or Edge and seamlessly hand the source URL, HTTP referrers, and user-agent string to the 64-segment NeXDM desktop engine instead of the browser's single-stream downloader.

Security Boundary: Triggered exclusively upon user download actions. Never triggered during regular page navigation.

"nativeMessaging"

Host Process IPC Link

Why It's Needed: Establishes the secure OS standard pipe connection to the installed NeXDM desktop application binary on your computer.

Security Boundary: Restricts communication exclusively to the verified local binary matching our registered Windows App ID.

"contextMenus"

Right-Click Menu Hook

Why It's Needed: Registers the "Download with NeXDM" option inside your browser's right-click contextual menu when hovering over links or downloadable media.

Security Boundary: Only receives target link URLs when right-clicked by the user.

"declarativeNetRequest"

MIME Header Matching Without DOM Sniffing

Why It's Needed: Inspects HTTP response headers (such as Content-Disposition: attachment and file extensions like .iso, .zip, .tar.gz) to trigger the high-speed download overlay without intercepting page bodies.

Security Boundary: Evaluated entirely within Chromium's internal declarative matcher. The extension's JavaScript engine never sees the content of the web page.

4. DeclarativeNetRequest: Why MV3 Protects User Privacy

In older Manifest V2 extensions, developers used the blocking chrome.webRequest.onBeforeRequest API. This gave extensions programmatic access to inspect, delay, modify, and log every single HTTP packet passing through the browser—creating a massive privacy hazard if the developer had malicious intent.

Under Manifest V3, NeXDM utilizes declarativeNetRequest. Instead of intercepting the data inside extension code, NeXDM supplies a static JSON rule-set to the browser engine itself:

5. Permissions We Explicitly DO NOT Request

To provide absolute clarity on what NeXDM cannot access, the following intrusive browser permissions are deliberately omitted from our manifest:

Omitted Permission What It Would Access NeXDM Security Stance
"cookies" Active user sessions & authentication tokens Omitted. Zero cookie access.
"history" Complete user browsing history Omitted. Zero history inspection.
"webNavigation" Real-time tracking of URL changes Omitted. Zero navigation surveillance.
"clipboardRead" Reading sensitive clipboard copied passwords Omitted. Extension cannot read clipboard.

Frequently Asked Questions

Can the NeXDM extension see my bank account or passwords?
No. The extension does not inject content scripts into web pages to read DOM input elements. It has zero capability to view, access, or log passwords, credit card numbers, or form submissions.
Is the Chrome extension verified by the Chrome Web Store?
Yes. Every extension version undergoes rigorous automated security analysis and compliance review by Google before publication on the Chrome Web Store, ensuring compliance with Google Developer Program Policies.

Have an independent security question or want to report a vulnerability?

Contact NeXDM Security Office (security@nexdm.in)