Privacy policy

What we collect don't.

The short version: nothing leaves your machine. The long version is below — covering both the website you are reading right now and the Chrome extension itself.

Last updated: 2026-04-30 · Effective: 2026-04-30 · Applies to: CleanDis website + Chrome extension v1.1.0

[01]
tl;dr

In one paragraph.

CleanDis collects zero personal data. The Chrome extension stores your settings in your own browser via chrome.storage.local and never transmits them anywhere. The only network requests it ever makes are to Discord's own API — and only when you explicitly trigger a chat export. The website you are reading does not run analytics, tracking pixels, fingerprinting scripts, or third-party advertising. There are no accounts, no logins, no cookies set by us.

[02]
The Chrome extension

What the extension does with data.

What it stores locally

The extension uses chrome.storage.local — a browser API that writes to your computer's local profile and is not synchronized to any cloud account. The keys it writes:

  • Hide-toggle states (servers, members, rooms, ignored, blocked, GIFs, URL embeds, attachments, emojis, reactions, hover spotlight)
  • Active theme id, prebaked-theme overrides, custom user themes
  • Blocked-handle list, blocked-keyword list, filters-active flag
  • Watchlist of usernames, alerts-active flag
  • Export-form preferences (range type, last-N count, since-date)
  • Auto-Delete channel opt-in list, timer presets, pending-delete queue, and last 100 deletion log entries
  • Schema version number (for additive migrations)

None of these contain your Discord username, password, email, real name, IP address, or any unique identifier we generate.

What it sends over the network

The extension makes network requests in two cases:
1. Chat Export (read-only). When you click "Export" in the Library tab, CleanDis paginates GET /api/v9/channels/{id}/messages with your own auth token.
2. Auto-Delete (write). When an Auto-Delete timer fires, CleanDis sends DELETE /api/v9/channels/{id}/messages/{id} with your own auth token to delete one of your own messages.
Both call destinations are discord.com only — never to CleanDis-controlled servers, never to analytics providers, never to any third party.

How your Discord auth token is handled

To make Discord API calls during chat export and to fire DELETE requests during Auto-Delete, the extension needs your auth token. It is handled with strict discipline:

  • Read once from window.localStorage.getItem('token') on the Discord tab — this is where Discord's own web app stores it.
  • Held in service-worker memory for the duration of one operation (one export, or one delete request).
  • Explicitly set to null in a finally block when the operation completes (success or failure).
  • Never written to chrome.storage.
  • Never logged with its value — only a boolean ("did we find one?") is logged in the developer console.
  • Never transmitted to any destination other than discord.com.

Exported files

When you export a channel, the resulting JSON / CSV file is delivered via Chrome's chrome.downloads API to your normal Downloads folder. The extension does not retain a copy. The file's contents are entirely your own.

Permissions, justified

  • storage — to save your settings locally.
  • scripting — so the content script can run on Discord pages and modify the DOM (apply hide gates, tag blocked-user rows, inject the cog button).
  • downloads — so chat export can deliver JSON / CSV files to your Downloads folder.
  • host_permissions: *://*.discord.com/* — so the content script can run on Discord and the service worker can fetch from Discord's API. Not used for any other domain.
[03]
The website

What this site does.

This website (CleanDis site, including the home / FAQ / privacy / terms pages) serves static HTML, CSS, and a tiny script for fade-in-on-scroll. It is intended as marketing and legal-disclosure material for the Chrome extension.

What it loads from third parties

The site loads three font families from Google Fonts (fonts.googleapis.com, fonts.gstatic.com): JetBrains Mono, VT323, and Geist. Google's own privacy practices apply to those font requests. We do not pass any identifying information to Google in the request — your browser sends only the standard headers (User-Agent, IP) it sends to any HTTP destination.

If you'd prefer to avoid that, install a font-blocker extension or use a font-blocking browser. The site will fall back to your system fonts and remain readable.

What this site does not do

  • No Google Analytics, Plausible, Mixpanel, or any analytics SDK.
  • No advertising scripts, no Google Tag Manager, no Facebook Pixel.
  • No first-party cookies. No localStorage writes from the site itself.
  • No account system, no email collection, no contact form.
  • No fingerprinting scripts, no session-replay tools.

Server logs

The static host serving this site may keep standard HTTP access logs (timestamp, IP, requested path, user-agent) for security and abuse-prevention reasons. These logs are not used for analytics, are not shared with third parties, and are not joined with any other data set.

[04]
Children & jurisdiction

Who can use this.

CleanDis is a third-party utility for Discord. Discord's own Terms of Service set the minimum age for using Discord. CleanDis does not collect data about anyone, of any age, from any jurisdiction — but if you are not eligible to use Discord, you should not be installing tooling that runs on top of it.

Because we do not collect any personal data, GDPR / CCPA / equivalent data-subject requests have nothing to fulfill: there is nothing for us to access, port, or delete on our side. Your local settings are deleted by removing the extension via chrome://extensions/.

[05]
Changes

If this policy changes.

If we ever amend this policy in a way that materially changes how the extension or website handles data, we will:

  • Update the "Last updated" stamp at the top of this page.
  • Bump the extension's manifest.json version.
  • Note the change in the Chrome Web Store listing's release notes.

Continued use of the extension or website after a material change indicates your acceptance of the revised policy. If you don't accept it, uninstall the extension via chrome://extensions/ and stop loading this site.