unsupported: false, false, false, false, false } // Clear Alt-Svc caching first. result, different first party: Error: The request was denied., Error: The request was denied., Error: The request was denied., Error: The request was denied., Error: The request was denied. throw new Error("Unsupported"); let link = document.createElement("link"); test failed: false, false, false, false, false, write: async (key) => { } if (fontFamily.startsWith("fake")) { passed: true, true, true, true, true let tx = new Promise((resolve) => database.transaction(tx => { result, different first party: , , , ,
} unsupported: true, true, true, true, true passed: true, false, true, true, false passed: false,false,false,false,false, expression: screenX let cache = await caches.open("supercookies"); } desired expression: undefined test failed: false, false, false, false, false, write: (secret) => localStorage.setItem("secret", secret) // Are we now connecting over h3? return await response.text(); let imgLoadPromise = new Promise((resolve, reject) => { let results = await fetch("https://tls.privacytests2.org:8900/"); result, same first party: 1, 1, 1, 1, 1 } }); let worker = new SharedWorker("supercookies_sharedworker.js"); Content available under a Creative Commons license. read: async () => { // We timed out or otherwise failed. try { unsupported: false, false, false, false, false throw new Error("Unsupported"); result, same first party: 3b6be5ed-912a-40af-bedd-ab20da64ac58, cd877879-ffa3-4158-b31a-7dcfb2e63e8c, a86a6fbc-ff48-48c1-a24c-4be77f1b2b65, 05bf4c86-505f-443b-8042-30f78d1e9683, e2de62f9-7967-44a3-9bdb-c61bf7a8b898 passed: true, true, true, true, true } Is Privacy Badger compatible with other extensions, including adblockers? return cookie ? test failed: false, false, false, false, false, write: (secret) => { let cache = await caches.open("supercookies"); let queryResult = await navigator.locks.query(); passed: false, false, false, false, false unsupported: false, false, false, false, false Edit 2020: only use this if you need to support old browsers like InternetExplorer8 (which you should refuse to do ). worker.port.start(); How do I give text or an image a transparent background using CSS? read: () => document.cookie ? const testElement = document.querySelector("#css"); bc.onmessage = (event) => { result, different first party: 15d48f16-6883-4ad1-affd-e00f03827e27, 85b68675-8105-4cbc-a104-742418ae96cf, c6117660-dd61-4470-b08f-228aa578863c, e08d5fe6-60d7-454e-8562-cb5b1eb01f00, d00ed349-3536-46a3-9ea2-ebb25252a11d fontFamily = getComputedStyle(testElement).fontFamily; console.log("service worker ready");
passed: false, false, false, false, false } } read: async (secret) => { const stream = await fileHandle.createWritable();
cookieFound: true,true,true,true,true. Browsers can stop cookies from being used for cross-site tracking by either blocking or partitioning them. 'position' relative messes up the styling if the current div is in the body and has no container div. property console. cookieFound: false,false,false,false,false, passed: false,false,false,false,false try { Vertical alignment of content with JavaScript & CSS demonstrates it. (See also.). Chrome will ask if you want to go to the site you usually visit. cookie.match(/secret=([\w-]+)/)[1]: null; if (!window.cookieStore) {
passed: false,false,false,false,false, expression: outerHeight read: () => sessionStorage.getItem("secret") IP addresses can be used to uniquely identify a large percentage of users. navigator.locks.request(key, lock => new Promise((f,r) => {})); } unsupported: false, false, false, false, false Does Privacy Badger still work when blocking third-party cookies in the browser? return queryResult.held[0].clientId; let blobUrl = decodeURIComponent(result.blobUrl); let result = await new Promise((resolve, reject) => database.transaction(tx => { passed: false, false, false, false, false