Plain-English privacy

The work happens on your machine.

There is one optional feature that sends data while the extension is installed. It ships switched off, asks once, and is never required for downloading. After removal, Chrome can also open the uninstall page with only the extension version in its address.

Last updated: August 25, 2026 · Applies to version 1.0.0

Privacy Policy — Simply Video Downloader Pro

This policy describes exactly what the extension does with data. It is written to be checkable: every claim below corresponds to code you can read in the extension's own source.

Everything the extension does for you — finding media, reading manifests, downloading and joining stream segments — happens on your machine. There is no account, no remote processing, and no code loaded from a server.

What is always local

DataWhere it livesLifetime
Media found on a pagechrome.storage.session (memory only)Cleared when you navigate away, close the tab, or quit the browser. Never written to disk.
Your settingschrome.storage.localUntil you change them or uninstall. Never synced to your Google account.
Your consent choicechrome.storage.localUntil you change it or uninstall.

chrome.storage.sync is not used anywhere in this extension. Nothing about how you use it follows you to another computer or another Chrome profile.

Reading a page's own media responses

On facebook.com, fb.com, instagram.com, vimeo.com and udemy.com only — including their subdomains — the extension reads a cloned copy of selected media API responses because those sites can place playable media addresses in responses that never reach the page markup. The page's original response is untouched.

Only fixed media endpoint patterns are examined. Responses over 6 MB are skipped and no more than 300 are read per page. The copy is scanned in the page for media addresses and then discarded. Response bodies are not stored, transmitted, or added to optional page-address sharing.

Network requests made on your behalf

When you click Download, the extension requests the media file you selected — and, for a stream, its manifest and segments. These go directly to the site hosting the media, exactly as your browser would if you played the video. They carry your existing cookies for that site, because otherwise media you are logged in to see would fail to download.

No copy of the file, the address, or the fact that you downloaded it is sent anywhere else.

The one optional feature: page-address sharing

Default: off. You are asked once. You can change it any time in Settings → Privacy.

What it is for

Media detection breaks on some sites. Knowing which pages people were on when nothing was found is what makes those sites fixable.

What is sent, if you turn it on

Batched, roughly every minute or every 25 events:

  • The full address of pages you visit, and the address of the page that linked you there (document.referrer, read by the content script in the top frame only)
  • A random identifier generated on your machine, which stays the same for this installation
  • The extension version

Sent to https://svdp.simplyapphub.com/v1/coverage. Your consent choice itself — on or off, and when — is sent to https://svdp.simplyapphub.com/v1/preferences.

What this means in practice

Full page addresses are sent, so anything a site places in an address is included. Because a stable identifier is attached to every event, this data is not anonymous — it links your visits to one another. We are stating that plainly rather than describing it as "anonymous" or "aggregated", because attaching a persistent identifier to a stream of addresses is neither.

Limits that apply whether or not you opt in

These are enforced in code:

  • No page addresses are ever sent while the switch is off. Consent is checked on the hot path, not just at the dialog.
  • Declining sends nothing at all. Choosing "No thanks", at first run or later, is recorded only on your machine. The one exception to the bullet above is the single revoke record described below, sent when you turn sharing off after having had it on — and it carries no identifier.
  • Nothing is ever sent from an Incognito window.
  • Private and local addresses are skippedlocalhost, *.local, *.internal, and RFC 1918 / loopback / link-local IP ranges.
  • Only http: and https: addresses qualify. Browser-internal pages, extension pages and file addresses never qualify.
  • Credentials are stripped. Any user:password@ is removed, the fragment is dropped, and the values of common credential and session parameters are blanked: token, access_token, id_token, refresh_token, auth, authorization, key, api_key, secret, password, session, sid, sso, code, otp, signature, email, reset, invite, confirmation_token, unsubscribe, and others.
  • Adult sites are excluded outright. The extension carries a built-in list of adult hosts whose addresses are never reported, whatever your setting. Detection and downloading work on those sites exactly as anywhere else — the list is a privacy safeguard, not a restriction on what you can save.
  • The identifier lives in storage.local, not storage.sync, so it does not follow you to other Chrome profiles.
  • Consecutive duplicate addresses are collapsed, so a single-page app changing routes does not multiply events.

Turning it off

Settings → Privacy → Send page addresses.

Switching it off does three things immediately: it discards anything still queued, it deletes the identifier from your machine, and it sends a deliberately unidentified revoke record — with no identifier attached, so it cannot be used to re-link a previously shared profile.

Permissions, and why each one is needed

PermissionWhy
webRequestObserve response headers to spot media the page fetches at runtime. Read-only — registered without the blocking option, so it can neither modify nor delay any request. Response bodies are read only for the named media endpoints above and only locally.
host_permissions: <all_urls>Media can be on any site, and downloading a stream means fetching segments from whichever CDN serves it.
downloadsSave the file you picked.
storageYour settings and the current tab's media list.
tabsKnow which page the panel is describing, and clear the list on navigation.
activeTabAct on the tab from which you opened the extension panel.
scriptingRe-inject the detector when you press Rescan on a page that loaded before the extension did.
offscreenAssemble stream segments and parse DASH manifests — neither is possible in a service worker.
alarmsFlush the optional page-address queue on a timer that survives the service worker sleeping. No alarm is set unless you have opted in and the queue is non-empty.
declarativeNetRequestWithHostAccessSet a Referer/Origin header on the extension's own segment, key and file fetches while a download is running, so hotlink-protected CDNs do not reject them. Scoped to our own requests, never applied to page traffic, and removed when the download ends. It cannot read, block or redirect any request.

Optional permissions — asked for only if you enable the feature

It is not requested at install time, and detection and downloading work exactly the same without it.

PermissionRequested whenUsed for
managementYou switch on Warn about conflicting extensionsReads the names of enabled extensions to spot another media downloader. Nothing is transmitted; the check is local and the result is a banner in the panel.

management is the only optional permission. Switching the conflict warning off releases it again.

Permissions deliberately not requested

  • history — the extension never reads your browsing history. The optional feature above reports pages as you visit them; it cannot and does not read what you visited before it was turned on.
  • cookies — the extension does not read cookies through the extensions API. Media requests can carry the browser's existing cookies for the hosting site, but the extension cannot read them.
  • bookmarks, geolocation, identity, clipboardRead, unlimitedStorage — not requested.

One more outbound request

chrome.runtime.setUninstallURL opens https://svdp.simplyapphub.com/uninstall in a tab after you remove the extension, so uninstall reasons can be collected. It carries the version number and nothing else — no identifier, no history — and it cannot run while the extension is installed.

No remote code

All code the extension runs is packaged inside the extension. It does not download, evaluate or execute any remote or third-party code, and it loads no fonts, scripts or stylesheets from the network.

Data sharing and sale

We do not sell your personal information, and we do not share or transfer it to third parties. The optional page-address data described above is used solely to improve media detection coverage in this extension, which is its single purpose. It is not used for advertising, profiling, creditworthiness or lending.

What the extension will not do

Simply Video Downloader Pro does not bypass DRM or paywalls. Widevine, PlayReady, FairPlay and SAMPLE-AES protected streams are detected, clearly flagged, and refused. YouTube is excluded. Please save only media you own or have permission to download, and follow each site's terms of service.

Children

This extension is a general-purpose tool, is not directed at children under 13, and does not knowingly collect data from them.

Changes to this policy

Material changes will be accompanied by a version bump and, where the change affects what is sent, a fresh consent prompt. The "Last updated" date above will be revised.

Contact

Questions? Email [email protected].