Übersicht
Dieses Dokument katalogisiert alle bekannten Browser-Fingerprint-Vektoren, die durch die Analyse von FingerprintJS (27,7k Sterne, 44 Quellen), BrowserLeaks (15+ Tools), EFF Cover Your Tracks und anderen Forschungsarbeiten entdeckt wurden. Jeder Vektor ist nach Kategorie, Spoofbarkeit auf Proxy-Ebene und Entropiebeitrag klassifiziert.
Klassifikationslegende
| Symbol | Bedeutung |
|---|---|
| Spoofbar | Auf Proxy-Ebene vollständig kontrollierbar (Header-Modifikation, DNS, TLS) |
| Teilweise | Kann per JS teilweise modifiziert/injiziert, aber nicht vollständig kontrolliert werden |
| Nicht spoofbar | Auf Hardware-Ebene oder bevor der Proxy eingreifen kann |
| Erkennbar | Spoofing-Versuch kann vom Fingerprinting-Dienst erkannt werden |
Schicht 1: Netzwerk & Protokoll (13 Vektoren)
Dies sind die Signale auf niedrigster Ebene, sichtbar vor jedem HTTP- oder JS-Zugriff.
1.1 TCP/IP-Stack-Fingerprint (JA4T)
Was es ist: Passives TCP-Fingerprinting liest SYN-Paket-Parameter, um das Betriebssystem zu identifizieren.
Signale:
- Initialer TTL (64=Linux/macOS, 128=Windows)
- Fenstergröße (64240=Chrome/Linux, 65535=macOS)
- MSS (Maximum Segment Size)
- TCP-Optionen (MSS, SACK_PERM, TIMESTAMP, WINDOW_SCALE, NOP-Reihenfolge)
- IP-DF (Don't Fragment)-Flag
- ECN-Unterstützung
Beispiel JA4T: 64240_2-4-8-1-3_1452_10
Bewertung: Teilweise – Der eigene TCP-Stack des Containers ersetzt den des Clients. Obscuras TCP-Stack wird gesehen, nicht der des Clients. Dies ist unvermeidbar.
1.2 TLS-Fingerprint (JA3/JA4)
Was es ist: TLS-ClientHello-Parameter offenbaren die Browser-Identität.
Signale:
- Liste der Cipher Suites (Reihenfolge und Auswahl)
- Liste der TLS-Erweiterungen (Reihenfolge und Auswahl)
- Unterstützte Gruppen (Kurven)
- EC-Punktformate
- ALPN-Protokolle
- TLS-Version
- SNI-Präsenz
Beispiel JA3: 6734f37431670b3ab4292b8f60f29984 (Chrome 120 Win11)
Bewertung: Spoofbar mittels utls-Bibliothek (Go) oder eigener TLS-Implementierung (Rust).
Hinweis: Da Obscura TLS für MITM terminiert, kann der äußere TLS-Handshake zum Server vollständig kontrolliert werden. Dies ist ein kritischer Vektor – ohne Spoofing sieht der Server Go's/Chrome's TLS-Stack, was sofort einen Proxy verrät.
1.3 HTTP/2-Fingerprint (Akamai-Format)
Was es ist: HTTP/2-Verbindungspräambel und SETTINGS-Frames variieren je nach Browser.
Signale:
- SETTINGS-Frame-Parameter (MAX_CONCURRENT_STREAMS, INITIAL_WINDOW_SIZE, MAX_FRAME_SIZE, etc.)
- SETTINGS-Frame-Reihenfolge
- PING-Frame-Verhalten
- WINDOW_UPDATE-Timing
- PRIORITY-Frame-Struktur
- Magic-Octets (PRI * HTTP/2.0)
Bewertung: Teilweise – Spoofbar, wenn Obscura ein eigenes HTTP/2 implementiert, aber komplex. Bei Verwendung von Go's net/http sieht der Server Go's HTTP/2-Fingerprint.
1.4 QUIC / HTTP/3-Fingerprint
Was es ist: QUIC (HTTP/3) verwendet UDP und ist Ende-zu-Ende verschlüsselt – kann nicht abgefangen werden.
Signale:
- QUIC-Transportparameter
- Verbindungs-ID-Länge
- Versionsaushandlung
- TLS-1.3-Handshake über QUIC
Bewertung: Nicht spoofbar – QUIC umgeht den Proxy vollständig. Obscura muss QUIC blockieren (UDP 443), um HTTP/1.1 oder HTTP/2 über TCP zu erzwingen.
1.5 DNS-Fingerprint
Was es ist: DNS-Abfragemuster und Resolver-Auswahl.
Signale:
- DNS-Resolver-IP (Cloudflare 1.1.1.1 vs. Google 8.8.8.8 vs. ISP)
- DNS over HTTPS vs. DNS over TLS vs. normales DNS
- EDNS0-Optionen
- DNS-Abfrage-Zeitmuster
- DNSSEC-Unterstützung
Bewertung: Spoofbar – Obscura kontrolliert die DNS-Auflösung vollständig.
1.6 WebRTC-IP-Leck
Was es ist: WebRTC kann die echte lokale und öffentliche IP preisgeben, selbst hinter VPN/Proxy.
Mechanismus:
const pc = new RTCPeerConnection({ iceServers: [{ urls: 'stun:stun.l.google.com:19302' }] })
pc.createDataChannel('')
pc.createOffer().then(offer => pc.setLocalDescription(offer))
// ICE-Kandidaten geben lokale und öffentliche IPs preis
Bewertung: Teilweise – Kann per JS-Injection blockiert werden (RTCPeerConnection-Überschreibung), aber das Blockieren ist erkennbar.
1.7 IP-Geolokalisierung
Was es ist: Die IP-Adresse offenbart Land, Stadt, ISP, ASN, Breiten-/Längengrad.
Bewertung: Spoofbar – Verwende einen VPN/Tor-Upstream vor Obscura oder leite durch einen Exit-Knoten.
1.8 Network Information API
Was es ist: navigator.connection gibt den Netzwerktyp preis.
navigator.connection.effectiveType // "4g", "3g", "2g", "slow-2g"
navigator.connection.downlink // Mbps-Schätzung
navigator.connection.rtt // Umlaufzeit (ms)
navigator.connection.saveData // Datensparmodus
Bewertung: Spoofbar per JS-Injection.
1.9 Timing-Angriffe (Netzwerklatenz)
Was es ist: Die Messung von Ressourcen-Ladezeiten offenbart Netzwerkcharakteristiken.
Mechanismus: Verwende performance.now() vor/nach dem Laden von Ressourcen, um die Latenz zu messen.
Bewertung: Teilweise – performance.now()-Präzision kann reduziert werden, aber grobes Timing funktioniert weiterhin.
1.10 Proxy/VPN-Erkennung
Was es ist: Server erkennen Proxys über:
- HTTP-Header (
Via,X-Forwarded-For,X-Real-IP) - TLS-Fingerprint-Diskrepanz (Chrome-UA + Go-TLS)
- DNS-Resolver-Inkonsistenz
- IP in bekannten Proxy/VPN-Bereichen
- Zeitzonen- vs. IP-Geolokalisierungs-Diskrepanz
Bewertung: Teilweise – Erfordert ein konsistentes Profil über alle Schichten hinweg.
1.11 Content-Filter-Erkennung
Was es ist: Erkennung von Werbeblockern und Datenschutztools über:
- Blockierte Ressourcenmuster (EasyList-Erkennung)
- CSS-Selektor-Tests
- Timing blockierter Ressourcen
- DOM-Element-Präsenz/Abwesenheit
Bewertung: Erkennbar – Wenn Obscura Domains blockiert, kann dies durch Testen bekannter Tracking-Domains erkannt werden.
1.12 HTTP/HTTPS-Caching-Verhalten
Was es ist: Cache-Timing / ETag-Tracking über Websites hinweg.
Bewertung: Teilweise – Cache-Header können über den Proxy gelöscht/deaktiviert werden.
1.13 OCSP/CRL-Verhalten
Was es ist: Zertifikatswiderruf-Prüfmuster.
Bewertung: Nicht spoofbar – Auf Proxy-Ebene schwer zu kontrollieren, ohne TLS zu brechen.
Schicht 2: HTTP & Header (12 Vektoren)
2.1 User-Agent
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 ...
Bewertung: Spoofbar
2.2 Client Hints (Sec-CH-UA)
Sec-CH-UA: "Google Chrome";v="120", "Chromium";v="120", "Not?A_Brand";v="99"
Sec-CH-UA-Platform: "Windows"
Sec-CH-UA-Platform-Version: "15.0.0"
Sec-CH-UA-Model: "" (Desktop) / "Pixel 7" (Mobil)
Sec-CH-UA-Mobile: ?0
Sec-CH-UA-Arch: "x86"
Sec-CH-UA-Bitness: "64"
Sec-CH-UA-Full-Version-List: "..."
Sec-CH-UA-WoW64: ?0
Bewertung: Spoofbar
2.3 Accept-Header
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8
Accept-Language: en-US,en;q=0.9
Accept-Encoding: gzip, deflate, br
Bewertung: Spoofbar
2.4 Content-Type / Content-Encoding
Bewertung: Spoofbar
2.5 Do Not Track / Global Privacy Control
DNT: 1
Sec-GPC: 1
Bewertung: Spoofbar
2.6 Upgrade-Insecure-Requests
Upgrade-Insecure-Requests: 1
Bewertung: Spoofbar
2.7 Referer / Origin
Bewertung: Teilweise – Kann entfernt/modifiziert werden, bricht aber einige Websites.
2.8 Cookie-Verhalten
Signale: Cookies aktiviert/deaktiviert, Third-Party-Cookie-Blockierung, Cookie-Ablaufpräferenzen.
Bewertung: Teilweise – Kann Cookies auf dem Proxy setzen, aber die eigenen Cookie-Einstellungen des Browsers werden per JS preisgegeben.
2.9 Cache-Header
ETag, If-None-Match, Cache-Control, Pragma
Bewertung: Spoofbar auf Proxy-Ebene.
2.10 Connection-Header
Connection, Keep-Alive, Upgrade
Bewertung: Spoofbar
2.11 Proxy-Header
Via, X-Forwarded-For, X-Real-IP, Forwarded
Bewertung: Spoofbar – Alle Proxy-Header entfernen.
2.12 Priority / Lade-Priorität
Sec-Purpose, Sec-Fetch-*, Priority
Sec-Fetch-Dest: document
Sec-Fetch-Mode: navigate
Sec-Fetch-Site: none
Sec-Fetch-User: ?1
Bewertung: Spoofbar
Schicht 3: JavaScript / DOM-APIs (44 Vektoren von FingerprintJS)
Dies sind alle Signale, die von der Open-Source-Bibliothek von FingerprintJS gesammelt werden. Jedes ist eine .ts-Quelldatei.
| # | Quelldatei | Gesammeltes Signal | Spoofbar per JS-Injection |
|---|---|---|---|
| 1 | userAgentData |
navigator.userAgentData (Marken, Plattform, Mobil, Architektur, Bitanzahl, Modell, Plattformversion, Wow64, fullVersionList, formFactors) |
Ja |
| 2 | fonts |
Installierte Systemschriften (via CSS @font-face + Messung) |
Teilweise – kann einschränken, aber nicht fälschen |
| 3 | domBlockers |
Erkennung von Werbe-/Content-Blockern via Testressourcen | Teilweise |
| 4 | fontPreferences |
Schriftdarstellungspräferenzen (Zeichenabstand, Schriftmetriken) | Teilweise |
| 5 | audio |
AudioContext-Oszillator + DynamicsCompressor-Ausgabe-Hash | Teilweise – kann Rauschen injizieren |
| 6 | screenFrame |
Bildschirmrahmenmaße (availTop, availLeft) | Ja |
| 7 | canvas |
Canvas-2D-Render-Hash (Text + Formen) | Teilweise – Rausch-Injektion |
| 8 | osCpu |
navigator.oscpu (Firefox) |
Ja |
| 9 | languages |
navigator.languages, navigator.language |
Ja |
| 10 | colorDepth |
screen.colorDepth |
Ja |
| 11 | deviceMemory |
navigator.deviceMemory |
Ja |
| 12 | screenResolution |
screen.width, screen.height |
Ja |
| 13 | hardwareConcurrency |
navigator.hardwareConcurrency |
Ja |
| 14 | timezone |
Intl.DateTimeFormat().resolvedOptions().timeZone |
Ja |
| 15 | sessionStorage |
Ob sessionStorage verfügbar ist |
Ja (Überschreibung) |
| 16 | localStorage |
Ob localStorage verfügbar ist |
Ja (Überschreibung) |
| 17 | indexedDB |
Ob indexedDB verfügbar ist |
Ja (Überschreibung) |
| 18 | openDatabase |
Ob window.openDatabase existiert |
Ja (Überschreibung) |
| 19 | cpuClass |
navigator.cpuClass (Legacy-IE) |
Ja |
| 20 | platform |
navigator.platform |
Ja |
| 21 | plugins |
navigator.plugins (Liste installierter Plugins) |
Teilweise |
| 22 | touchSupport |
navigator.maxTouchPoints, Touch-Ereignis-Unterstützung |
Ja |
| 23 | vendor |
navigator.vendor |
Ja |
| 24 | vendorFlavors |
navigator.vendorSub, navigator.productSub |
Ja |
| 25 | cookiesEnabled |
navigator.cookieEnabled |
Ja |
| 26 | colorGamut |
Farbraumunterstützung (sRGB, P3, Rec2020) via Media Query | Ja |
| 27 | invertedColors |
Betriebssystem-Einstellung für invertierte Farben | Ja |
| 28 | forcedColors |
Betriebssystem-Modus für erzwungene Farben | Ja |
| 29 | monochrome |
Monochrom-Farbtiefe via Media Query | Ja |
| 30 | contrast |
Kontrast-Präferenz via Media Query | Ja |
| 31 | reducedMotion |
prefers-reduced-motion Media Query |
Ja |
| 32 | reducedTransparency |
prefers-reduced-transparency Media Query |
Ja |
| 33 | hdr |
HDR-Unterstützung via window.matchMedia |
Ja |
| 34 | math |
Gleitkomma-Mathe-Fingerprint (Präzisionsunterschiede) | Nicht spoofbar – Hardware-FPU-Verhalten |
| 35 | pdfViewerEnabled |
navigator.pdfViewerEnabled |
Ja |
| 36 | architecture |
navigator.userAgentData.architecture (x86, arm) |
Ja |
| 37 | applePay |
Apple Pay-Verfügbarkeit | Ja (Überschreibung) |
| 38 | privateClickMeasurement |
Private Click Measurement API-Unterstützung | Ja (Überschreibung) |
| 39 | audioBaseLatency |
AudioContext-Basislatenz (hardwareabhängig) | Nicht spoofbar – Hardware-Audio |
| 40 | dateTimeLocale |
Intl.DateTimeFormat aufgelöstes Gebietsschema |
Ja |
| 41 | webGlBasics |
WebGL-Renderer, Anbieter, Version, Shader-Präzision | Teilweise – kann debug_info blockieren |
| 42 | webGlExtensions |
Liste unterstützter WebGL-Erweiterungen | Teilweise – kann Auflistung blockieren |
| 43 | vendor (navigator) |
navigator.vendor (z. B. "Google Inc.") |
Ja |
| 44 | mimeTypes |
navigator.mimeTypes registrierte MIME-Handler |
Teilweise |
Zusammenfassung der FingerprintJS-Vektoren:
| Spoofbarkeit | Anzahl |
|---|---|
| Vollständig spoofbar per JS-Injection | 29 |
| Teilweise spoofbar | 13 |
| Nicht spoofbar | 2 |
Schicht 4: Browser-Features & Fähigkeiten (25+ Vektoren)
Von BrowserLeaks "Features Detection" werden folgende für Fingerprinting verwendet:
4.1 Web-Features-Unterstützung (Ja/Nein-Binärvektor)
Jedes unterstützte/nicht unterstützte Feature fügt ~1 Bit Entropie hinzu:
- Canvas, Canvas Text
- SVG (inline, als img, clip-path, SMIL, Filter, foreignObject)
- WebGL, WebGL2
- WebGPU
- Web Audio API, Spracherkennung, Sprachsynthese
- WebRTC, MediaStream Recording
- WebSocket, WebSocket Binary
- Service Workers, Service Worker Cache
- Web Bluetooth, Web USB, Web NFC, Web Serial
- Web Authentication (WebAuthn)
- Web Cryptography API
- Web Assembly (Wasm)
- WebVR / WebXR
- Web Animations
- ResizeObserver, IntersectionObserver, MutationObserver
- Fullscreen API, Pointer Lock API, Geolocation API
- Battery API, Network Information API, Vibration API
- PushManager, Notification API, Page Visibility API
- History API, postMessage
- Web Workers, Shared Workers
- Fetch API, Beacon API, Server Sent Events
- Filesystem API, File API, Blob API
- GamePad API, Device Orientation, Device Motion
- CSS-Features (Grid, Flexbox, Transforms 3D, backdrop-filter, etc.)
Gesamt: ~100+ Feature-Tests, aber die meisten sind stark korreliert (Chrome unterstützt X, Firefox nicht). Effektive Entropie: ~10-15 Bits.
Bewertung: Teilweise – Kann Feature-Erkennungs-Überschreibungen injizieren, aber sehr komplex zu warten.
4.2 CSS-Media-Query-Fingerprinting
Was es ist: Erzwungene Bildschirmabmessungen über CSS @media-Queries.
@media (width: 1920px) { ... }
@media (height: 1080px) { ... }
@media (device-width: 1920px) { ... }
@media (resolution: 1.5dppx) { ... }
Bewertung: Teilweise – CSS-basierte Erkennung läuft vor der JS-Injection.
4.3 ClientRects-Fingerprinting
Was es ist: Element.getClientRects() gibt unterschiedliche Werte für unsichtbare Elemente über Browser/OS hinweg zurück.
Bewertung: Nicht spoofbar vom Proxy – DOM-Layout ist browsertypisch.
Schicht 5: System & Hardware (15 Vektoren)
5.1 GPU-Fingerprint
Quellen:
WEBGL_debug_renderer_info.UNMASKED_RENDERER_WEBGL(genaues GPU-Modell)- WebGPU
adapterInfo(Anbieter, Architektur, Gerät, Treiber, Backend) - Canvas-Rendering-Unterschiede
- WebGL-Shader-Präzision
- WebGL-Erweiterungsunterstützung
Entropie: Sehr hoch – genaues GPU-Modell ist stark identifizierend.
Bewertung: Teilweise – Kann UNMASKED_RENDERER_INFO und WebGPU-Adapterinfo blockieren, aber renderingbasierte Fingerprints bleiben bestehen.
5.2 CPU-Fingerprint
Quellen:
navigator.hardwareConcurrency(Kernanzahl)- FPU-Mathe-Präzision (Gleitkomma-Operationsunterschiede)
performance.now()-Auflösung- Wasm-basierte CPU-Feature-Erkennung (SIMD, AES-NI, etc.)
Bewertung: Nicht spoofbar für Mathe-Präzision und Wasm-CPU-Erkennung.
5.3 Speicher-Fingerprint
Quelle: navigator.deviceMemory (RAM in GB, nur in Chrome)
Bewertung: Spoofbar
5.4 Speicher-Fingerprint (Storage)
Quellen:
- LocalStorage, SessionStorage, IndexedDB, Cache API-Verfügbarkeit
- Quota Storage Management API
- WebSQL-Verfügbarkeit
Bewertung: Spoofbar
5.5 Schriftarten-Fingerprinting
Quellen:
- Installierte Systemschriften (via CSS
@font-facemessungsbasierte Aufzählung) - Schriftdarstellungsmetriken (Zeichenabstand, Höhe, Breite mit bestimmten Schriften)
- Unicode-Glyphen-Bereichsunterstützung
Entropie: Sehr hoch – Schriftliste kann >1000 Schriften umfassen.
Bewertung: Teilweise – Kann die Schrifterkennung durch Überschreiben von Messfunktionen einschränken, aber Schriftdarstellungsunterschiede bleiben bestehen.
5.6 Bildschirm-Fingerprint
Quellen:
screen.width,screen.height,availWidth,availHeight,availTop,availLeftscreen.colorDepth,screen.pixelDepthwindow.devicePixelRatiowindow.outerWidth,window.outerHeightwindow.innerWidth,window.innerHeightscreen.orientation- Multi-Monitor-Erkennung via
ScreenDetailedAPI
Bewertung: Spoofbar per JS-Injection.
5.7 Eingabemethode-Fingerprint
Quellen:
navigator.maxTouchPoints- Touch-Ereignis-Unterstützung
- Pointer-Ereignis-Unterstützung
- Tastaturlayout / Eingabemethode
Bewertung: Spoofbar für Touch-Unterstützung. Nicht spoofbar für Tastaturlayout.
5.8 Audio-Hardware-Fingerprint
Quellen:
- AudioContext-Abtastrate
- AudioContext-Basislatenz
- DynamicsCompressorNode-Ausgabe (hardwareabhängig)
- Audio-Kanalanzahl
- Echo-Unterdrückung, Rauschunterdrückungsunterstützung
Bewertung: Nicht spoofbar – Hardware-Audioverarbeitung.
5.9 Battery API
Quellen:
navigator.getBattery().levelnavigator.getBattery().chargingnavigator.getBattery().chargingTimenavigator.getBattery().dischargingTime
Bewertung: Spoofbar per JS-Injection.
5.10 Mediengeräte
Quellen:
navigator.mediaDevices.enumerateDevices()- Anzahl und Typ von Kameras, Mikrofonen, Lautsprechern
Bewertung: Spoofbar per JS-Injection (leere oder generische Geräteliste zurückgeben).
Schicht 6: Verhalten & Sitzung (8 Vektoren)
6.1 Maus-/Berührungsverhalten
Was es ist: Mausbewegungsmuster, Klick-Timing, Touch-Gesten.
Bewertung: Nicht spoofbar – Verhaltensbiometrie, keine Proxy-Kontrolle.
6.2 Tastendynamik
Was es ist: Tippgeschwindigkeit, Tastendruckdauer, Tastenintervalle.
Bewertung: Nicht spoofbar
6.3 Scrollverhalten
Was es ist: Scrollgeschwindigkeit, Beschleunigungsmuster.
Bewertung: Nicht spoofbar
6.4 Sitzungsdauer / Seiten-Timing
Was es ist: Zeit auf Seiten, Navigationsmuster.
Bewertung: Nicht spoofbar
6.5 Performance-Timing
Signale:
performance.now()feinkörniges Timingperformance.timeOrigin- Navigation Timing API (
performance.getEntriesByType('navigation'))
Bewertung: Teilweise – performance.now()-Präzision kann reduziert werden.
6.6 Multi-Window / Multi-Tab-Erkennung
Was es ist: BroadcastChannel, SharedWorker, localStorage tabübergreifende Kommunikation.
Bewertung: Teilweise per JS-Injection.
6.7 Service Worker-Persistenz
Was es ist: Erkennung, ob ein SW registriert ist, Cache-Zustand.
Bewertung: Teilweise – kann überschrieben werden, aber SW-Scope ist komplex.
6.8 Zeitzone / Clock Skew
Was es ist: Systemzeitzone + präziser Clock Skew von der Serverzeit.
Bewertung: Spoofbar für Zeitzone. Teilweise für Clock Skew.
Vektorenanzahl-Zusammenfassung
| Schicht | Kategorie | Anzahl | Proxy-spoofbar | Teilweise | Nicht spoofbar |
|---|---|---|---|---|---|
| 1 | Netzwerk & Protokoll | 13 | 3 | 6 | 4 |
| 2 | HTTP & Header | 12 | 11 | 1 | 0 |
| 3 | JavaScript / DOM-APIs | 44 | 29 | 13 | 2 |
| 4 | Browser-Features | ~100+ | 0 | ~10 | ~90+ |
| 5 | System & Hardware | 15 | 6 | 4 | 5 |
| 6 | Verhalten & Sitzung | 8 | 1 | 4 | 3 |
| Gesamt (eindeutige Vektoren) | ~60+ | ~50 | ~38 | ~100+ |
Auswirkungen auf Obscura
- ~50 Vektoren sind auf Proxy-/JS-Injection-Ebene vollständig kontrollierbar
- ~38 Vektoren können teilweise gemildert, aber nicht perfekt verhindert werden
- ~100+ Vektoren liegen außerhalb der Kontrolle von Obscura (Hardware, Verhalten, Feature-Flags)
Realistischer Schutz: Ein gut konfiguriertes Obscura kann ~55 % der Fingerprint-Oberfläche kontrollieren, aber die restlichen ~45 % geben weiterhin Informationen preis. In Kombination mit DNS-Blockierung bekannter Fingerprinting-Domains ist der effektive Schutz bedeutsam, aber nicht absolut.