A lightweight, set-and-forget plugin to kill Discord's built-in tracking and telemetry. Works right out of the box as a plugin for BetterDiscord. Just put it in your plugins folder and forget it exists.
- Stops Sentry & Crash Reports: Intercepts
window.__SENTRY__andDiscordSentryat startup, closing the hub, clearing the scope, and dropping crash logs before they leave your machine. - Blocks Trackers (Fetch, XHR & Beacon): Catches outbound requests using runtime proxies. If a request is trying to talk to
/api/science, Google Analytics, Sentry, Hotjar, Fullstory, Segment or other known telemetry routes, it gets a fake200 OKso the client thinks everything went through. - Canvas Fingerprinting Protection: Intercepts
toDataURLandgetImageDatato inject imperceptible per-session noise into canvas output. The visual result is identical — the fingerprint hash isn't. - AudioContext Fingerprinting Protection: Patches
AudioContextandOfflineAudioContextoscillators to shift the audio-hash fingerprint between sessions without any audible effect. - Hardware & Navigator Spoofing: Overrides WebGL renderer info,
hardwareConcurrency,deviceMemory,userAgent,platformandvendorwith generic, non-identifiable values. - Wipes Tracking Storage: Purges known tracking keys, analytics junk and super-cookies from
localStorageandsessionStorageon startup, and blocks new writes to those keys. - Silences Analytics & Science: Patches Discord's internal analytics pipeline and Science event system so telemetry events are dropped before they're queued.
- Mutes Voice Telemetry: Intercepts voice quality reports, call analytics and stats submissions from the voice engine.
- Disables Process Monitor: Blocks rich presence / game detection callbacks from reaching Discord's native layer.
- Fail-Safe Built-in: Every block runs in its own isolated try/catch. If Discord updates something and a patch breaks, it fails quietly. The rest of the plugin keeps working and your client won't crash.
- Download
BlockScience.plugin.js. - Go to your Discord Settings > Plugins.
- Click Open Plugins Folder and drop the file inside.
- Turn it on.
The settings panel gives you granular control over every block category.
Each of the seven block categories can be enabled or disabled independently:
| Category | What it controls |
|---|---|
| Sentry | Sentry error reporting and telemetry hub |
| Network | Fetch, XHR and sendBeacon to tracking endpoints |
| Storage | Tracking key writes to localStorage / sessionStorage |
| Fingerprinting | WebGL, Canvas, AudioContext and navigator spoofing |
| Analytics | Discord's internal analytics and Science event pipeline |
| Voice Telemetry | Voice quality reports and call analytics |
| Process Monitor | Rich presence / game detection callbacks |
If a category causes an unexpected side effect in Discord, you can disable it without touching the rest. Changes take effect on the next Discord restart.
A counter bar at the top of the settings panel shows how many blocks each category has recorded since the plugin was last started. Counters update in real time — no need to open the console.
A toggle to print every blocked request, storage write and fingerprint attempt to the Ctrl+Shift+I console as it happens. Useful to confirm the plugin is active. All blocks remain in effect regardless of this setting.
No data collection, no external servers, no configurations phoned home. Everything stays inside your local client memory.
MIT. Do whatever you want with the code.
Made by 8ug8ird 🐦