Window Resize Manager

Privacy, support, and release information for Window Resize Manager.

View the Project on GitHub Gevorg-Glechyan/window-size-extension

Chrome Web Store Review Notes

These notes are the source text for Chrome Web Store dashboard review fields. They should be rechecked before every public submission.

See also:

Single Purpose

Use this single-purpose statement for Chrome Web Store review:

Window Resize Manager lets users read current Chrome window and viewport dimensions, show live numeric measurements on the active page, then resize the current normal Chrome browser window from a toolbar popup using built-in presets, locally saved custom presets, or manually entered dimensions.

Submission Readiness

Already present in the repo:

Still needed before first Chrome Web Store submission:

Store Listing Copy

Use this short description for the Chrome Web Store listing:

Resize Chrome windows with live frame and viewport measurements from a local toolbar popup.

Use this detailed description:

Window Resize Manager helps developers, designers, QA testers, and screenshot workflows resize Chrome browser windows without leaving the toolbar.

Core features:
- Resize the current Chrome window with built-in Phone, Tablet, Laptop, Desktop, and Social/Screenshot presets.
- Enter a custom width and height, then rotate the size when orientation changes.
- Save, edit, delete, and reuse custom presets locally.
- Switch between outer window sizing and visible viewport sizing.
- Read the current window frame size and viewport size from the popup.
- Follow live frame and viewport dimensions in a transient active-page overlay
  while the window changes. The overlay includes the extension icon and an Open
  action for the popup, then fades away two seconds after resizing stops.
- Rate the extension in the Chrome Web Store or send feedback by email from an
  always-visible card at the end of the popup.
- Restore maximized windows to normal size when applying a resize.

Privacy and storage:
- Presets and settings stay in Chrome extension storage on your device.
- Both Chrome build variants send explicit cookieless usage analytics to PostHog EU Cloud with a `build_variant` event property.
- The extension requests regular-website host access only for automatic resize detection and the isolated live overlay; it does not read page content, selected text, full URLs, cookies, website storage, form data, or browsing history.
- Analytics events do not include page content, tab titles, preset names, exact dimensions, raw error messages, cookies, or stable personal identifiers.
- The live overlay appears during resize flows without requiring the popup to be opened.

Window Resize Manager is built for Chrome Manifest V3 and uses a normal extension toolbar popup.

Recommended category: Developer Tools. If the listing is positioned for a broader non-developer audience, Productivity is also defensible, but Developer Tools better matches responsive QA, design, and screenshot workflows.

Chrome Submission Instructions

  1. Run the release validation gate:

    npm run check:release
    
  2. Confirm the external package exists and passed validation:

    artifacts/window-resize-manager-chromium-<version>.zip
    
  3. Inspect the ZIP contents before upload. The ZIP should contain extension files at the root, including manifest.json, popup.html, background.js, bundled assets, and icons. It should not contain dist/, __MACOSX/, or .DS_Store entries.

  4. Load the external production build locally from dist/chromium/external in chrome://extensions and smoke test:

    • Popup rendering and focus behavior.
    • Current frame and viewport size readout.
    • Built-in preset resize.
    • Custom size resize and rotate.
    • Save, edit, delete, and apply local custom presets.
    • Rating and feedback links, including keyboard focus and external opening.
    • Window size mode and viewport size mode.
    • Minimized, maximized, fullscreen, restricted, or unavailable window errors.
  5. In the Chrome Web Store dashboard, create or update the item and upload the external ZIP from artifacts/.

  6. Fill listing fields:

    • Name: Window Resize Manager
    • Short description: use the short description above.
    • Detailed description: use the detailed description above.
    • Category: Developer Tools
    • Language: choose the listing’s intended default locale.
    • Support URL: use the public support or repository issue URL.
    • Privacy policy URL: use the published URL for docs/privacy-policy.md.
  7. Fill privacy practices to match current behavior:

    • Data collection: disclose first-party extension usage analytics for the external build.
    • Host permissions: none.
    • Remote code: none.
    • Data sale or transfer: none.
    • Analytics, telemetry, ads, or tracking: explicit cookieless usage analytics only; no ads, hidden tracking, autocapture, session replay, or surveys.
    • User activity, website content, browsing history, authentication data, financial data, health data, personal communications, and location: not collected.
  8. Use the permission rationale below for permission review prompts.

  9. Submit for review. After approval, update any public docs that still use a placeholder Chrome Web Store listing URL.

Permission Rationale

The extension requests only these Chrome permissions:

The manifest requests host access for http://*/* and https://*/* so its packaged content script can detect resize events and create the live overlay. It does not request optional host permissions or the broad tabs permission. Only the packaged 32-pixel extension icon is exposed as a web-accessible resource, using a per-session dynamic extension URL for the overlay.

Site Access And Data Collection

The MVP uses a manifest-declared content script on regular HTTP and HTTPS websites. The script listens for window resize events, reads only outerWidth, outerHeight, innerWidth, and innerHeight, and creates an isolated, automatically fading overlay from extension-owned elements. It does not inspect existing page content or elements, selected text, full page URLs, cookies, website localStorage, or form data.

The overlay displays the packaged extension icon and provides an Open action for the toolbar popup. To normalize the frame into the page’s CSS-pixel coordinate system, the content script also sends a fixed measurement-context request. Chrome supplies the sender tab ID, and the service worker uses tabs.getZoom to return only the numeric page zoom factor. Neither request includes page data, and the tab ID and zoom factor are not stored or transmitted.

Viewport mode uses a one-shot numeric measurement to calculate the required outer Chrome window size. For pages that block script access, the popup falls back to Chrome’s numeric active-tab width and height metadata when available. The extension does not store or transmit these measurements.

Both Chrome build variants send explicit cookieless usage analytics to PostHog EU Cloud at https://eu.i.posthog.com. Events are limited to popup opens, resize requests and outcomes, custom preset actions, and resize target setting changes, plus rating and feedback action clicks and extension cross-promotion impressions and clicks. Properties are enum values, booleans, and low-cardinality buckets, including build_variant values of external or internal. Cross-promotion events identify only the source extension, target extension, and popup_footer placement. Events do not include page content, selected text, full URLs, tab titles, preset names, exact dimensions, raw error messages, cookies, rating values, email content, or stable personal identifiers.

The extension does not include account, cloud sync, billing, team workspace, ads, session replay, surveys, or automatic network-backed feature behavior beyond the documented PostHog usage analytics endpoint. The popup opens the Window Resize Manager, Screenshot Capture Studio, or PostHog Debugger Chrome Web Store listing, or mailto:gevorg@glechyan.com, only after the user selects the corresponding link. It does not prefetch these destinations.

Local Storage Behavior

Custom presets, up to three latest custom dimensions, and the selected resize target mode are stored locally through Chrome extension storage.

Built-in presets are bundled with the extension and are not collected from users.

Store Disclosure Implications

Current Chrome Web Store disclosure answers should reflect:

Any future permission increase, network destination, analytics event, content script, host access, or page-data access must be reviewed before implementation and documented here before release.