Privacy Policy

Last updated: June 2025  ·  Applies to ZoomSense v1.0.0 and later

Overview

ZoomSense is a Chrome browser extension that automatically adjusts tab zoom levels based on which monitor a Chrome window is currently displayed on. This policy describes what data the extension accesses, what it stores, and what it does not do.

ZoomSense does not collect, transmit, or share any personal data. It makes no network requests to any external server. Everything it reads and stores stays on your device.

Data the extension reads

In order to function, ZoomSense needs to read certain information about your browser environment. This information is used in real time and is never stored or transmitted.

Data Purpose
Display information The extension reads the IDs, names, and screen coordinates of connected monitors via the chrome.system.display API. This is used to determine which display each Chrome window is on.
Window position and size The extension reads the position and dimensions of Chrome windows via chrome.windows to identify which display a window belongs to.
Window screen coordinates A content script reads window.screenX and window.screenY in each tab every 500ms to detect when the window has been dragged to a different monitor. These coordinates are compared locally and discarded immediately. They are never stored.
Tab zoom levels The extension reads the current zoom level of tabs before applying a new zoom, to avoid redundant writes. Tab URLs are read transiently to identify non-zoomable tabs such as chrome:// pages, which are skipped. URLs are never stored or logged.

Data stored on your device

ZoomSense stores the following preferences locally using chrome.storage.local. This data never leaves your device.

Setting What it contains
Enabled state Whether the extension is active. A boolean value.
External display ID The ID string of the display the user has marked as their external monitor. This is a system-generated identifier, not a name or serial number.
Laptop zoom level A decimal number representing the desired zoom for the laptop display. Default: 1.0.
External zoom level A decimal number representing the desired zoom for the external monitor. Default: 1.5.

What the extension does not do

ZoomSense does not:

Collect personal data No names, email addresses, or identifying information of any kind are ever accessed.
Track browsing history The extension does not record or store any URLs, domains, or page content.
Make network requests The extension sends no data to any server. There is no analytics, telemetry, or remote logging of any kind.
Sync data across devices Settings are stored in chrome.storage.local, not chrome.storage.sync. They stay on the machine they are configured on.
Execute remote code All JavaScript is bundled within the extension package. No scripts are loaded from external URLs.
Sell or share data There is nothing to sell or share. No data leaves the device.

Permissions

The Chrome Web Store requires justification for each permission declared in the extension manifest. The permissions ZoomSense requests and the reason for each are listed below.

Permission Reason
tabs Required to read and set tab zoom levels, and to scope zoom to individual tabs.
storage Required to save user preferences locally on the device.
system.display Required to enumerate connected monitors and read their screen coordinates.
windows Required to read Chrome window positions and determine which display each window is on.
alarms Required to run a once-per-minute background check as a fallback for window movement detection.
host_permissions: <all_urls> Required for the content script to run in tabs and report window position changes. The content script only reads window.screenX and window.screenY.

Third parties

ZoomSense has no relationship with any third party. It uses no analytics services, advertising networks, crash reporting tools, or external APIs. The extension operates entirely within the browser with no external dependencies.

Changes to this policy

If this policy changes, the updated version will be published at this URL and the last updated date at the top of the page will be revised. Significant changes will also be noted in the extension changelog on the GitHub repository.

Contact

For questions about this policy or the extension's behaviour, open an issue on the GitHub repository.