Privacy

What this site stores

Reading Open Channel Stats needs no account and sets no cookies — the few things it remembers live in your own browser. Signing in to connect your own channel is a separate, opt-in step. This page names what each part collects, where it is held, and how to remove it.

7browser-local keysEach is written to your browser only and clears with any browser-data reset.Last updated June 20, 2026. Material changes to how data is handled are noted here.

When you’re just reading

The site is built to read in full with nothing running — no analytics, no cookies, no third-party tracking. These are the things reading deliberately does not gather. Signing in to connect a channel is a separate step, named in the bands below.

  • No account to read

    Reading every page works with no sign-in, no login, and no profile — browsing is anonymous. Signing in to connect your own channel is a separate, opt-in step, named under “When you sign in” below.

  • No cookies for reading

    Reading the site sets no cookies of its own; every page reads the same whether your browser accepts cookies or not. The signed-in connect flow does set a session cookie — named under “When you sign in.”

  • No third-party tracking

    There are no ad pixels, no marketing SDKs, and no cross-site trackers embedded in the pages. Page views are counted anonymously — no cookies, no tracking IDs, no profile — as named under “How page views are counted” below.

  • No server record of readers

    The reading site is a set of static files; no application server holds a record of who read what. Connecting a channel does create an account — see “When you sign in” below.

What your browser keeps

A few visitor-experience features write to your browser’s localStorage. Nothing here is sent to any server. The time-machine view also keeps a short list of the dates you’ve opened in sessionStorage, which clears the moment you close the tab.

  • Keyytpool_theme
    What it holds

    Which color theme you last chose — dark or daylight — so the next page you open renders in that theme straight away, without a flash of the other one first.

  • Keyytpool_motion
    What it holds

    Your motion setting — full or reduced animation — so the site honors that choice on every later visit. A small script reads it before the first paint, so the page never starts animating against the setting.

  • Keyytpool_last_visit
    What it holds

    A snapshot of the channel's headline numbers from your previous visit — used to compute the “since you last visited” delta line the next time you land on the home page. Channels other than the featured one store theirs under a per-channel variant of this key, so each channel's delta only ever compares against its own numbers.

  • Keyytpool_compare_selection
    What it holds

    Your in-progress comparison picks on the compare tool (up to three video IDs), kept across a refresh or a back-navigation so the selection survives. Each channel stores its picks under a per-channel variant of this key, so one channel's selection never carries into another's.

  • Keyytpool_videos_view
    What it holds

    Whether you last read the video catalog as a grid or a table, so it opens the way you left it.

  • Keyytpool_anomaly_overlay
    What it holds

    Whether the anomaly overlay on the charts is switched on, so the toggle stays where you set it. It starts off and is only written once you turn it on.

  • Keyytpool_timespine_entrance_seen
    What it holds

    A one-time marker, set after the story page's timeline entrance has played once, so that animation doesn't replay every time you open the page. It records only that the animation has run before — nothing about you.

How page views are counted

The public pages keep one count — how many times each page is read — measured without cookies or tracking IDs. Who hosts the files is named under “Who else handles your data” below.

  • Cloudflare Web Analytics

    Page views are counted with Cloudflare Web Analytics, which is anonymous: no cookies, no tracking IDs, and no browser fingerprinting. As the network serving the files, the CDN may log the requests it handles, per its own privacy policy.

When you sign in

Separate from reading: when a creator signs in with Google to connect a channel, the app collects the sign-in details below to authenticate you, keep you signed in, and read your channel’s data on your behalf. What it collects, where it is held, and how to remove it are named here.

  • What signing in collects

    Through Google sign-in: your Google account name, email address, and profile image. An authentication record — the Google sign-in tokens (access, refresh, and ID tokens) and the scopes you granted. And, for each session, your IP address, your browser’s user-agent string, and a session token.

  • Cookies the signed-in flow sets

    Signing in sets a session cookie that keeps you signed in across pages, plus short-lived encrypted cookies that secure the connect and disconnect steps against cross-site requests. These exist only for the signed-in flow; reading the public site sets none.

  • Where it is held, and why

    Your sign-in record and sessions are kept in a private registry database (Cloudflare D1, encrypted at rest); the YouTube sign-in keys are stored encrypted (AES-256-GCM) in a private object store (Cloudflare R2), reached only over encrypted (HTTPS/TLS) connections and decrypted only to mint the short-lived, read-only access tokens that read your channel’s data. Access is restricted to the service itself, and none of it is ever part of anything published. It is used only to authenticate you, keep you signed in, and read your channel on your behalf — never sold, never used for advertising.

  • Keeping and deleting it

    Your sign-in details and session are kept only while your account is connected, and the sign-in authorization is re-checked at least every 30 days (in practice, daily). Disconnecting a channel deletes that channel’s data and access keys (named in the next band). To delete your account and sign-in identity entirely — name, email, profile image, and sessions — use the Delete account control in your account settings (it disconnects every channel and erases your identity, including the stored sign-in keys), or email hello@openchannelstats.com.

When you connect a channel

Separate from anything about you as a reader: when a creator signs in and connects their own YouTube channel, the app reads that channel’s own data through the YouTube API to build its dashboard. This site uses YouTube API Services. What it reads, how it is held, and how to remove it are named here.

  • What it reads, and why

    Two read-only scopes, each tied to one purpose. youtube.readonly reads the channel’s own catalog metadata — channel and video IDs, titles, publish dates, privacy status, and thumbnails — to identify and label each video. yt-analytics.readonly reads the owner-only analytics — views, watch time, retention, impressions, click rate, traffic sources, and subscriber change — that the charts and projections are built from. Both are read-only: the app can read these stats and cannot upload, edit, or delete anything on the channel.

  • How it is held, and who sees it

    The access key YouTube issues is stored encrypted and is never part of anything published. The channel’s data is the authorizing owner’s own: it is never sold and never used for advertising. Open Channel Stats’s use and transfer of information received from Google APIs adheres to the Google API Services User Data Policy, including the Limited Use requirements. The owner controls who sees the dashboard: it is private — visible only to the signed-in owner — by default, or the owner can choose to make their own channel public, to share its stats and videos with other creators following how the channel is progressing.

  • Disconnecting, and deletion

    Disconnecting in the app revokes the access key and deletes the channel’s stored data within seven days. Revoking access instead from your Google Account permissions has the same effect, with deletion within thirty days. Deleting your data here does not change anything on YouTube itself; to manage or remove videos and data on YouTube, use the YouTube app or site. The site’s use of the API is also governed by the YouTube Terms of Service, the Google Privacy Policy, and this site’s own terms of use.

Who else handles your data

To run the service, your data passes through a small number of infrastructure providers acting only on Open Channel Stats’s behalf. It is never shared with anyone for their own purposes, never sold, and never used for advertising.

  • The providers that run it

    Open Channel Stats runs on Cloudflare — it serves the site, runs the application that handles sign-in, holds the private registry database, and stores your encrypted sign-in keys and your channel’s private data. The daily build that reads your channel’s data from the YouTube API and rebuilds your dashboard runs on GitHub Actions. Both act only as processors on this site’s behalf, under their own security and privacy terms; neither uses your data for its own purposes.

  • Operational monitoring

    To keep the daily build healthy, the system may send an operational alert (for example, when a channel’s authorization has lapsed) to a private monitoring endpoint. Those alerts carry only an internal channel reference and a status — never your name, email, sign-in keys, or any of your channel’s data.

  • Used only to run this service

    What the YouTube API returns and your sign-in details are used only to operate Open Channel Stats for you. They are never sold, never used for advertising, and never handed to any third party for that party’s own purposes — the providers above act solely on this site’s behalf. The one case where a channel’s statistics are combined with other channels’ is the owner-initiated shared pool described below, and even then the published aggregates never name a contributing channel. This site’s handling of Google API data follows the Google API Services User Data Policy, including its Limited Use requirements.

What channels share

Separate from anything about you as a reader: a channel’s owner can opt that channel into a shared pool of channel statistics. That choice has public consequences, and they are named here.

  • Opt-in only, never served raw

    No channel contributes by default; an owner opts in explicitly. The pooled dataset itself is never published — no page, for any visitor, reads it directly. What the pool computes reaches this site only inside pages rebuilt by the daily build, and aggregate figures drawn from it never name a contributing channel.

  • Public and pooled means named

    A channel that is both public and sharing to the pool is displayed by name — its handle, title, the headline numbers its own public page already shows, and its own views-over-time curve — side by side with the other sharing channels. That named placement appears in one place — the channel directory (an explorable neighborhood of those channels). It shows the same already-public numbers placed next to each other — never a score, a rank, or a difference computed between channels. A private channel is named nowhere, pooled or not.

  • Leaving is forward-only

    Opting out deletes a channel’s contributed data and removes its named listing on the next daily build. Copies made while it was listed — search caches, web archives, saved downloads — are outside this site’s reach, and opting out does not remove them.

Keep verifying

The rest of the honesty layer

This privacy note sits beside the other trust surfaces. Each names a different part of what the data is, where it came from, and what it can and can't say.