PAGE MECHANICS / VIEWPORT MAGNET
VERSION 1.0.0 ยท EFFECTIVE SEPTEMBER 4, 2026
PAGE MECHANICS / PRIVACY CONTROL SHEET

Pin the element, not the data.

Viewport Magnet temporarily keeps selected webpage elements visible at a viewport edge. This policy explains the geometry and DOM state used for that interaction and the data the extension deliberately does not keep.

ACCESS activeTab
EXECUTION scripting
STORAGE None requested
ACTIVE LIMIT 3 elements
Operational summary: Viewport Magnet works only after user activation on the current HTTP(S) tab. It does not use extension storage, analytics, advertising, or a publisher-operated network service.
01

Scope

This privacy notice describes Viewport Magnet 1.0.0, a browser extension that temporarily keeps selected webpage elements visible at a viewport edge while the rest of the page scrolls. The product is designed as a local page-interaction tool. It does not require a user account, publisher-operated backend, analytics service, or persistent database of pinned elements.

This notice covers the production extension code and the temporary in-page controls it inserts after user activation. Websites, Chrome, the operating system, and the Chrome Web Store have their own data practices that are outside the control of Viewport Magnet.

02

Privacy at a glance

Viewport Magnet does not send selected elements, page text, form values, URLs, screenshots, or interaction logs to a remote Viewport Magnet service. It does not contain a network client for product functionality. It also does not request Chrome storage permission, so pinned-element state is not intentionally retained across page reloads or browser restarts.

The extension works with the real DOM element already present on the page. It does not need to serialize that element into a server request or convert it into a remote image. The selected element stays in its original document and is temporarily positioned by local CSS rules.

03

Activation and page access

Viewport Magnet uses activeTab rather than broad host permissions. Page access begins when you explicitly invoke the extension on the active HTTP or HTTPS tab through the toolbar action or its keyboard shortcut. This model limits routine access compared with an extension that requests permanent permission for all sites.

The background script checks the active tab address before injecting the extension interface. Chrome may additionally prevent injection into browser-internal, protected, or otherwise restricted pages. Viewport Magnet does not attempt to bypass those restrictions.

04

What the selector examines

While Magnet Mode is active, local code follows pointer movement and examines the element under the pointer. It checks element type, bounding rectangle, computed display, and visibility in order to decide whether the element is a practical pin target. It may walk upward through ancestor elements until it finds a suitable block.

The selector does not need to upload the element or index the entire page. Candidate references exist in page-session JavaScript memory. The extension excludes its own controls and already pinned elements from normal selection so that its overlay does not recursively pin itself.

05

Selected element content

Viewport Magnet moves the presentation of the actual webpage element rather than creating a screenshot. The extension does not read input values for storage, does not copy text into an extension database, and does not transmit media or form content to us. Content inside the pinned element continues to belong to and be controlled by the webpage.

Because the original element remains live, interacting with a button, link, input, video, or other control inside it may trigger the webpage's own JavaScript, network requests, navigation, or data handling. Those consequences are the same category of site behavior that can occur when interacting with the element in its normal location.

06

How pinning works

When you pin a block, Viewport Magnet inserts a temporary layout placeholder before the element so the page does not collapse around the missing visual space. It adds an extension-specific data attribute to the selected element and uses packaged CSS to position that element fixed in the viewport. Small extension-specific CSS custom properties hold only its temporary left, top, and width values.

The extension also creates a small drag handle in the page. Moving the handle updates those local position variables. Releasing near an edge snaps the element to the top, right, bottom, or left. The production version limits the number of simultaneously pinned elements to three.

07

Preserving webpage styles

Viewport Magnet deliberately avoids replacing the element's complete inline style string. Its position is controlled by a dedicated data attribute and extension-specific CSS custom properties. When the element is released, those extension-specific values are removed or restored to their prior values.

This design allows ordinary inline style changes made by the webpage while the item is pinned to remain present after release. The extension cannot guarantee that every website will behave identically when an element becomes fixed, but it attempts to minimize destructive changes to the page's own style state.

08

Temporary runtime data

For each pinned element, the injected runtime keeps an in-memory reference to the element, its placeholder, its drag handle, its current snap side, its original extension-specific attribute state, and any pre-existing values for the custom properties used by the extension. These records are necessary to move and later release the element safely.

This runtime data is not written to Chrome extension storage and is not synchronized. It disappears with the document when you reload, navigate away, or close the tab. Viewport Magnet is intentionally session-based.

09

No persistent storage

The production manifest does not request the storage permission. Viewport Magnet does not maintain a saved list of domains, pinned selectors, element content, recent pages, preference profiles, or usage events. There is no cloud account or local extension database to reconcile when the page session ends.

Your browser may independently retain normal browser history, caches, extension installation information, or other artifacts under Chrome's own policies. Those browser-managed records are not generated as a Viewport Magnet feature and are not accessible through a Viewport Magnet account because no such account exists.

10

Network behavior

Viewport Magnet does not use fetch, XMLHttpRequest, WebSocket, EventSource, remote modules, external fonts, or analytics beacons for its product operation. The JavaScript, CSS, and icons used by the extension are packaged locally. The extension does not require a publisher server to pin or move an element.

The underlying webpage remains online and may continue making its normal requests. For example, a pinned video player may stream media because the website itself does so, and a pinned search form may contact the site when submitted. Viewport Magnet does not proxy or inspect those requests.

11

No analytics or advertising

The extension contains no advertising SDK, analytics SDK, crash telemetry service, affiliate tracker, fingerprinting library, or behavioral profiling system. We do not receive a feed showing which elements you pin, which domains you use, how far you drag an item, or how long an item remains on screen.

There is therefore no Viewport Magnet analytics identifier and no extension analytics retention period. The absence of an analytics pipeline is part of the product's minimal-scope design.

12

Inputs and interactive controls

Pinned elements remain real webpage elements. If an element contains an input, the value is still held and processed according to the webpage and browser. Viewport Magnet does not deliberately read that value when calculating position or snap behavior. The extension only needs the outer element geometry for layout.

Likewise, clicking a button or link inside a pinned element can call the site's existing event handlers. Viewport Magnet does not suppress or reinterpret those site events merely because the element is pinned. Users should treat sensitive controls with the same caution they would use before pinning.

13

Permissions: activeTab

activeTab provides temporary access to the current tab following a user invocation. Viewport Magnet uses this grant to place the selector and manipulate the page the user explicitly chose. The extension does not ask for persistent access to all domains and does not request Chrome's broader tabs permission.

This permission model also means simply installing the extension does not by itself authorize the extension to inject into every page in the background. User activation is part of the normal workflow.

14

Permissions: scripting

The scripting permission is used by the background service worker to insert the packaged magnet.css stylesheet and magnet.js runtime into the selected active tab. The code implements target selection, placeholder creation, fixed positioning, drag handles, snapping, release, and the three-item limit.

The permission is not used to fetch executable code from an external host. Viewport Magnet ships the code it executes inside the extension package and relies on Chrome's extension environment to run it.

15

Permissions not requested

Viewport Magnet does not request storage, history, cookies, webRequest, declarativeNetRequest, downloads, clipboard, geolocation, notifications, identity, native messaging, management, or broad host permissions. It does not need those capabilities for its single purpose.

Keeping the permission list short limits the information categories the extension can reach by default. If a future feature would require a materially broader permission, the manifest and this policy would need to be updated accordingly.

16

Release and deletion controls

Every pinned element has a release control on its drag handle. Releasing removes the handle and layout placeholder, removes or restores the extension-specific positioning markers, and returns the element to normal document flow. Up to three elements may be active at one time, and releasing one immediately frees a slot for another.

Reloading or leaving the page discards the entire page-session runtime. Since there is no stored pin history or cloud profile, no separate remote deletion action is necessary. Uninstalling the extension removes the installed code according to Chrome's normal extension-management process.

17

Compatibility and page behavior

Changing an element to fixed positioning can affect responsive layouts, stacking order, sticky containers, transforms, and scripts that measure geometry. The extension uses a placeholder to reduce layout disruption, but it cannot guarantee perfect behavior on every site or every custom web component.

If a site behaves unexpectedly, release the pinned element or reload the page. A reload removes Viewport Magnet's temporary DOM controls and restores the document from the website. The extension is not intended to make permanent edits to site source code.

18

Security approach

Viewport Magnet uses a small permission set, no remote code, no product network service, and session-only state. Those choices reduce exposure compared with a tool that continuously observes browsing or uploads page snapshots. The extension also limits active magnets to three to keep the interaction understandable and bounded.

No software can guarantee the security of unrelated webpages. A pinned element can still execute the webpage's own code, and the page may contain content supplied by third parties. Viewport Magnet should not be treated as a sandbox, anti-malware product, or privacy filter for the underlying site.

19

Third parties

Viewport Magnet does not integrate third-party cloud storage, advertising, analytics, AI inference, payment, or social-sharing providers. We do not sell or rent extension-collected page data because the production extension does not create a remote collection channel for such operational data.

Interactions with websites while an element is pinned remain subject to those websites' terms and privacy notices. For instance, submitting a pinned form sends information according to the form owner's behavior, not to Viewport Magnet.

20

Children

Viewport Magnet is a general-purpose browser utility, not a service directed specifically to children. It does not request a name, age, email address, profile, or social graph, and it has no targeted advertising or public sharing feature.

Parents and guardians should evaluate the websites a child uses independently. Pinning an element does not filter or moderate the content provided by the website.

21

Enterprise and managed devices

Browser administrators may prevent extension installation, restrict access to certain URLs, or control extension capabilities through policy. Viewport Magnet relies on Chrome's enforcement and does not try to circumvent administrative restrictions.

Organizations should review the extension's activeTab and scripting permissions alongside their own compliance requirements. Viewport Magnet does not provide a central administrator dashboard, cloud telemetry, or employee activity reporting.

22

Changes to this notice

A future version that adds persistence, synchronization, accounts, analytics, or a network service would represent a meaningful privacy change and would require updated disclosure. Any new Chrome permissions would also appear in the production manifest and may trigger browser permission messaging.

Text-only clarifications may be made without changing product functionality. The effective date identifies the policy revision represented by this file.

23

Contact

For questions about Viewport Magnet privacy or data handling, use the publisher support contact displayed on the extension's Chrome Web Store listing. This package intentionally does not invent a personal contact address that has not been provided by the publisher.

Please do not include passwords, tokens, payment details, private form content, or confidential webpage data in a support request. Non-sensitive reproduction steps, browser version, and the extension version are usually enough to investigate a behavior.