Prevent HTML canvas element from generating a unique identification key to protect user's privacy

Latest Version

Version
0.2.0
Update
November 2, 2023
Size
59.76KiB
Developer
Category
Users
30,000+
Rating
4.075 ★
Manifest Version
3
Web Store Status
Languages Support
English
See more
Permissions
Notifications
Storage
ContextMenus
Scripting
See more

Canvas Blocker - Fingerprint Protect Extension

This browser extension safeguards user privacy by preventing malicious scripts from using the HTML canvas element for user fingerprinting. It introduces slight changes to the data generated by the canvas element when specific methods are invoked, rendering it unusable for fingerprinting. In comparison to similar extensions, this one is lighter and employs a more efficient method to obstruct fingerprinting across all frame elements (top and subframes). The extension operates in three modes:

1. Random noise
2. Random noise (per page) to maintain a consistent identity within the current page session
3. Fixed noise to sustain a constant yet unique identity continuously

Key Features:
1. Minimal footprint fingerprint defender
2. Ability to block or disable fingerprinting on specific hostnames
3. Notification when canvas fingerprinting is detected
4. Option to disable notification for select or all hostnames
5. Compatibility with cross-origin (CORS) and sandboxed iframes (such as Disqus and Hangouts)

Notes:
This extension doesn't entirely block the canvas element. Instead, it modifies two methods to prevent the JavaScript engine from creating a unique identification key from this element.

What is Canvas Fingerprinting:
Canvas fingerprinting is a method among several browser fingerprinting techniques used for tracking online users. It enables websites to identify and monitor visitors by leveraging the HTML5 canvas element rather than browser cookies or similar means. This technique functions by exploiting the HTML5 canvas element. When a user visits a webpage, the fingerprinting script initially writes text using the preferred font and size and adds background colors. Subsequently, the script calls the Canvas API's ToDataURL method to retrieve canvas pixel data in dataURL format, essentially a Base64 encoded representation of binary pixel data. Lastly, the script hashes the text-encoded pixel data, creating a unique fingerprint.
Read more

Source Manifest.json

{"update_url": "https://clients2.google.com/service/update2/crx", "manifest_version": 3, "version": "0.2.0", "name": "Canvas Blocker - Fingerprint Protect", "description": "Prevent HTML canvas element from generating a unique identification key to protect user's privacy", "icons": { "16": "/data/icons/16.png", "32": "/data/icons/32.png", "48": "/data/icons/48.png", "64": "/data/icons/64.png", "128": "/data/icons/128.png", "256": "/data/icons/256.png", "512": "/data/icons/512.png" }, "permissions": [ "notifications", "storage", "contextMenus", "scripting" ], "host_permissions": [ "*://*/*" ], "homepage_url": "https://webextension.org/listing/canvas-fingerprint-blocker.html", "background": { "service_worker": "worker.js" }, "action": {}, "options_ui": { "open_in_tab": true, "page": "/data/options/index.html" }, "content_scripts": [{ "world": "MAIN", "matches":["*://*/*"], "match_about_blank": true, "match_origin_as_fallback": true, "all_frames": true, "run_at": "document_start", "js": ["/data/inject/main.js"] }, { "world": "ISOLATED", "matches":["*://*/*"], "match_about_blank": true, "match_origin_as_fallback": true, "all_frames": true, "run_at": "document_start", "js": ["/data/inject/isolated.js"] }]}
Read more

Similar Extensions

icon

Canvas Fingerprint Defender Extension · Productivity 30,000+ 64 ★ 38.49KiB

icon

Browser Fingerprint Protector Extension · Productivity 30,000+ 14 ★ 11.82KiB

icon

Canvas Blocker for Google Chrome™ Extension · Productivity 30,000+ 0 ★ 111KiB

icon

Decentraleyes Extension · Productivity 30,000+ 226 ★ 6.92MiB

icon

WebRTC Leak Prevent Extension · Developer Tools 30,000+ 314 ★ 16.78KiB

icon

Privacy Tweaks Extension · Productivity 30,000+ 11 ★ 2.75MiB

icon

Trace - Online Tracking Protection Extension · Productivity 30,000+ 57 ★ 341KiB

icon

WebRTC Control Extension · Developer Tools 30,000+ 185 ★ 51.79KiB

icon

User-Agent Switcher and Manager Extension · Developer Tools 30,000+ 229 ★ 778KiB

icon

WebGL Fingerprint Defender Extension · Productivity 30,000+ 28 ★ 41.71KiB

icon

ClearURLs Extension · Productivity 30,000+ 205 ★ 829KiB

icon

All Fingerprint Defender Extension · Productivity 30,000+ 35 ★ 67.0KiB

icon

Font Fingerprint Defender Extension · Productivity 30,000+ 20 ★ 37.82KiB

icon

CSS Exfil Protection Extension · Developer Tools 30,000+ 3 ★ 40.85KiB

icon

AudioContext Fingerprint Defender Extension · Productivity 30,000+ 13 ★ 38.51KiB

icon

Privacy Settings Extension · Productivity 30,000+ 11 ★ 147KiB

icon

Security Tweaks Extension · Productivity 30,000+ 3 ★ 3.07MiB

icon

AmIUnique Extension · Productivity 30,000+ 8 ★ 164KiB

icon

LocalCDN Extension · Productivity 30,000+ 46 ★ 22.05MiB

icon

WebRTC Leak Prevent Toggle Extension · Developer Tools 30,000+ 15 ★ 18.83KiB

icon

JShelter Extension · Productivity 30,000+ 24 ★ 440KiB

icon

Privacy Badger Extension · Productivity 30,000+ 1757 ★ 1.75MiB

icon

Random User-Agent (Switcher) Extension · Productivity 30,000+ 350 ★ 166KiB

icon

WebAPI Blocker Extension · Productivity 30,000+ 8 ★ 58.61KiB

User reviews

icon

Tom Landi (ID: 0000005ee1d5a235) Voted 1 ★ - Updated 09/06/2022 Fixed Fingerprint - This option isn't useful at all. You do NOT get randomnized Fixed Fingerprint by enabling this option. Your Fingerprint is same for ALL chrome based browser run within the same computer. You can test it using Comodo Dragon (chrome based) or portable version of Chrome.

icon

Crunch Berry (ID: 0000007e91db8dd9) Voted 1 ★ - Updated 06/22/2022 Doesn't work. Still have a unique fingerprint.

icon

Евгений Расторгуев (ID: 000000c206b86921) Voted 3 ★ - Updated 09/19/2021 я не могу понят разницы между двумя первыми режимами - по логике - первый должен всегда при запросе отпечатка выдавать разные при каждом запросе, второй должен сделать новый при входе на сайт и все время его выдавать при запросах, третий режим выдает оригинальный отпечаток. Так вот второй режим у меня всегда дает рандомные отпечатки, а почему? либо я не понимаю, что такое "per session"

icon

Van Tung Tran (ID: 000000a3fff9a6cc) Voted 3 ★ - Updated 08/02/2021 First of all, Thanks for making a great tool! But, but if you have multi profiles of Chrome and install this extension to these profiles and using "Fixed Fingerprint" mode in setting of extension, the Fingerprint code is the same on all profiles. Finally, The "Fixed Fingerprint" feature work wrong on multi profiles. Please fix this.

icon

R. Y (ID: 0000002dc75570bf) Voted 4 ★ - Updated 06/09/2021 It's an awesome extension, just please, let us be able to disable notifcations, they get really annoying.