Inhalt (8 Abschnitte)
- Was ein klassisches Captcha wirklich tut
- reCAPTCHA: Das rechtliche Problem ist dokumentiert
- Turnstile: besser, aber immer noch nicht bei Ihnen
- ALTCHA: Proof of Work statt Profiling
- Was das für die Compliance ändert
- Bei uns in Produktion: die Zahlen
- reCAPTCHA, Turnstile, ALTCHA: die Entscheidungstabelle
- Das Fazit
Jedes öffentliche Formular zieht früher oder später Bots an: Werbespam, eingeschleuste Links, Fake-Anmeldungen. Die reflexartige Antwort ist ein Captcha, und in neun von zehn Fällen heißt dieses Captcha Google reCAPTCHA. Dieser Reflex hat einen Preis, den nur wenige Websites messen: Bei jeder Anzeige des Formulars wird Ihr Besucher zu einem US-amerikanischen Drittanbieter geschickt, mit seiner IP-Adresse, seinem Browser und seinem Verhalten. Hier lesen Sie, warum wir das alles durch ALTCHA ersetzt haben, einen selbst gehosteten Open-Source-Spamschutz, und wie er sich in Produktion auf unseren Formularen schlägt.

Was ein klassisches Captcha wirklich tut #
Ein modernes Captcha verlangt nicht mehr, verzerrte Buchstaben abzutippen: Es beobachtet. reCAPTCHA v3 vergibt einen Vertrauenswert, indem es die IP-Adresse analysiert, die bereits im Browser vorhandenen Google-Cookies, die Mausbewegungen, die Tippgeschwindigkeit und den Fingerabdruck des Browsers. Um einen Menschen von einem Bot zu unterscheiden, muss man den Menschen profilieren: Das ist das Grundprinzip des Produkts.
All diese Informationen gehen an den Anbieter des Captchas. Das Kontaktformular eines KMU im Elsass wird so, ohne dass es jemand wirklich entschieden hätte, zu einer Sammelstelle für eine US-amerikanische Werbeplattform. Und vertraglich wird dieser Anbieter zum Auftragsverarbeiter im Sinne der DSGVO: Er muss in Ihrer Datenschutzerklärung stehen, und die Datenübermittlung außerhalb der Europäischen Union muss abgesichert werden.
reCAPTCHA: Das rechtliche Problem ist dokumentiert #
Das ist keine theoretische Sorge. In ihrem Cityscoot-Beschluss vom März 2022 (SAN-2022-003) hat die CNIL, die französische Datenschutzbehörde, festgestellt, dass reCAPTCHA Informationen auf dem Endgerät des Nutzers liest und schreibt, und zwar zu Zwecken, die für den Dienst nicht unbedingt erforderlich sind, und dass es deshalb die vorherige Einwilligung des Besuchers erfordert, wie ein Werbe-Cookie. Konkret: Wer reCAPTCHA ohne Einholung der Einwilligung einsetzt, verstößt gegen die Vorschriften, und ein reCAPTCHA mit Einwilligung wirft eine absurde Frage auf: Was macht man mit dem Besucher, der ablehnt? Verwehrt man ihm das Kontaktformular?
Hinzu kommen die üblichen Kritikpunkte: Barrierefreiheit (Bilderrätsel sind für sehbehinderte Menschen eine Qual), Reibung (Zebrastreifen auswählen, um eine Nachricht zu senden) und das Geschäftsmodell: Die kostenlose Version von reCAPTCHA ist seit 2024 auf 10.000 Prüfungen pro Monat begrenzt, darüber hinaus wird es kostenpflichtig. Das „Kostenlose“ von Google bezahlt man zweimal: mit den Daten Ihrer Besucher und dann mit der Rechnung.
Turnstile: besser, aber immer noch nicht bei Ihnen #
Cloudflare Turnstile ist die „datenschutzfreundliche“ Antwort des Marktes: kein Rätsel, kein Werbe-Cookie, und kostenlos. Objektiv ist das besser als reCAPTCHA: Wir hatten es auf dieser Website zunächst sogar gewählt. Das strukturelle Problem bleibt jedoch: Cloudflare ist ein Unternehmen nach US-Recht und fällt damit unter den Cloud Act. Das Skript wird von deren Servern geladen, die Prüfung läuft über deren Infrastruktur, und Cloudflare bleibt ein anzugebender Auftragsverarbeiter, dessen Bedingungen, Änderungen und tatsächliche Telemetrie Sie nicht kontrollieren.
Die Frage lautet nicht „Ist dieser Dritte heute vertrauenswürdig?“, sondern „Warum überhaupt ein Dritter?“ Für einen Spamschutz gibt es keinen technischen Grund, auch nur die kleinste Information von Ihrem Server nach außen zu geben.
ALTCHA: Proof of Work statt Profiling #
ALTCHA (MIT-Lizenz, öffentlicher Quellcode) geht das Problem von der anderen Seite an. Statt den Besucher auszuspionieren, um zu beweisen, dass er ein Mensch ist, macht es Spam für eine Maschine teuer: Das ist der Mechanismus des Arbeitsnachweises (Proof of Work), dasselbe Prinzip, das andere verteilte Systeme vor Missbrauch schützt.
- Ihr Server stellt eine Challenge aus: einen kryptografischen Hash (SHA-256), gebildet aus einem zufälligen Salt und einer geheimen Zahl, das Ganze per HMAC signiert, mit einem Schlüssel, den nur Ihr Server kennt.
- Der Browser des Besuchers sucht die Zahl per Brute Force im Hintergrund, während der Besucher in Ruhe das Formular ausfüllt. Keine Interaktion: kein Kästchen zum Anklicken, keine Ampel zum Erkennen.
- Die Lösung wird mit dem Formular abgeschickt; der Server prüft sie per HMAC in wenigen Millisekunden, markiert die Challenge als verbraucht (Schutz vor Wiederverwendung) und verarbeitet die Nachricht.
// GET /api/altcha/challenge: was der Browser erhält
{
"algorithm": "SHA-256",
"challenge": "af5c…", // der umzukehrende Hash
"salt": "a3d8…", // zufälliger Salt + Ablaufzeit
"signature": "9b1f…" // HMAC: Der Server erkennt seine eigene Challenge wieder
}Ein legitimer Besucher zahlt diesen Preis einmal, ohne es zu bemerken. Ein Spammer, der zehntausend Formulare flutet, muss ihn zehntausendmal zahlen: Angegriffen wird sein Geschäftsmodell, nicht seine Fähigkeit, auf Fahrräder zu klicken.
Was das für die Compliance ändert #
- Keine Anfrage an Dritte: Die Challenge wird von Ihrem Server ausgestellt und geprüft. Nichts verlässt ihn.
- Keine Cookies, kein Fingerprinting: keine Einwilligung einzuholen, kein Banner zu verlängern.
- Ein Auftragsverarbeiter weniger in der Datenschutzerklärung: Bei uns ist Cloudflare durch die Umstellung von der Liste verschwunden.
- Barrierefrei: kein visuelles Rätsel, nichts, was der Besucher lösen müsste; das Widget ist WCAG-konform und ins Französische übersetzt.
- Prüfbar: Der Code ist Open Source, der Mechanismus passt auf eine Seite; vergleichen Sie das mit einem undurchsichtigen Wert, den eine Blackbox zurückgibt.
Bei uns in Produktion: die Zahlen #
Wir haben ALTCHA auf den Formularen eingeführt, die wir betreiben, einschließlich dieser Website, wo es Turnstile ersetzt hat. Zwei Einstellungen sind es wert, hier vorgestellt zu werden, weil die Dokumentation sie nicht deutlich genug hervorhebt.
Die Kosten des Proof of Work lassen sich dosieren. Die vom Browser verlangte Arbeit wächst quadratisch mit dem Kostenparameter. Der Wert aus den offiziellen Beispielen (5.000) erzwingt rund zehn Sekunden Berechnung in einem einzigen Thread, inakzeptabel auf einem Einsteiger-Smartphone. Wir haben ihn gemessen und dann auf 1.000 gesenkt: etwa 430 ms im Median, verteilt auf mehrere Web Worker, und die Berechnung startet beim Laden des Formulars. Bis der Besucher seine Nachricht geschrieben hat, ist der Nachweis längst erbracht.
Eine Challenge ist nur einmal verwendbar und befristet. Unsere läuft nach 30 Minuten ab (genug, um eine lange Nachricht zu schreiben, ohne dass sie verfällt), und eine bereits verbrauchte Lösung wird abgelehnt (Schutz vor Wiederverwendung). Bei den Geheimnissen ist nur ein einziger HMAC-Schlüssel im Secret-Manager zu pflegen: kein Konto bei einem Dienstleister, kein Site-Key, kein Dashboard eines Dritten.
reCAPTCHA, Turnstile, ALTCHA: die Entscheidungstabelle #
- Besucherdaten gehen an Dritte. reCAPTCHA: ja, an Google (USA) · Turnstile: ja, an Cloudflare (USA) · ALTCHA selbst gehostet: nein.
- Einwilligung nach DSGVO erforderlich. reCAPTCHA: ja (Position der CNIL) · Turnstile: Grauzone, als Auftragsverarbeiter anzugeben · ALTCHA: nein, es werden keine personenbezogenen Daten verarbeitet.
- Vom Besucher verlangte Interaktion. reCAPTCHA: manchmal Rätsel · Turnstile: selten · ALTCHA: nie.
- Abhängigkeit bei der Verfügbarkeit. reCAPTCHA und Turnstile: Fallen sie aus, sind Ihre Formulare lahmgelegt · ALTCHA: alles liegt bei Ihnen.
- Kosten. reCAPTCHA: kostenlos bis 10.000 Prüfungen pro Monat · Turnstile: kostenlos (solange Cloudflare es so entscheidet) · ALTCHA: kostenlos, für immer (es ist Ihr Server).
Das Fazit #
Ein Captcha von Dritten ist ein Stück Ihrer Website, das Ihnen nicht gehört und direkt an den Daten Ihrer Besucher hängt. ALTCHA beweist, dass man ein Formular schützen kann, ohne jemanden zu profilieren, ohne zusätzlichen Auftragsverarbeiter und ohne eine Rechnung, die nur auf ihren Moment wartet, zum Preis einer halben Sekunde unsichtbarer Berechnung. Es ist dieselbe Logik, die wir auf den Rest der Kette anwenden: Webanalyse ohne Cookies mit selbst gehostetem Matomo, souveränes Hosting in Frankreich und jetzt der Spamschutz.
Sie möchten Google oder Cloudflare aus Ihren Formularen entfernen, ohne dem Spam die Tür zu öffnen? Wir haben das auf unseren Websites und denen unserer Kunden umgesetzt: Sprechen wir über Ihre.



