# MarkSnap Privacy Policy

> What MarkSnap collects, what it never collects, and where data goes.

Source: https://www.extensionshop.store/extension/marksnap/privacy
Markdown: https://www.extensionshop.store/extension/marksnap/privacy.md

This is the privacy policy for **MarkSnap** — Timestamp bookmarker — one shortcut, every platform. The extension page is at https://www.extensionshop.store/extension/marksnap.

## Data collected

| Data | Optional | Purpose |
| --- | --- | --- |
| Bookmarks (timestamp, note, page URL, page title) | No | Every time you save a bookmark, the timestamp, your optional note, the page URL, and the page title are stored locally in chrome.storage. Pro users also have this synced across their own devices via Chrome's built-in sync. Bookmark data is never sent to MarkSnap's servers. |
| License key (Pro only) | Yes | If you purchase Pro, your LemonSqueezy license key is stored locally and sent to LemonSqueezy's API only to activate, validate, or deactivate it. The key alone is sent — never any bookmark content or browsing data. |
| User preferences | No | Theme choice (light/dark/system) and interface mode (popup/side panel) are stored locally. Never transmitted. |
| Anonymous usage events | No | Aggregated events such as "extension installed", "popup opened", and "bookmark saved" are sent to Google Analytics. No URLs, no bookmark content, no personal identifiers. Used to understand which features and platforms users actually use. |

## Never collected

- Video content, audio content, or transcripts of any kind
- Browsing history outside the six supported platforms
- Usernames, accounts, email addresses, or any personal identifiers
- Cookies, authentication tokens, or session data

## Third-party sharing

MarkSnap sends data to two external services only: (1) LemonSqueezy — receives only the Pro license key string when activating/validating/deactivating; never receives bookmarks, page content, or personal data. (2) Google Analytics — receives anonymous aggregated usage events (install, popup open, bookmark saved); never receives URLs, page content, or personal identifiers. All bookmark data stays on your device.

## Encryption

No data is transmitted.

## Data retention

Bookmarks persist in chrome.storage until you delete them manually (per-bookmark or "Delete all" in Settings). Uninstalling the extension removes all local storage automatically. The Pro license key is removed when you deactivate it or uninstall. No data is retained on any MarkSnap server — there is no MarkSnap server.

## Permissions

| Permission | Why it is needed |
| --- | --- |
| Active Tab | Reads the URL and tab state of the currently active browser tab when the user presses Alt+B or uses the right-click context menu, so MarkSnap can detect which platform is active and send the save command to the correct tab. |
| Storage | Stores all bookmarks (timestamps, notes, collections) locally on the user's device using chrome.storage.local. Pro users also sync bookmarks across devices via chrome.storage.sync. Also stores user preferences (theme, popup vs side-panel mode) and the Pro license key. |
| Scripting | Used once at install/update time to inject the content script into tabs that were already open before the extension was installed. Without this, the extension would not work on pages loaded before installation. Scoped to the six supported platforms. |
| Context Menus | Adds a "⧗ Save timestamp (MarkSnap)" right-click menu item on supported pages, giving users a mouse-based alternative to the Alt+B keyboard shortcut. |
| Commands | Registers the Alt+B keyboard shortcut that triggers the timestamp save overlay. Declared in the manifest and handled by the service worker. |
| Tabs | Queries the active tab's URL to detect the current platform, navigates to bookmarked timestamps when "Jump" is clicked in the Library, finds already-open tabs on a platform to send seek commands to, and opens the welcome page on install. |
| Alarms | Schedules a recurring 24-hour background alarm that re-validates Pro license keys with LemonSqueezy so expired or revoked licenses are detected automatically. |
| Side Panel | Required to open and manage Chrome's built-in Side Panel when the user switches MarkSnap to "Side Panel" mode in Settings. |
| Host Access (youtube.com, music.youtube.com) | The content script injects on YouTube watch pages and Shorts to read the video element's playback position and inject visual timestamp markers on the player's progress bar. |
| Host Access (udemy.com) | Required for the content script to read playback position and inject markers on Udemy's Shaka-based course player. |
| Host Access (vimeo.com) | Required for the content script to read playback position and inject markers on Vimeo's HTML5 player. |
| Host Access (open.spotify.com) | Required for the content script to read playback position and inject markers on the Spotify Web Player. Scoped to the entire domain because Spotify's player persists across all pages in the SPA, regardless of URL. |
| Host Access (pocketcasts.com) | Required for the content script to read audio playback position and inject markers on Pocket Casts Web's seek bar. |
| Host Access (podcasts.apple.com) | Required for the content script to pierce Apple Podcasts' nested Shadow DOM, read playback position, and inject markers on the player's progress bar. |
| Host Access (api.lemonsqueezy.com) | Required for Pro plan license management. The service worker calls LemonSqueezy to activate, validate, and deactivate license keys. Only the license key string is sent — no user data or bookmark content. |
| Host Access (google-analytics.com) | Sends anonymous, aggregated usage events (extension installed, popup opened, bookmark saved) to help prioritize which features and platforms to improve. No personally identifiable information is ever transmitted. |

Support: iliasselbarhoumi@gmail.com
