Echte Captures, von der Stange
Statt einer synthetischen, aus dem Seed abgeleiteten Persona meldet der Browser mit --fingerprint-profile die Werte, die auf einem echten Chrome-Rechner erfasst wurden – dessen GPU-Strings, Bildschirmdaten, Schriften und Hardware-Kennzahlen. Die Bibliothek clearcote-profiles macht aus dem offenen Datensatz chrome-fingerprints (~10k echte Windows-Chrome-Captures) Tausende kohärente, sofort einsetzbare Profile.
72
kuratierte, validierte Sample-Profile – breit über GPUs gestreut, sofort einsatzbereit
~8.5k
Profile in der vollständig generierten Bibliothek
~10k
echte Chrome-Captures im Quelldatensatz
Kuratiert, nicht nur konvertiert. Captures, die mit Software-Rendering (SwiftShader / llvmpipe) oder in einer VM (Parallels / VMware / VirtualBox) entstanden sind, werden herausgefiltert – ein VM-Adapter ist für sich genommen schon ein verräterisches Merkmal. Die aussortierten Datensätze bleiben der Transparenz halber im Ordner excluded/ des Repos, neben dem Manifest index.json, das jedes Profil mit GPU-Hersteller, GPU-Familie, Bildschirm und Concurrency taggt (im Sample-Set: Intel 29 · NVIDIA 34 · AMD 9).
Was ein Profil enthält – und was bewusst nicht
Die gemeldeten Werte
- GPU – die unmaskierten Vendor-/Renderer-Strings von WebGL, die getParameter-Tabelle und die Liste der unterstützten Extensions
- Bildschirm – Auflösung, verfügbare Fläche, Farbtiefe, Device-Pixel-Ratio, Farbumfang
- Hardware – hardwareConcurrency und deviceMemory
- Schriften, Stimmen der Sprachsynthese, Audio-Samplerate & -Latenz
Die Browser-Version (bleibt aktuell)
User-Agent, Chrome-Version und UA-CH-Brands enthalten Profile nicht. Der Quelldatensatz wurde mit Chrome 117 erfasst; Clearcote liefert eine deutlich neuere Engine aus. Würde man die alte Version übernehmen, gäbe sich der Browser als 117 aus, verhielte sich aber wie seine tatsächliche Version – ein Widerspruch, der selbst erkennbar ist. Clearcote behält seine eigene, aktuelle Version; übernommen werden nur die erfassten Werte.
{
"meta": { "id": "vinyzu-04201", "gpu_vendor": "Intel", "gpu_family": "Arc" },
"hardware_concurrency": 12,
"device_memory": 8,
"screen": { "width": 1920, "height": 1080, "color_depth": 24, "device_pixel_ratio": 1 },
"webgl": {
"UNMASKED_VENDOR_WEBGL": "Google Inc. (Intel)",
"UNMASKED_RENDERER_WEBGL": "ANGLE (Intel, Intel(R) Arc(TM) A770 Graphics Direct3D11 vs_5_0 ps_5_0, D3D11)"
},
"fonts": { "detected": ["Arial", "Calibri", "Cambria", "Consolas", "Segoe UI", "… 390 more"] },
"audio": { "BaseAudioContextSampleRate": 48000, "AudioContextBaseLatency": 0.01 }
}Das laden Sie tatsächlich herunter: Jedes Profil ist eine JSON-Datei. Diese hier stammt von einem Desktop-PC mit Intel Arc A770 – die gemeldeten Werte eines echten Rechners, vollständig erfasst: eine Arc-A770-Treibertabelle, 12 Threads, 8 GB, ein 1080p-Bildschirm und 395 installierte Schriften. 71 weitere liegen in samples/, ~8.5k weitere liefert generate.py.
Was ein Profil nicht ist: Hardware. Ein Profil ändert, was der Browser meldet. Es ändert nicht, was Ihre Pixel zeichnet – Canvas, WebGL-Readback und Audio kommen weiterhin von dem Rechner, auf dem der Browser tatsächlich läuft, und das kann kein Browser ändern. Zwei Accounts mit zwei verschiedenen Profilen auf einem Rechner rendern deshalb trotzdem ein identisches Canvas. Soll jeder Account auch auf Pixelebene wie ein anderer Rechner aussehen, kommt das von einem fingerprint-Seed pro Account, nicht vom Profil.
So konfigurieren Sie es
Gemessen mit pixelscan und BrowserScan über ~30 Konfigurationen hinweg. Es sind die beiden folgenden Regeln, die das Ergebnis tatsächlich verändert haben.
1Die echte GPU melden
Die Pixel zeichnet ohnehin Ihr Host. Wer eine andere GPU angibt, lässt Name und Rendering auseinanderlaufen, und Scanner, die die gerenderte Ausgabe hashen, ziehen dafür Punkte ab. Mit disable_gpu_fingerprint=True stimmt die gemeldete GPU mit der überein, die tatsächlich die Arbeit macht – das stellt WebGL und WebGPU gemeinsam um, sodass sich beide nie widersprechen. Bildschirm, Schriften und Hardware-Kennzahlen liefert weiterhin das Profil.
2Ein Seed pro Account – und nicht mit einem Profil kombinieren
Ein Profil allein gibt jedem Account dasselbe Canvas, weil es nur gemeldete Werte ersetzt und das Rendering nie anfasst. Das Canvas pro Account kommt vom fingerprint-Seed. Einen Seed und ein erfasstes Profil gleichzeitig zu setzen, ist genau die eine Kombination, die Scanner als Manipulation markieren – entscheiden Sie sich für eines. Bei mehreren Accounts nehmen Sie den Seed.
Multi-Account-Setup: ein eigener Seed pro Account + echte GPU + ein eigener Proxy. Lassen Sie das Canvas-Rauschen an – abgeschaltet entfällt genau das Canvas pro Account, das Sie sich damit gerade erkauft haben.
import clearcote
# ONE ACCOUNT, ONE IDENTITY — the multi-account setup
browser = clearcote.launch(
fingerprint="acct-1", # unique per account: this is what varies the canvas
disable_gpu_fingerprint=True, # report the real GPU, so name and render agree
geoip=True, # timezone + language follow the proxy
proxy={"server": "..."}, # one per account
) # note: no fingerprint_profile — a seed replaces it
# A CAPTURED MACHINE INSTEAD — for a single identity, not a fleet
# (the repo's samples/ set works out of the box)
browser = clearcote.launch(
fingerprint_profile="samples/vinyzu-04201.json", # an Intel Arc A770 desktop
disable_gpu_fingerprint=True,
) # note: no fingerprint seed alongside itDie vollständige Bibliothek generieren
Der kanonische Konverter liegt im Browser-Repo und ist als Abhängigkeit gepinnt – die Kuratierung setzt darauf auf:
pip install -r requirements.txt # dataset + canonical converter
python generate.py # -> profiles/*.json (~8.5k profiles)
python generate.py --samples 80 --out samples # regenerate the sample setLieber per Mausklick?
Der Profile Manager durchsucht diese Bibliothek für Sie – gefiltert nach dem GPU-Hersteller Ihres Hosts – und startet die Auswahl als interaktives Fenster. Ganz ohne Code.

Lizenz & Namensnennung. Die Profile sind von chrome-fingerprints © Vinyzu abgeleitet, daher steht die Bibliothek unter GPL-3.0 – anders als der Clearcote-Browser selbst, der unter BSD-3-Clause steht. Wenn Sie die Bibliothek weitergeben, behalten Sie Namensnennung und Lizenz bei.
Profile Manager
Eine Desktop-App, die diese Bibliothek nach dem GPU-Hersteller Ihres Hosts gefiltert anzeigt – und Profile daraus mit einem Klick startet.
Fingerprint-Flags
Die vollständige Referenz zu --fingerprint-profile und allen anderen Identitäts-Switches.
Warum Kohärenz gewinnt
Wie Bot-Erkennung tatsächlich funktioniert – und warum es diese Regeln gibt.