{"id":12975,"date":"2026-08-28T13:05:18","date_gmt":"2026-08-28T11:05:18","guid":{"rendered":"https:\/\/www.lukaswojcik.com\/blog\/werkzeuge\/privacy-sandbox-capability-detector\/"},"modified":"2026-08-28T13:05:18","modified_gmt":"2026-08-28T11:05:18","slug":"privacy-sandbox-capability-detector","status":"publish","type":"page","link":"https:\/\/www.lukaswojcik.com\/blog\/de\/werkzeuge\/privacy-sandbox-capability-detector\/","title":{"rendered":"Detektor f\u00fcr Privacy Sandbox und Fingerabdruck-Fl\u00e4che"},"content":{"rendered":"<div class=\"gtm-analyser-container\" style=\"background: var(--bg-panel, #1e1e24); padding: 25px; border-radius: 8px; border: 1px solid var(--border, #2a2a35);\">\n<p style=\"color: var(--text-secondary, #a0a0b0); margin-bottom: 20px;\">Acht Privacy-Sandbox-Techniken tragen auf der Statusseite denselben Satz &#8211; Absicht zur Abk\u00fcndigung und Entfernung. Drei tragen einen anderen und bleiben. Ob ein bestimmter Browser noch eine davon beantwortet, kann keine Tabelle sagen, deshalb liest dieses Werkzeug den Browser aus, in dem es l\u00e4uft. Die zweite H\u00e4lfte stellt die passende Frage zum Fingerabdruck: welche Hochentropie-Schnittstellen dieser Seite \u00fcberhaupt einen Wert \u00fcbergeben.<\/p>\n<p style=\"color: var(--text-secondary, #a0a0b0); font-size: 0.82rem; margin-bottom: 16px;\">Die Spalte zur Abk\u00fcndigung gibt die Privacy-Sandbox-Statusseite mit Stand 14. August 2026 wieder und ist fester Text, keine lebende Abfrage. Gemessen wird allein die Browserspalte. Alles rechnet lokal im Browser; nichts wird \u00fcbertragen oder gespeichert.<\/p>\n<p>    <button id=\"ps-btn\" class=\"button\" style=\"background: var(--accent, #7ee787); color: var(--on-accent, #0b1114); border: none; padding: 12px 24px; border-radius: 6px; font-weight: 700; cursor: pointer;\">Diesen Browser auslesen<\/button><\/p>\n<div id=\"ps-ausgabe\" style=\"margin-top: 22px;\"><\/div>\n<\/div>\n<p><script>\n(function () {\n    'use strict';<\/p>\n<p>    const T = {\"einleitung\":\"Acht Privacy-Sandbox-Techniken tragen auf der Statusseite denselben Satz - Absicht zur Abk\u00fcndigung und Entfernung. Drei tragen einen anderen und bleiben. Ob ein bestimmter Browser noch eine davon beantwortet, kann keine Tabelle sagen, deshalb liest dieses Werkzeug den Browser aus, in dem es l\u00e4uft. Die zweite H\u00e4lfte stellt die passende Frage zum Fingerabdruck: welche Hochentropie-Schnittstellen dieser Seite \u00fcberhaupt einen Wert \u00fcbergeben.\",\"stand_erklaerung\":\"Die Spalte zur Abk\u00fcndigung gibt die Privacy-Sandbox-Statusseite mit Stand 14. August 2026 wieder und ist fester Text, keine lebende Abfrage. Gemessen wird allein die Browserspalte. Alles rechnet lokal im Browser; nichts wird \u00fcbertragen oder gespeichert.\",\"knopf\":\"Diesen Browser auslesen\",\"h_zusammenfassung\":\"Zusammenfassung\",\"zeile_abgekuendigt\":\"Abgek\u00fcndigte Schnittstellen, die noch antworten\",\"zeile_bleibt\":\"Bleibende Schnittstellen vorhanden\",\"zeile_entropie\":\"Hochentropie-Schnittstellen mit Wert\",\"h_sandbox\":\"Privacy-Sandbox-Schnittstellen\",\"spalte_schnittstelle\":\"Schnittstelle\",\"spalte_lage\":\"Statusseite\",\"spalte_browser\":\"Dieser Browser\",\"api_topics\":\"Topics API\",\"api_protected_audience\":\"Protected Audience\",\"api_attribution\":\"Attribution Reporting\",\"api_private_aggregation\":\"Private Aggregation\",\"api_shared_storage\":\"Shared Storage\",\"api_fenced_frames\":\"Fenced Frames\",\"api_related_sets\":\"Related Website Sets\",\"api_ip_protection\":\"IP Protection\",\"api_chips\":\"CHIPS, partitionierte Cookies\",\"api_storage_access\":\"Storage Access API\",\"api_fedcm\":\"FedCM\",\"lage_abgekuendigt\":\"zur Entfernung vorgesehen\",\"lage_bleibt\":\"standardm\u00e4\u00dfig unterst\u00fctzt\",\"status_vorhanden\":\"antwortet\",\"status_fehlt\":\"fehlt\",\"status_nicht_messbar\":\"hier nicht messbar\",\"h_entropie\":\"Hochentropie-Fl\u00e4che\",\"spalte_merkmal\":\"Schnittstelle\",\"spalte_wert\":\"Was diese Seite bekommt\",\"wert_keiner\":\"nichts\",\"ent_ua_data\":\"User-Agent Client Hints, Marken\",\"ent_device_memory\":\"Arbeitsspeicher, GB\",\"ent_hardware_concurrency\":\"Logische Prozessoren\",\"ent_screen\":\"Bildschirmaufl\u00f6sung\",\"ent_color_depth\":\"Farbtiefe\",\"ent_zeitzone\":\"Zeitzone\",\"ent_sprachen\":\"Angebotene Sprachen\",\"ent_touch\":\"Ber\u00fchrungspunkte\",\"ent_plugins\":\"Plugin-Eintr\u00e4ge\",\"ent_webgl\":\"WebGL-Renderer\",\"ent_referrer\":\"L\u00e4nge des Referrers\",\"h_hinweise\":\"Hinweise\",\"hinweis_stand\":\"Die Statusspalte ist eine Momentaufnahme vom 14. August 2026 und keine lebende Abfrage. Weicht die Browserspalte davon ab, ist sie die aktuellere der beiden.\",\"hinweis_bekanntes_skript\":\"Safari 26 schw\u00e4cht Hochentropie-Schnittstellen nur f\u00fcr Skripte ab, die auf einer Liste bekannter Fingerabdruck-Skripte stehen, und diese Liste ist nicht einsehbar. Diese Seite steht vermutlich nicht darauf - die Werte oben zeigen also, was ein unauff\u00e4lliges Skript sieht. Ein Tracker auf der Liste bekommt m\u00f6glicherweise weniger.\",\"hinweis_nicht_messbar\":\"Vier Eintr\u00e4ge lassen sich aus einer Erstanbieterseite heraus nicht ehrlich beantworten: Private Aggregation lebt in einem Shared-Storage-Worklet, Related Website Sets und CHIPS wirken erst im eingebetteten Drittkontext, und IP Protection ist eine Eigenschaft des Netzwegs und nicht des Dokuments.\",\"hinweis_alle_weg\":\"Keine der messbaren abgek\u00fcndigten Schnittstellen antwortet in diesem Browser. F\u00fcr ein Messsetup hei\u00dft das: hier ging nichts verloren, weil es nichts zu verlieren gab.\",\"hinweis_alle_da\":\"Jede messbare abgek\u00fcndigte Schnittstelle antwortet noch. Vorhanden ist nicht dasselbe wie dauerhaft: die Statusseite nennt die Absicht zur Entfernung, wer darauf baut, braucht also einen Weg davon weg.\",\"hinweis_bleibt_fehlt\":\"Mindestens eine der drei bleibenden Schnittstellen fehlt hier. Diese drei tragen das, was Drittanbieter-Cookies im eingebetteten Kontext ersetzt - ihr Fehlen wiegt schwerer als jeder Eintrag dar\u00fcber.\",\"hinweis_wenig_entropie\":\"Die H\u00e4lfte der Hochentropie-Schnittstellen oder weniger liefert einen Wert. So sieht ein Browser mit aktivem Fingerabdruck-Schutz aus.\",\"hinweis_viel_entropie\":\"Die meisten Hochentropie-Schnittstellen liefern einen Wert. Jeder einzelne ist f\u00fcr sich klein; zusammen kennzeichnen sie ein Ger\u00e4t, ohne dass ein Cookie beteiligt w\u00e4re.\"};<\/p>\n<p>    \/\/ --- Merkmalstabelle -----------------------------------------------------\n    \/\/\n    \/\/ Acht Schnittstellen tragen auf der Statusseite vom 14.08.2026 denselben\n    \/\/ Satz - Absicht zur Abkuendigung und Entfernung. Drei tragen einen\n    \/\/ anderen: standardmaessig unterstuetzt. Die Einteilung steht hier fest,\n    \/\/ erkannt wird nur, ob der Browser sie noch beantwortet.<\/p>\n<p>    var SANDBOX = [\n        { id: 'topics', lage: 'abgekuendigt' },\n        { id: 'protected_audience', lage: 'abgekuendigt' },\n        { id: 'attribution', lage: 'abgekuendigt' },\n        { id: 'private_aggregation', lage: 'abgekuendigt' },\n        { id: 'shared_storage', lage: 'abgekuendigt' },\n        { id: 'fenced_frames', lage: 'abgekuendigt' },\n        { id: 'related_sets', lage: 'abgekuendigt' },\n        { id: 'ip_protection', lage: 'abgekuendigt' },\n        { id: 'chips', lage: 'bleibt' },\n        { id: 'storage_access', lage: 'bleibt' },\n        { id: 'fedcm', lage: 'bleibt' }\n    ];<\/p>\n<p>    var ENTROPIE = ['ua_data', 'device_memory', 'hardware_concurrency', 'screen',\n        'color_depth', 'zeitzone', 'sprachen', 'touch', 'plugins', 'webgl', 'referrer'];<\/p>\n<p>    \/\/ --- Erhebung ------------------------------------------------------------\n    \/\/\n    \/\/ Liest den laufenden Browser aus. Jede Sonde ist einzeln abgesichert:\n    \/\/ eine geworfene Ausnahme darf den Rest der Erhebung nicht mitnehmen,\n    \/\/ denn genau die Schnittstellen, um die es geht, werfen in manchen\n    \/\/ Browsern statt zu antworten.<\/p>\n<p>    function sicher(fn, ersatz) {\n        try {\n            var w = fn();\n            return (w === undefined || w === null) ? ersatz : w;\n        } catch (e) {\n            return ersatz;\n        }\n    }<\/p>\n<p>    function vorhanden(fn) {\n        return sicher(fn, false) ? 'vorhanden' : 'fehlt';\n    }<\/p>\n<p>    function sammeln() {\n        var roh = {};<\/p>\n<p>        \/\/ Privacy Sandbox: Anwesenheit der Schnittstelle im laufenden Browser.\n        roh.topics = vorhanden(function () { return 'browsingTopics' in Document.prototype; });\n        roh.protected_audience = vorhanden(function () { return 'runAdAuction' in Navigator.prototype; });\n        roh.attribution = vorhanden(function () { return 'attributionSrc' in HTMLAnchorElement.prototype; });\n        roh.shared_storage = vorhanden(function () { return 'sharedStorage' in window; });\n        roh.fenced_frames = vorhanden(function () { return typeof window.HTMLFencedFrameElement !== 'undefined'; });\n        roh.storage_access = vorhanden(function () { return 'hasStorageAccess' in Document.prototype; });\n        roh.fedcm = vorhanden(function () { return typeof window.IdentityCredential !== 'undefined'; });<\/p>\n<p>        \/\/ Drei Eintraege lassen sich aus einer Seite heraus nicht ehrlich\n        \/\/ beantworten und werden deshalb auch nicht behauptet.\n        roh.private_aggregation = 'nicht_messbar'; \/\/ nur in einem Shared-Storage-Worklet erreichbar\n        roh.related_sets = 'nicht_messbar';        \/\/ wirkt nur im eingebetteten Drittkontext\n        roh.ip_protection = 'nicht_messbar';       \/\/ Eigenschaft des Netzwegs, nicht des Dokuments\n        roh.chips = 'nicht_messbar';               \/\/ Partitionierung zeigt sich erst im Drittkontext<\/p>\n<p>        \/\/ Hochentropie-Flaeche: was dieses Skript tatsaechlich zu sehen bekommt.\n        roh.ua_data = sicher(function () {\n            return 'userAgentData' in navigator ? (navigator.userAgentData.brands || []).length : null;\n        }, null);\n        roh.device_memory = sicher(function () { return navigator.deviceMemory; }, null);\n        roh.hardware_concurrency = sicher(function () { return navigator.hardwareConcurrency; }, null);\n        roh.screen = sicher(function () { return screen.width + ' x ' + screen.height; }, null);\n        roh.color_depth = sicher(function () { return screen.colorDepth; }, null);\n        roh.zeitzone = sicher(function () { return Intl.DateTimeFormat().resolvedOptions().timeZone; }, null);\n        roh.sprachen = sicher(function () { return (navigator.languages || []).length || null; }, null);\n        roh.touch = sicher(function () {\n            return typeof navigator.maxTouchPoints === 'number' ? navigator.maxTouchPoints : null;\n        }, null);\n        roh.plugins = sicher(function () {\n            return navigator.plugins ? navigator.plugins.length : null;\n        }, null);\n        roh.webgl = sicher(function () {\n            var c = document.createElement('canvas');\n            var gl = c.getContext('webgl') || c.getContext('experimental-webgl');\n            if (!gl) { return null; }\n            var info = gl.getExtension('WEBGL_debug_renderer_info');\n            if (!info) { return null; }\n            return gl.getParameter(info.UNMASKED_RENDERER_WEBGL) || null;\n        }, null);\n        roh.referrer = sicher(function () { return document.referrer ? document.referrer.length : null; }, null);<\/p>\n<p>        return roh;\n    }<\/p>\n<p>    \/\/ --- Bewertung -----------------------------------------------------------\n    \/\/\n    \/\/ Reine Funktion ueber den Rohdaten. Sie ruehrt keine Browser-Globals an,\n    \/\/ damit sich die Einordnung gegen erfundene Umgebungen pruefen laesst und\n    \/\/ nicht nur gegen den Browser, in dem die Pruefung zufaellig laeuft.<\/p>\n<p>    function bewerten(roh) {\n        var daten = roh || {};<\/p>\n<p>        var sandbox = SANDBOX.map(function (m) {\n            var status = daten[m.id];\n            if (status !== 'vorhanden' && status !== 'fehlt' && status !== 'nicht_messbar') {\n                status = 'nicht_messbar';\n            }\n            return { id: m.id, lage: m.lage, status: status };\n        });<\/p>\n<p>        function zaehle(lage, status) {\n            return sandbox.filter(function (m) { return m.lage === lage && m.status === status; }).length;\n        }<\/p>\n<p>        var abgekuendigtGesamt = SANDBOX.filter(function (m) { return m.lage === 'abgekuendigt'; }).length;\n        var bleibtGesamt = SANDBOX.filter(function (m) { return m.lage === 'bleibt'; }).length;\n        var abgekuendigtVorhanden = zaehle('abgekuendigt', 'vorhanden');\n        var bleibtVorhanden = zaehle('bleibt', 'vorhanden');\n        var abgekuendigtMessbar = sandbox.filter(function (m) {\n            return m.lage === 'abgekuendigt' && m.status !== 'nicht_messbar';\n        }).length;\n        var bleibtMessbar = sandbox.filter(function (m) {\n            return m.lage === 'bleibt' && m.status !== 'nicht_messbar';\n        }).length;\n        var nichtMessbar = sandbox.filter(function (m) { return m.status === 'nicht_messbar'; }).length;<\/p>\n<p>        var entropie = ENTROPIE.map(function (id) {\n            var wert = daten[id];\n            var geliefert = wert !== null && wert !== undefined && wert !== '';\n            return { id: id, wert: geliefert ? String(wert) : null, geliefert: geliefert };\n        });\n        var entropieGeliefert = entropie.filter(function (m) { return m.geliefert; }).length;<\/p>\n<p>        var hinweise = ['stand', 'bekanntes_skript'];\n        if (nichtMessbar > 0) { hinweise.push('nicht_messbar'); }\n        if (abgekuendigtMessbar > 0 && abgekuendigtVorhanden === 0) { hinweise.push('alle_weg'); }\n        if (abgekuendigtMessbar > 0 && abgekuendigtVorhanden === abgekuendigtMessbar) { hinweise.push('alle_da'); }\n        if (bleibtMessbar > 0 && bleibtVorhanden < bleibtMessbar) { hinweise.push('bleibt_fehlt'); }\n        if (entropieGeliefert <= Math.floor(ENTROPIE.length \/ 2)) { hinweise.push('wenig_entropie'); }\n        else { hinweise.push('viel_entropie'); }\n\n        return {\n            sandbox: sandbox,\n            abgekuendigtGesamt: abgekuendigtGesamt,\n            abgekuendigtVorhanden: abgekuendigtVorhanden,\n            abgekuendigtMessbar: abgekuendigtMessbar,\n            bleibtGesamt: bleibtGesamt,\n            bleibtVorhanden: bleibtVorhanden,\n            bleibtMessbar: bleibtMessbar,\n            nichtMessbar: nichtMessbar,\n            entropie: entropie,\n            entropieGeliefert: entropieGeliefert,\n            entropieGesamt: ENTROPIE.length,\n            hinweise: hinweise\n        };\n    }\n\n    \/\/ --- Pruefpunkt ----------------------------------------------------------\n    window.LW_TEST = window.LW_TEST || {};\n    window.LW_TEST.PS = {\n        sammeln: sammeln,\n        bewerten: bewerten,\n        sicher: sicher,\n        SANDBOX: SANDBOX,\n        ENTROPIE: ENTROPIE,\n        T: T\n    };\n\n    \/\/ --- Oberflaeche ---------------------------------------------------------\n\n    var btn = document.getElementById('ps-btn');\n    var out = document.getElementById('ps-ausgabe');\n    if (!btn || !out) { return; }\n\n    function el(tag, stil, text) {\n        var e = document.createElement(tag);\n        if (stil) { e.setAttribute('style', stil); }\n        if (text !== undefined) { e.textContent = text; }\n        return e;\n    }\n\n    var UEBERSCHRIFT = 'font-family: \"Nunito Sans\", sans-serif; font-weight: 700; color: var(--text-primary, #e8e8ee); font-size: 0.92rem; margin: 18px 0 8px;';\n    var ZELLE = 'padding: 5px 12px 5px 0; color: var(--text-secondary, #a0a0b0); font-size: 0.87rem;';\n    var ZELLE_WERT = 'padding: 5px 12px 5px 0; color: var(--text-primary, #e8e8ee); font-size: 0.87rem; font-family: monospace; word-break: break-all;';\n    var GUT = ' color: #7ee787;';\n    var WARN = ' color: #ffa94d;';\n    var GRAU = ' color: #8a8a99;';\n\n    function statusFarbe(status) {\n        if (status === 'vorhanden') { return WARN; }   \/\/ noch da heisst: noch Flaeche\n        if (status === 'fehlt') { return GUT; }\n        return GRAU;\n    }\n\n    btn.addEventListener('click', function () {\n        var erg = bewerten(sammeln());\n        out.innerHTML = '';\n\n        \/\/ --- Zusammenfassung ---\n        out.appendChild(el('div', UEBERSCHRIFT, T.h_zusammenfassung));\n        var z = el('div', 'display: grid; grid-template-columns: auto auto; gap: 0 18px; align-items: baseline;');\n        function zzeile(name, wert, stil) {\n            z.appendChild(el('div', ZELLE, name));\n            z.appendChild(el('div', ZELLE_WERT + (stil || ''), wert));\n        }\n        zzeile(T.zeile_abgekuendigt, erg.abgekuendigtVorhanden + ' \/ ' + erg.abgekuendigtGesamt,\n            erg.abgekuendigtVorhanden > 0 ? WARN : GUT);\n        zzeile(T.zeile_bleibt, erg.bleibtVorhanden + ' \/ ' + erg.bleibtGesamt,\n            erg.bleibtVorhanden === erg.bleibtMessbar ? GUT : WARN);\n        zzeile(T.zeile_entropie, erg.entropieGeliefert + ' \/ ' + erg.entropieGesamt,\n            erg.entropieGeliefert > Math.floor(erg.entropieGesamt \/ 2) ? WARN : GUT);\n        out.appendChild(z);<\/p>\n<p>        \/\/ --- Privacy Sandbox ---\n        out.appendChild(el('div', UEBERSCHRIFT, T.h_sandbox));\n        var s = el('div', 'display: grid; grid-template-columns: auto auto auto; gap: 0 18px; align-items: baseline;');\n        s.appendChild(el('div', ZELLE + ' font-weight: 700; color: var(--text-primary, #e8e8ee);', T.spalte_schnittstelle));\n        s.appendChild(el('div', ZELLE + ' font-weight: 700; color: var(--text-primary, #e8e8ee);', T.spalte_lage));\n        s.appendChild(el('div', ZELLE + ' font-weight: 700; color: var(--text-primary, #e8e8ee);', T.spalte_browser));\n        erg.sandbox.forEach(function (m) {\n            s.appendChild(el('div', ZELLE, T['api_' + m.id] || m.id));\n            s.appendChild(el('div', ZELLE + (m.lage === 'abgekuendigt' ? WARN : GUT), T['lage_' + m.lage]));\n            s.appendChild(el('div', ZELLE_WERT + statusFarbe(m.status), T['status_' + m.status]));\n        });\n        out.appendChild(s);<\/p>\n<p>        \/\/ --- Hochentropie-Flaeche ---\n        out.appendChild(el('div', UEBERSCHRIFT, T.h_entropie));\n        var e = el('div', 'display: grid; grid-template-columns: auto auto; gap: 0 18px; align-items: baseline;');\n        e.appendChild(el('div', ZELLE + ' font-weight: 700; color: var(--text-primary, #e8e8ee);', T.spalte_merkmal));\n        e.appendChild(el('div', ZELLE + ' font-weight: 700; color: var(--text-primary, #e8e8ee);', T.spalte_wert));\n        erg.entropie.forEach(function (m) {\n            e.appendChild(el('div', ZELLE, T['ent_' + m.id] || m.id));\n            e.appendChild(el('div', ZELLE_WERT + (m.geliefert ? WARN : GUT), m.geliefert ? m.wert : T.wert_keiner));\n        });\n        out.appendChild(e);<\/p>\n<p>        \/\/ --- Hinweise ---\n        out.appendChild(el('div', UEBERSCHRIFT, T.h_hinweise));\n        var liste = el('ul', 'margin: 0 0 0 18px; padding: 0; color: var(--text-secondary, #a0a0b0); font-size: 0.87rem; line-height: 1.65;');\n        erg.hinweise.forEach(function (h) {\n            var text = T['hinweis_' + h];\n            if (text) { liste.appendChild(el('li', '', text)); }\n        });\n        out.appendChild(liste);\n    });\n})();\n<\/script><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Liest den laufenden Browser aus: welche Privacy-Sandbox-Schnittstellen noch antworten, welche der drei bleibenden vorhanden sind und wie viel Hochentropie-Fl\u00e4che diese Seite \u00fcberhaupt bekommt. Die Antwort f\u00e4llt je Browser anders aus, und genau darum geht es.<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":9283,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"template-tool-base.php","meta":{"footnotes":""},"tags":[92157,92265,92032],"class_list":["post-12975","page","type-page","status-publish","hentry","tag-cookies-de","tag-prywatnosc-danych-pl-de","tag-tracking-de"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.1 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Detektor f\u00fcr Privacy Sandbox und Fingerabdruck-Fl\u00e4che - Lukas Wojcik - Blog<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.lukaswojcik.com\/blog\/de\/werkzeuge\/privacy-sandbox-capability-detector\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Detektor f\u00fcr Privacy Sandbox und Fingerabdruck-Fl\u00e4che - Lukas Wojcik - Blog\" \/>\n<meta property=\"og:description\" content=\"Liest den laufenden Browser aus: welche Privacy-Sandbox-Schnittstellen noch antworten, welche der drei bleibenden vorhanden sind und wie viel Hochentropie-Fl\u00e4che diese Seite \u00fcberhaupt bekommt. Die Antwort f\u00e4llt je Browser anders aus, und genau darum geht es.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.lukaswojcik.com\/blog\/de\/werkzeuge\/privacy-sandbox-capability-detector\/\" \/>\n<meta property=\"og:site_name\" content=\"Lukas Wojcik - Blog\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/08\/og-default.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1200\" \/>\n\t<meta property=\"og:image:height\" content=\"630\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"1 minute\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/de\\\/werkzeuge\\\/privacy-sandbox-capability-detector\\\/\",\"url\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/de\\\/werkzeuge\\\/privacy-sandbox-capability-detector\\\/\",\"name\":\"Detektor f\u00fcr Privacy Sandbox und Fingerabdruck-Fl\u00e4che - Lukas Wojcik - Blog\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/#website\"},\"datePublished\":\"2026-08-28T11:05:18+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/de\\\/werkzeuge\\\/privacy-sandbox-capability-detector\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/de\\\/werkzeuge\\\/privacy-sandbox-capability-detector\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/de\\\/werkzeuge\\\/privacy-sandbox-capability-detector\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Toolbox\",\"item\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/toolbox-2\\\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Detektor f\u00fcr Privacy Sandbox und Fingerabdruck-Fl\u00e4che\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/\",\"name\":\"Lukas Wojcik - Blog\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/#\\\/schema\\\/person\\\/895f7604f9b6b71aad9bba33af28d0f9\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/#\\\/schema\\\/person\\\/895f7604f9b6b71aad9bba33af28d0f9\",\"name\":\"luky\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/07\\\/lw-x2.jpg\",\"url\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/07\\\/lw-x2.jpg\",\"contentUrl\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/07\\\/lw-x2.jpg\",\"width\":424,\"height\":636,\"caption\":\"luky\"},\"logo\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/07\\\/lw-x2.jpg\"},\"sameAs\":[\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Detektor f\u00fcr Privacy Sandbox und Fingerabdruck-Fl\u00e4che - Lukas Wojcik - Blog","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.lukaswojcik.com\/blog\/de\/werkzeuge\/privacy-sandbox-capability-detector\/","og_locale":"en_US","og_type":"article","og_title":"Detektor f\u00fcr Privacy Sandbox und Fingerabdruck-Fl\u00e4che - Lukas Wojcik - Blog","og_description":"Liest den laufenden Browser aus: welche Privacy-Sandbox-Schnittstellen noch antworten, welche der drei bleibenden vorhanden sind und wie viel Hochentropie-Fl\u00e4che diese Seite \u00fcberhaupt bekommt. Die Antwort f\u00e4llt je Browser anders aus, und genau darum geht es.","og_url":"https:\/\/www.lukaswojcik.com\/blog\/de\/werkzeuge\/privacy-sandbox-capability-detector\/","og_site_name":"Lukas Wojcik - Blog","og_image":[{"width":1200,"height":630,"url":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/08\/og-default.jpg","type":"image\/jpeg"}],"twitter_card":"summary_large_image","twitter_misc":{"Est. reading time":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.lukaswojcik.com\/blog\/de\/werkzeuge\/privacy-sandbox-capability-detector\/","url":"https:\/\/www.lukaswojcik.com\/blog\/de\/werkzeuge\/privacy-sandbox-capability-detector\/","name":"Detektor f\u00fcr Privacy Sandbox und Fingerabdruck-Fl\u00e4che - Lukas Wojcik - Blog","isPartOf":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/#website"},"datePublished":"2026-08-28T11:05:18+00:00","breadcrumb":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/de\/werkzeuge\/privacy-sandbox-capability-detector\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.lukaswojcik.com\/blog\/de\/werkzeuge\/privacy-sandbox-capability-detector\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.lukaswojcik.com\/blog\/de\/werkzeuge\/privacy-sandbox-capability-detector\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.lukaswojcik.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Toolbox","item":"https:\/\/www.lukaswojcik.com\/blog\/toolbox-2\/"},{"@type":"ListItem","position":3,"name":"Detektor f\u00fcr Privacy Sandbox und Fingerabdruck-Fl\u00e4che"}]},{"@type":"WebSite","@id":"https:\/\/www.lukaswojcik.com\/blog\/#website","url":"https:\/\/www.lukaswojcik.com\/blog\/","name":"Lukas Wojcik - Blog","description":"","publisher":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/#\/schema\/person\/895f7604f9b6b71aad9bba33af28d0f9"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.lukaswojcik.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":["Person","Organization"],"@id":"https:\/\/www.lukaswojcik.com\/blog\/#\/schema\/person\/895f7604f9b6b71aad9bba33af28d0f9","name":"luky","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/07\/lw-x2.jpg","url":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/07\/lw-x2.jpg","contentUrl":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/07\/lw-x2.jpg","width":424,"height":636,"caption":"luky"},"logo":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/07\/lw-x2.jpg"},"sameAs":["https:\/\/www.lukaswojcik.com\/blog"]}]}},"_links":{"self":[{"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/pages\/12975","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/comments?post=12975"}],"version-history":[{"count":0,"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/pages\/12975\/revisions"}],"up":[{"embeddable":true,"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/pages\/9283"}],"wp:attachment":[{"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/media?parent=12975"}],"wp:term":[{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/tags?post=12975"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}