Privacy Policy
Privacy policy for the WideSnap Chrome extension: the capture data it keeps inside your browser, the absence of any backend upload, and how each permission is used.
- Last updated
- September 3, 2026
- Applies to
- WideSnap for Chrome
- Data sent to a server
- None
WideSnap is a local-first Chrome extension for capturing screenshots, recording the active tab or a selected viewport area when the user chooses that feature, annotating images, and exporting files from your browser.
Data Stored in Chrome Extension Storage
WideSnap stores extension data in Chrome extension storage:
-
screenshot history metadata, including the captured page title and
URL, in
chrome.storage.local -
saved screenshot image data for local history in
chrome.storage.local - editor drafts in
chrome.storage.local -
capture handoff data in
chrome.storage.local; a legacy localcaptureFeedbackvalue is read only for migration and removed on a bounded best-effort basis after a durable journal frontier -
active capture coordination and short-lived capture feedback in
generation-ordered
chrome.storage.sessionjournals, including the original tab and window IDs, page URL and title, document token, current capture state, and user-facing status/error text while relevant -
an active video-recording session in
chrome.storage.session, including its original tab/window, page title/URL, settings, start time, and current state - an internal local IndexedDB sequence generator used only to order screenshot, video, selected-area, and feedback journal owners across service-worker contexts and restarts; all temporary allocation rows are deleted in the same transaction, so only IndexedDB's auto-increment generator metadata persists and it contains no capture, page, media, or session content
- video recording chunks, the completed original WebM result, and a small local metadata index with an optional generated JPEG thumbnail used to reopen retained results from the popup in local extension IndexedDB; they become eligible for deletion after 24 hours and are removed on the next service-worker startup or result access; after Chrome confirms a direct download completed, the user can delete the local copy immediately or keep it until that cleanup, while interrupted or unverified downloads retain the original; a locally rendered trimmed derivative or animated GIF is downloaded separately and does not replace or delete the original
-
preferences such as theme, export format, capture delay, and editor
tool settings in
chrome.storage.sync
Active screenshot/video coordination and short-lived feedback stay local
to the browser in immutable session journals and are never synced.
Screenshot and selected-area coordination older than five minutes is
stale on the next coordinator access or rehydration. Video coordination
becomes inactive on completion, failure, or cancellation. Superseded,
terminal, consumed, or 10-minute-expired payload snapshots—including
page metadata and feedback text—and superseded terminal events are
removed by bounded best-effort compaction; only the newest small
frontiers and any still-required exact-owner tombstones remain until
Chrome clears extension session storage so delayed writes cannot revive
retired work. A separate local IndexedDB sequence allocator retains only
its internal auto-increment generator metadata so screenshot, video,
selected-area, and feedback journal owners remain ordered across
service-worker contexts and restarts; its temporary transaction rows are
deleted immediately and it contains no capture, page, media, or session
content. Video results and abandoned video chunks become eligible for
deletion after 24 hours and are removed on the next service-worker
startup or result access. A future-dated result caused by wall-clock
rollback is retained rather than deleted. After Chrome confirms a direct
original-video download completed, WideSnap asks whether to delete the
local result immediately or keep it until that cleanup; interrupted or
unverified downloads retain the result. Explicit deletion removes it
immediately, while downloading a trimmed derivative keeps its original
result. Capture-only recovery drafts that are not attached to history
become eligible for cleanup once older than 24 hours and are removed by
the next service-worker startup maintenance. Other local data is used
only to provide recent captures, video preview/download, draft recovery,
and export. Preferences in chrome.storage.sync may sync between
Chrome browsers through the user's Chrome profile when Chrome Sync is enabled.
No Backend Service or Human Access
WideSnap does not run a hosted backend service for extension usage. It does not upload captures, browsing activity, editor content, settings, or history to a WideSnap server. Because WideSnap has no backend collection path, the maintainer and other people cannot inspect extension data stored in the user's Chrome profile.
Chrome may sync preference values through the user's Chrome profile if Chrome Sync is enabled. That browser-managed sync behavior is controlled by the user's Chrome settings.
Chrome Web Store Data Use and Limited Use
WideSnap uses extension data only for screenshot capture, active-tab or selected-area video recording, annotation, export, local history, draft recovery, and settings. WideSnap does not sell or transfer extension data, use it for advertising or creditworthiness, or use it for purposes unrelated to these user-facing features.
The use of information received from Google APIs will adhere to the Chrome Web Store User Data Policy, including the Limited Use requirements.
Chrome Web Store dashboard disclosures must match this policy:
- user-initiated screenshots can contain website content
- recent history can include page titles and URLs
-
screenshot images and drafts stay in
chrome.storage.local - user-initiated active-tab or selected-area recordings and optional tab audio are processed locally; completed original WebM results become eligible for cleanup after 24 hours and are removed on the next service-worker startup or result access, with an explicit delete-or-keep-until-cleanup choice after Chrome confirms a direct download, while interrupted or unverified downloads and trimmed-derivative downloads retain the original
-
active screenshot/video coordination and short-lived feedback stay in
generation-ordered local-only
chrome.storage.sessionjournals and are not synced; retired payload snapshots and superseded terminal events are compacted while only the newest frontiers and still-required exact-owner markers remain until Chrome clears session storage - the local journal sequence allocator orders screenshot, video, selected-area, and feedback owners and retains only IndexedDB auto-increment generator metadata; each temporary allocation row is deleted in the same transaction, and the allocator contains no capture, page, media, or session content
-
preferences may sync through
chrome.storage.syncwhen Chrome Sync is enabled - WideSnap does not execute remotely hosted code or transmit extension data to a WideSnap backend
Page Access
WideSnap requests temporary access to the active tab only after the user explicitly starts a capture from the popup or a keyboard shortcut. Its bundled page-inspection helper is injected on demand for capture workflows such as full-page capture and region selection.
Video recording is separately started from the popup after an in-product
disclosure. WideSnap requests the optional tabCapture and offscreen permissions at that moment, records only the active tab selected by the
user or a fixed viewport area that user selects in that tab, and does not
request microphone or screen-sharing permission.
The extension does not register a persistent content script that
automatically runs during normal browsing, and it does not request
persistent host permissions such as <all_urls>.
Incognito
WideSnap declares incognito: not_allowed. Chrome does not
allow this build to be enabled in Incognito mode, so captures, page
titles, URLs, history, and drafts from an Incognito window cannot be
written into the extension's shared Chrome storage.
Permissions
WideSnap uses only these Chrome extension permissions:
-
activeTab: temporarily access the current tab after an explicit popup action or keyboard shortcut -
downloads: save user-requested image, PDF, original WebM, and trimmed WebM exports -
storage: store local history, drafts, capture handoff data, preferences, and short-lived local-only capture coordination -
scripting: inject the bundled capture helper only when a capture needs it -
unlimitedStorage: reduce storage pressure for large local screenshot history entries, editor handoff images, IndexedDB video chunks, and completed local WebM results -
optional
tabCapture: capture the visible media stream of the user-selected active tab for active-tab or selected-area video recording -
optional
offscreen: load the local MediaRecorder document after a user initiates video recording, release all media resources when recording ends, and safely reuse the media-free document until Chrome or the extension lifecycle discards it
Optional Support Links
Builds may include optional donation links in the popup About view if the maintainer sets support URLs at build time. These links open external websites in a browser tab. WideSnap does not send extension data to those sites.
User Control
Users can delete saved captures and clear extension data from the popup history controls or Chrome's extension storage controls. Users can delete a video from its editor. After Chrome confirms a direct download completed, WideSnap asks whether to delete the local original immediately or keep it until the 24-hour cleanup; interrupted or unverified downloads retain it. Downloading an edited WebM or GIF also keeps the original until deletion or cleanup. Capture-only recovery drafts without a history entry become eligible for cleanup once older than 24 hours and are removed by the next service-worker startup maintenance. Users can disable or uninstall WideSnap at any time.
Changes
This policy must be reviewed before each release, especially when permissions, storage behavior, network behavior, or Chrome Web Store listing text changes.
Contact
Questions about this policy can go to the maintainer, Ali Yılmaz. The extension's source and issue tracker are on GitHub.
Send an email