Captcha ohne Datenabfluss: Bot-Schutz, der niemanden ausspäht
Die meisten Kontaktformulare schicken jeden Besucher heimlich zu Google oder Cloudflare. Wir lösen Spam-Schutz anders: mit einem kleinen Rechen-Rätsel direkt im Browser, ganz ohne Drittanbieter. Wie das funktioniert und wo seine Grenzen liegen.
Inhalt dieses Beitrags
- Problem
- Kurze Antwort
- So funktioniert es
- Die Rechenaufgabe als Eintrittskarte
- Warum die Aufgabe nicht gefälscht werden kann
- Alles im Vordergrund, nichts im Hintergrund
- Abgelehnte Alternativen und Mythen
- Grenzen und was ein Rechen-Rätsel nicht leistet
- Wie Dernium hier hilft
- Häufige Fragen
- Muss ich als Besucher jetzt Rätsel raten oder Bilder anklicken?
- Werden dabei Daten über mich gesammelt?
- Funktioniert das auch ohne JavaScript?
- Ist ein selbst gebauter Schutz nicht unsicherer als ein etabliertes Produkt?
Problem
Jedes öffentliche Kontaktformular zieht früher oder später automatisierte Werbe- und Betrugsnachrichten an. Bots füllen Formulare im Sekundentakt aus, lange bevor ein Mensch die Seite überhaupt gelesen hat. Der reflexartige Gegengriff ist ein Captcha (ein kleiner Test, der Mensch von Maschine trennen soll), meist das Häkchen "Ich bin kein Roboter" von Google reCAPTCHA oder ein vergleichbarer Dienst.
Der Haken: Diese Dienste laden Code von einem fremden Server nach und beobachten Ihre Besucher dabei. Wer Datensparsamkeit ernst nimmt, tauscht damit ein Spam-Problem gegen ein Datenschutz-Problem. Wir wollten beides lösen und haben deshalb einen anderen Weg gewählt.
Kurze Antwort
Wir schützen unsere Formulare mit einem Rechen-Rätsel direkt im Browser, nicht mit einem fremden Captcha-Dienst.
- Statt Ihr Verhalten zu beobachten, lassen wir Ihren Browser eine winzige Rechenaufgabe lösen (ein sogenanntes Proof-of-Work). Für einen Menschen unmerklich, für Massen-Spam spürbar teuer.
- Es wird kein Code von Google, Cloudflare oder einem anderen Dritten geladen. Keine Cookies, keine Besucher-Verfolgung, keine Übermittlung in Drittländer.
- Die Aufgabe stellt und prüft ausschließlich unser eigener Server. Sie sehen nur einen Knopf "Bitte bestätigen, dass Sie kein Bot sind".
- Ein unsichtbares Fallenfeld (Honeypot) und ein striktes Limit pro Absender fangen einfache Bots zusätzlich ab.
- Ehrliche Grenze: Ein Rechen-Rätsel macht Massen-Spam unwirtschaftlich, aber keinen einzelnen, entschlossenen Angreifer unmöglich.
So funktioniert es
Die Rechenaufgabe als Eintrittskarte
Die Idee heißt Proof-of-Work und ist alt: Schon Ende der 1990er schlug Adam Back mit Hashcash vor, Absender eine kleine, nachweisbare Rechenarbeit leisten zu lassen, um Massenversand zu verteuern. Für einen einzelnen Vorgang ist die Arbeit billig; wer sie millionenfach braucht, zahlt spürbar.
Konkret bekommt Ihr Browser von unserem Server eine Zufallsaufgabe: Finde eine Zahl, die zusammen mit einem vorgegebenen Wert durch eine Einweg-Funktion (SHA-256, ein Standard-Verfahren, das aus beliebigem Text einen festen Fingerabdruck macht) ein Ergebnis mit einer bestimmten Form ergibt. Diese Zahl lässt sich nur durch Ausprobieren finden, aber blitzschnell prüfen. Genau diese Asymmetrie, schwer zu lösen und leicht zu kontrollieren, ist der Trick.
Warum die Aufgabe nicht gefälscht werden kann
Damit niemand sich selbst eine zu leichte Aufgabe ausstellt, signiert unser Server jede Aufgabe mit einem geheimen Schlüssel (per HMAC, einem Verfahren, das einen fälschungssicheren Stempel über Daten legt). Kommt die Lösung zurück, prüft der Server zuerst den Stempel und erst dann die Rechenleistung. Eine manipulierte oder abgelaufene Aufgabe fällt sofort durch.
Zwei weitere Riegel verhindern Tricks: Eine Aufgabe gilt nur ein einziges Mal (eine einmal gelöste lässt sich nicht für hundert Nachrichten wiederverwenden), und zwischen Ausstellen und Absenden muss eine Mindestzeit liegen (ein Skript, das in Sekundenbruchteilen abschickt, verrät sich von selbst).
Alles im Vordergrund, nichts im Hintergrund
Hier liegt der Grund, warum wir kein fertiges Drittanbieter-Captcha einbinden konnten: Unsere Seiten laufen unter einer strengen Content-Security-Policy (CSP, einer Browser-Regel, die festlegt, welcher Code überhaupt ausgeführt werden darf). Sie verbietet unter anderem dynamisch erzeugten Hintergrund-Code (sogenannte Blob-Worker). Viele Captcha-Bibliotheken brauchen aber genau solche Hintergrund-Prozesse und werden von der CSP blockiert. Das Captcha "funktioniert dann einfach nicht".
Unser Rechen-Rätsel läuft deshalb bewusst im normalen Vordergrund des Browsers, mit einer kleinen, quelloffenen SHA-256-Bibliothek (@noble/hashes). Kein Hintergrund-Prozess, kein nachgeladener Fremdcode, kein Aufweichen der CSP.
Abgelehnte Alternativen und Mythen
"Nimm doch einfach reCAPTCHA." Das ist der bequeme Standard, aber er bindet Google in jeden Seitenaufruf ein und überträgt Besucherdaten in die USA. Spätestens seit dem Schrems-II-Urteil des EuGH (C-311/18) ist solcher Drittland-Transfer rechtfertigungsbedürftig. Ein Spam-Filter rechtfertigt das aus unserer Sicht nicht.
"Dann eben ein fertiges, datenschutzfreundliches Captcha-Widget." Es gibt quelloffene Proof-of-Work-Widgets, die ohne Besucher-Verfolgung auskommen. Mehrere davon scheiterten bei uns trotzdem an der strengen CSP, weil sie ihre Berechnung in einem dynamisch erzeugten Hintergrund-Prozess (Blob-Worker) ausführen, den wir bewusst nicht erlauben. Statt die CSP aufzubohren, haben wir die wenige nötige Logik selbst geschrieben.
"Ein Rechen-Rätsel hält alle Bots auf." Das tut es nicht. Es verteuert Massen-Spam und stoppt simple Skripte, aber es ist kein Wundermittel. Wer entschlossen ist, kann die Aufgabe auch automatisiert lösen. Deshalb kombinieren wir mehrere einfache Schichten, statt auf eine einzige "magische" Lösung zu setzen.
Grenzen und was ein Rechen-Rätsel nicht leistet
Ehrlichkeit gehört zu unserem Markenkern, also klar gesagt: Ein Proof-of-Work ist eine reine Rechenaufgabe. Alles, was ein Browser ausrechnen kann, kann auch ein entschlossenes Skript ausrechnen. Es gibt keinen kryptografischen Trick, der "echter Browser" von "automatisiertem Browser" unterscheidet, ohne das Verhalten der Person zu beobachten, und genau das wollen wir nicht tun.
Was unser Ansatz also leistet: Er macht Massen-Spam unwirtschaftlich und sperrt naive Bots aus, ohne einen einzigen Besucher an einen Dritten zu verraten. Was er nicht leistet: einen einzelnen, gut ausgestatteten Angreifer absolut auszuschließen. Die Rechenkosten treffen zudem ehrliche Nutzer und Angreifer gleichermaßen, weshalb wir die Schwierigkeit so wählen, dass ein Mensch sie kaum bemerkt. Für den seltenen Fall gezielten Missbrauchs greifen die zusätzlichen Schichten (Limit pro Absender, Mindestzeit, Fallenfeld) und am Ende ein Mensch, der die Nachricht liest.
Wie Dernium hier hilft
Dieser Spam-Schutz sitzt auf unseren eigenen Formularen, etwa dem Kontaktformular. Wichtiger als das einzelne Bauteil ist das Prinzip dahinter, das sich durch unser ganzes Angebot zieht: keine fremden Tracker, keine stillen Datenabflüsse, so viel wie möglich auf eigenen Servern.
Dasselbe Muster steckt in unseren Webtools, die Ihre Eingaben serverseitig verarbeiten, statt sie an fremde Programmierschnittstellen weiterzureichen, und in der durchgehend selbst gehosteten Bauweise von Diensten wie Watch oder Mailcheck (siehe Produkte). Wer Datenschutz nicht als Häkchen, sondern als Architektur versteht, fängt genau bei solchen unscheinbaren Stellen an: dem Captcha, das niemanden ausspäht.
Häufige Fragen
Muss ich als Besucher jetzt Rätsel raten oder Bilder anklicken?
Nein. Sie klicken einen Knopf, der Rest passiert unsichtbar im Browser und dauert in der Regel nur einen kurzen Moment. Es gibt keine verzerrten Buchstaben und keine Ampel-Bilder zum Anklicken.
Werden dabei Daten über mich gesammelt?
Nein. Es werden weder Cookies gesetzt noch Verhaltensdaten erhoben, und es wird kein Code von Dritten geladen. Die Aufgabe enthält nur eine Zufallszahl und einen Zeitstempel, keine personenbezogenen Daten.
Funktioniert das auch ohne JavaScript?
Nein, das Rechen-Rätsel braucht JavaScript im Browser. Wer es deaktiviert hat, kann uns weiterhin klassisch per E-Mail oder Post erreichen. Beide Wege stehen gleichberechtigt neben dem Formular.
Ist ein selbst gebauter Schutz nicht unsicherer als ein etabliertes Produkt?
Bei Verschlüsselung gilt der Rat "nicht selbst basteln" zu Recht. Hier geht es aber nicht um ein neues kryptografisches Verfahren, sondern um wenige Zeilen, die einen etablierten Standard (SHA-256, Hashcash) zusammensetzen. Die eigentliche Kryptografie kommt aus geprüften, quelloffenen Bibliotheken. Das Risiko ist gering, der Datenschutz-Gewinn groß.