The short version
- Your YouTube data never leaves your browser. Titles, video IDs, channels, your playlists, your account — none of it is sent to us or to anyone else.
- What does leave is a random identifier and some counts. After you delete, unlike or move videos, or sync, the extension sends tidywl.com a random ID for your install and your lifetime totals: videos deleted, likes removed, videos moved, bulk operations run, the size of your Watch Later, and whether you're on Chrome or Firefox. Never which videos.
- There is no switch in the extension to turn this off on Chrome. Uninstalling stops it. On Firefox the switch is Firefox's own: the Technical and interaction data toggle under the add-on's Permissions and data.
- Records not updated for 12 months are deleted.
What stays in your browser
TidyWL works by calling YouTube's own endpoints with the session you are already signed in with, exactly as the YouTube web app does. Everything it fetches — your Watch Later, your Liked videos, any playlist you open, and the per-video details on each card — is cached in your browser's extension storage so the dashboard can search, sort and filter thousands of videos without re-fetching. That cache is namespaced per Google account and per playlist. It is never uploaded anywhere, and it goes away when you uninstall the extension.
No sign-in, no account with us, no API key, no OAuth token. TidyWL cannot read your YouTube data when you are not signed in to YouTube in that browser.
What TidyWL sends to tidywl.com
Two things, both to this site and nowhere else.
1. A public configuration file
On each YouTube page load the extension fetches a small public JSON file (/config/api-config-v2.json) and, when you open the dashboard, a notices file (/config/announcements.json). These tell the extension where to find fields in YouTube's responses, so that many YouTube-side changes can be fixed without shipping a new version. The requests carry no identifier and no payload; everyone receives the same bytes. Nothing fetched is executed as code.
2. A usage report
Each install carries a random identifier, generated in your browser when the extension is installed. It is not derived from, linked to, or stored alongside your Google account, your email, or anything else about you, and it is not shown anywhere in the extension. Reinstalling generates a new one.
Whenever one of your lifetime counts changes — after a delete, an unlike, a move, or a sync — the extension sends that identifier and the counts to https://tidywl.com/api/installs. The report is exactly this, and nothing else:
| Field | What it is |
|---|---|
| identifier | The random install ID described above. |
| browser | "chrome" or "firefox". |
| deleted | How many videos you have removed from Watch Later and from playlists, ever, with TidyWL. |
| unliked | How many likes you have removed, ever, with TidyWL. |
| moved | How many videos you have moved to another playlist, ever, with TidyWL. Copies are not counted. |
| operations | How many bulk runs you have completed — one per batch, whatever its size. |
| Watch Later size | How many videos were in your Watch Later the last time you synced it. |
Never sent: a video title, a video ID, a channel, a playlist name, a URL, a timestamp of when you did anything, your watch progress, your Google account or email, your extension settings, or an IP address the extension has read. The report format has no field that could hold any of these, so none can be sent by mistake.
Counts include what you did before 1.6.0. The extension has counted deletions locally since version 1.4.1 (that is what powers the "you've cleaned up N videos" note). Those totals are reported on the first YouTube page load after updating, so a long-time user's first report already carries their history. One consequence: likes removed before 1.6.0 were counted as deletions at the time and stay in the deleted total; they cannot be separated out after the fact.
No heartbeat, no install beacon. A report is sent only when a count has changed. An install that has never deleted, unliked, moved or synced anything sends nothing at all, and an install that is idle sends nothing while it is idle.
Why
To know how heavily TidyWL is actually used — how many installs clean up in one big purge versus a little every week, how large the lists are — which decides what gets built next. Reviews and donations are the only other signal and both come from a self-selected few. The numbers are used for that and for a public total on this site. They are not sold, not shared with anyone, and not used for advertising.
How to stop it
- Chrome (and other Chromium browsers): there is no setting in the extension to turn reporting off. Uninstalling the extension stops it, and the record expires after 12 months of no updates. We chose not to add a switch rather than add one and then design around people flipping it; that trade-off is ours and this page says so plainly.
- Firefox: Firefox shows a Technical and interaction data toggle for this add-on. On a fresh install it is in the install prompt, pre-ticked, and you can change it any time afterwards under
about:addons→ TidyWL → Permissions and data. If you already had TidyWL and updated to 1.6.0, Firefox does not ask and the toggle starts off — so the dashboard asks you once, the first time you open it after the update, and either answer can be changed there later. When it is off, the extension sends no report.
How long it is kept, and where
One record per install, on a server we run at tidywl.com — a Cloudflare Worker with a Cloudflare D1 database. The server keeps the highest value it has seen for each count and the latest Watch Later size. A record that has not been updated for 12 months is deleted; before deletion its counts are added to a single running total so the public number never goes backwards, and after deletion nothing about that install remains.
The server does not keep request logs, does not read or store the IP address your report arrives from, and has no error-tracking service attached. Cloudflare, which fronts the site, rate-limits the endpoint per address at its edge; that happens in Cloudflare's infrastructure under Cloudflare's own policies, and nothing about the address reaches the server or its database.
Requests about your data
Because the identifier is random and lives only in your browser's extension storage, we cannot tell which record is yours, and neither can you without reading the extension's storage directly. There is therefore no lookup, export or delete-on-request for individual records; expiry after 12 months of inactivity is the deletion mechanism. If you have a question anyway, write to [email protected].
The one thing you send yourself
Send to Gemini Notebook takes the videos you selected and adds their links as sources to a Gemini Notebook (formerly NotebookLM), using your own Google session. Those links go to Google, because that is the entire point of the feature. It only happens when you click the button, and only after you have granted the browser permission for notebook.google.com that the extension asks for the first time you use it. Google's handling of what arrives there is covered by Google's privacy policy, not this one.
Permissions, and what each one is for
- youtube.com — where the extension works. Reading, reordering and deleting your playlists is done by calling YouTube with your existing session.
- tidywl.com — the config and notices files, and the usage report, described above.
- Storage and unlimited storage — the local playlist caches. "Unlimited" only raises the local quota so that syncing every playlist you own does not fail part-way; it sends nothing.
- Active tab — so the toolbar popup can tell whether you are on a playlist page.
- Scripting — used for one thing: adding sources to a Gemini Notebook tab, after you have granted that site.
- Downloads (asked for the first time you download transcripts) — writing transcript files to your Downloads folder. Decline it and the extension offers a Save button instead.
- notebook.google.com (asked the first time you send to Gemini Notebook) — see above. Decline it and the links are copied to your clipboard instead.
Visiting this website
Everything above is about the extension. This section is about tidywl.com itself, which is a separate thing you may use without ever installing anything.
There is no analytics on this site. No Google Analytics, no Plausible, no Fathom, no pixel, no tag manager, no session recorder. We do not know how many people read this page, which pages they came from, or what they clicked. The only usage number we have anywhere is the extension's own counter described above, and the store's own dashboard.
We set no cookies of our own. The site stores exactly one thing in your browser: whether you chose light or dark mode, kept in local storage under theme, written only when you click the toggle and never sent anywhere. Clear your site data and it is gone.
Our host sets one. The site is served through Cloudflare, which sets a short-lived cookie (__cf_bm) to tell browsers apart from bots. It is a security measure, it expires within half an hour, and it is not used to profile you or to advertise.
The demo video does not load until you press play. The thumbnail on the front page is an image on our own server, not an embed. Only when you click it does a YouTube player load, from youtube-nocookie.com, and only then does YouTube see you. If you never press play, no request reaches Google at all.
Fonts are served from here, not from Google. The typeface is stored on our own server, so loading a page on this site does not tell Google you did.
Web servers necessarily see the IP address of whoever asks for a page; Cloudflare's are kept briefly for security and abuse handling, and we do not build them into logs, profiles or reports of our own.
What is not in this policy, on purpose
No analytics library, no crash reporter, no advertising SDK, no third-party script of any kind runs inside the extension. The extension ships unminified — every file in the package is the source — so anyone who wants to check what it sends can read it rather than take this page's word for it.
Changes to this policy
- 2026-09-04 — added Visiting this website. Nothing about the extension changed. The site itself gained no tracking; the section documents what was already true, and two third-party requests were removed rather than disclosed — the typeface now loads from this server instead of Google's, and the demo video loads nothing until you press play.
- 2026-08-29 — first version, published ahead of 1.6.0 and effective from the day it ships. Until this version the extension sent nothing about you or your install; the usage report described above is new.
Material changes will be listed here with a date and announced in the dashboard's What's New. This page is the policy linked from the Chrome Web Store listing and from the Firefox add-on.