Privacy policy

What stays in your browser, what leaves, and how to stop it.

Applies to YouTube Watch Later Tidy (TidyWL) version 1.6.0 and later, on Chrome and Firefox. Published 2026-08-29, ahead of the 1.6.0 release; effective from the day 1.6.0 ships. Versions before 1.6.0 sent nothing about you or your install anywhere; that changed in 1.6.0, and this page exists because of it. Updated 2026-09-07 for version 2.0.0, which adds a paid tier and a Lineup that reads your watch history. If you never buy Pro, the TidyWL Pro sections below do not apply to you.

The short version

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.

The Lineup reads two more things, and they stay here as well. To suggest what to watch next, the Lineup reads your own YouTube watch history and your list of subscribed channels — the same way it reads a playlist, through YouTube's own endpoints with the session you are already signed in with. It also asks YouTube which category each video is in, so it can tell music from the rest. All three are cached in extension storage, per Google account, and re-read about once a day: wl_watch_history_<account>, wl_subscriptions_<account> and wl_video_category_<account>. The whole ranking — which videos are picked, and why — is worked out on your machine. None of it is sent to tidywl.com or anywhere else, and nothing derived from it appears in the usage report below. Uninstalling removes all three.

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. Pro does not change that: a licence key is not an account. There is no password, no profile, and we never learn your email address.

What TidyWL sends to tidywl.com

Three things, all to this site and nowhere else. The third only happens if you buy Pro.

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, a sync, or a Lineup — the extension sends that identifier and the counts to https://tidywl.com/api/installs. The report is exactly this, and nothing else:

FieldWhat it is
identifierThe random install ID described above.
browser"chrome" or "firefox".
deletedHow many videos you have removed from Watch Later and from playlists, ever, with TidyWL.
unlikedHow many likes you have removed, ever, with TidyWL.
movedHow many videos you have moved to another playlist, ever, with TidyWL. Copies are not counted.
operationsHow many bulk runs you have completed — one per batch, whatever its size.
lineupsHow many times you have built a Lineup, ever, with TidyWL.
lineups_savedHow many of those you saved as a YouTube playlist.
Watch Later sizeHow 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 watch history, your subscriptions, your Google account or email, your licence key, 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.

The two Lineup counts are counts and nothing else. They say how often the feature was used, never what it suggested, what you watched, or which playlist you saved.

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 done any of the things counted above sends nothing at all, and an install that is idle sends nothing while it is idle.

3. A licence check, if you buy Pro

A free install never calls these endpoints. Nothing in this section happens until you enter a key.

Buying Pro gets you a licence key — about twenty random characters, made by our server. It is not derived from your email, your name or anything else about you. It is kept in the extension's synced storage, so it follows your browser profile to your other computers.

The extension sends that key to https://tidywl.com/api/license/… to switch Pro on, and sends it again to check the subscription is still live — at most once every 15 minutes, and only while the dashboard is open. The interval is short on purpose: it is how a cancelled subscription, or a device you removed from another computer, stops working here within minutes instead of a day. If the server cannot be reached at all, Pro keeps working for 14 days and then switches itself off.

Each call carries the key, the activation ID for this device, and — the first time only — the device name you typed. Nothing about your playlists, your videos, your watch history or your Google account goes with it. The same is true of the button that removes a device and the one that opens the billing portal.

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

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.

TidyWL Pro — what the licence record holds

Buying Pro creates rows in that same database. There are two kinds, and this is all of it.

The licence

One row per subscription. It holds a fingerprint of your key (the key itself is stored encrypted, so the checkout page can show it to you again, and never in readable form), which plan you are on, whether the subscription is active, past due, cancelled, expired or refunded, whether it is a trial, how many devices it allows, when the next charge is due, when the paid period ends, and Paddle's own identifiers for the subscription and for you as their customer.

Not your email, not your name, not your address, not one digit of your card. None of those ever reach us. Paddle's customer identifier is the only thing on the row that points at a person, and only Paddle can turn it back into one.

The activation

One row per device you switch Pro on. It holds an activation ID we generate, which licence it belongs to, the device name, when it was activated, and when it last checked in. The name is yours to choose — the dashboard fills the box with something like "Chrome on Mac" so the list is not full of blanks, and you can type anything over it.

A key activates on 3 devices. The About modal shows the whole list — every device, its name, when it was added, when it was last seen — and you can remove any of them from any device. Removing one frees the seat straight away; that device drops back to free at its next check, within 15 minutes.

Deactivating deletes the activation row outright. The licence row stays while the subscription exists, and after you cancel, so the key still works if you come back. Ask us and we will delete that too — see below.

Renewal dates

When Paddle tells our server that a subscription started, renewed, failed or was cancelled, the message carries the date of the next charge and the date the paid period ends. Both are stored on the licence row, and the extension reads them back. That is the only reason the About modal can say "Renews Oct 5, 2026" instead of saying nothing.

Paddle, who takes the money

TidyWL Pro is sold through Paddle, which is the merchant of record — legally the seller, and the one that charges you, files the sales tax and handles refunds. The checkout runs on Paddle's own page, in an ordinary browser tab, not inside the extension.

Your card details, billing address and email go to Paddle, and never to us. What Paddle tells us is: this subscription exists, this is its plan, this is whether it is paid, and here are Paddle's own reference numbers for the subscription and for the customer. What Paddle does with what you gave them is covered by Paddle's privacy policy, not this one.

The page you land on after paying. Paddle sends you back to a page on this site with the transaction number in the address, and the page trades that number for your key. Paddle also puts your email address in the same address bar. The page does not read it, does not store it, and does not pass it on.

Manage subscription. The button in the About modal asks our server for a link into Paddle's customer portal, where you can cancel, change your card or download invoices. The server looks up your Paddle customer identifier, asks Paddle for a signed-in link to that account, and hands it straight back for the browser to open in a new tab. It only happens when you click it. That link is a credential, so it is never written down: not stored, not logged, not kept once the tab is open.

Requests about your data

Because the usage identifier is random and lives only in your browser's extension storage, we cannot tell which usage 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 those records; expiry after 12 months of inactivity is the deletion mechanism. If you have a question anyway, write to [email protected].

A Pro licence is different, because the key identifies it. Write to [email protected] from any address and quote your key, and we can tell you exactly what is on your licence row, or delete the row and every activation on it. Deleting it is permanent — the key stops working and cannot be restored — so cancel your subscription with Paddle first. Anything Paddle holds, including your email and your invoices, has to be asked of Paddle.

What 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

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.

No payment script runs here either. Buying Pro takes you to Paddle's own checkout on Paddle's own domain; this site loads nothing from Paddle. The one page that talks to Paddle at all is the one you land on afterwards, which reads the transaction number out of the address and asks our server for your key — described under Paddle above.

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

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.

Questions? [email protected], or the Discord. Back to what TidyWL does.