Current storage inventory
Supporter session cookie
After a valid Supporter key is activated, NSFWDL sets supporter_session. It is needed to recognize the temporary entitlement, is HTTP-only, Secure by default, SameSite=Lax, scoped to the site, and expires no later than the activation key. The server stores only a hash of its random token. Free use does not need this cookie.
Smart-route session storage
When the homepage sends a public source URL to a dedicated or universal downloader page, NSFWDL briefly stores that URL in the browser's session storage. The destination page consumes and removes it before extraction; entries older than about two minutes are rejected. This prevents the adult URL from being placed in the destination query string or browser-history URL.
Analytics preference (nsfwdl_analytics_consent_v1)
A local-storage entry records whether a visitor accepted or rejected optional analytics, so the choice is remembered on return visits and is not asked again. It holds only that decision — never a submitted URL, title, or media detail — and is specific to NSFWDL; it is not shared with any other site the operator runs.
Google Analytics 4 (only after acceptance)
If, and only if, a visitor presses Accept on the analytics banner, Google's own gtag.js is loaded and Google Analytics sets its own first-party measurement cookies (typically _ga and a per-property _ga_<container id> cookie) to distinguish sessions. These are Google's cookies, governed by Google's own retention; NSFWDL does not read or extend them. Rejecting analytics, or never answering, means this tag is never requested and these cookies are never set.
Ordinary browser caching is constrained by Cache-Control: no-store.
Strictly necessary, security, and functionality storage
Storage strictly necessary to deliver a feature the user requested may be used without optional-tracking consent where applicable law permits. It must remain limited to that purpose. The Supporter cookie is set only when a user activates Supporter access; the short-lived session-storage handoff occurs only when the user submits a URL for smart routing; the analytics-preference entry only records a yes/no choice, never a tracking identifier by itself.
Analytics: optional, active only after acceptance
NSFWDL uses Google Analytics 4 to understand aggregate traffic and product usage — for example, whether a particular referral source is sending visitors to the site. Analytics is optional. Before an explicit choice is made, and whenever a visitor presses Reject, no Google tag is requested and no request reaches googletagmanager.com or any Google Analytics domain at all — not a cookieless "consent mode" measurement, no request of any kind.
Only after a visitor presses Accept does NSFWDL insert Google's gtag.js and configure Google Analytics 4 with a distinct measurement ID for this site. Google's advertising consent signals — ad_storage, ad_user_data, and ad_personalization — are explicitly kept denied at all times, whether or not analytics is accepted. Google Signals and ad-personalization signals are also explicitly disabled at configuration time. NSFWDL does not use Google Ads, remarketing, or any advertising product alongside this Analytics property.
NSFWDL's analytics events are deliberately narrow: a small, fixed set of product actions (for example, that an extraction was attempted, succeeded, or failed; that a download started or completed) with a small, fixed set of neutral parameters (for example, which of the 13 supported source platforms, whether the visitor is on mobile or desktop, or a bounded internal error category). The pasted source URL, extracted media title, performer or uploader name, tags, thumbnail address, direct media/CDN address, download filename, and Supporter key/session/donor data are never sent to Google, by design — the code path that reports analytics events has no access to them and independently rejects any value that is not a short, plain internal category name.
Google Analytics does apply its own standard campaign and referrer attribution once a visitor accepts — for example, recognizing that a visit arrived from a specific social-media post — using the ordinary web mechanism of a tagged link's query string and the browser's referrer, ended once analytics is loaded. NSFWDL does not separately collect or store that information itself, and the canonical address, sitemap entry, and search-indexing identity of every page stay exactly the same regardless of how a visitor arrived.
Advertising: not active
No third-party advertising network or advertising script is currently configured. If one is later selected, NSFWDL must update this page and the Privacy Policy with the provider's identity, purposes, data types, storage, consent controls, transfers, and retention before activation. Rejecting optional advertising storage must not block the core downloader.
Product policy prohibits forced redirects, pop-ups or popunders, fake download buttons, controls that disguise ads as NSFWDL actions, mandatory ad clicks, and automatic new tabs. NSFWDL will not give an ad provider the user's submitted adult URL, download filename, title, performer, tag, or extracted-media metadata.
Affiliate links
Affiliate links, if introduced, will be visibly identified. Clicking one sends the browser to an external service. That destination may receive the user's IP address, browser/device data, time, destination URL, and an affiliate or campaign identifier under its own policy. NSFWDL's current Referrer-Policy: no-referrer prevents the browser from sending the NSFWDL page address as a referrer, but the affiliate link itself may contain a non-sensitive campaign code. It must never include the pasted adult URL or extracted media data.
Consent choices and withdrawal
Accept and Reject are presented as two genuine, equally-sized choices; no default is pre-selected and no design pressures a visitor toward Accept. Nothing optional runs before that choice is made. A persistent "Analytics preferences" control, available in the site footer whenever analytics is configured, reopens the same banner so a visitor can review or change their decision at any time — including switching from accepted to rejected, which stops NSFWDL from loading the Google tag on any later page view. Withdrawal stops future optional processing but does not undo processing Google already performed lawfully before withdrawal.
Declining analytics never disables URL extraction or downloading — the two are entirely independent, and the downloader behaves identically whether analytics is accepted, rejected, blocked by an extension, or simply unavailable. The consent decision itself is stored in nsfwdl_analytics_consent_v1, described above.
Browser controls
Browsers can inspect, block, or delete cookies and site storage. Deleting the Supporter session cookie logs the browser out of Supporter access; the activation key can be used again if still valid and not revoked. Clearing session storage can cancel an in-progress smart-route handoff, but a URL can still be pasted directly on the destination downloader page.
Questions
See the Privacy Policy for the broader data flow or use the privacy contact category.