Security
SecurityFortgeschritten

Google reCAPTCHA erklärt: v2 vs. v3 vs. Enterprise, Kosten, Score und jeder Schlüsseltyp

Ein vollständiger, praktischer Leitfaden zu Google reCAPTCHA, wie es heute funktioniert: was v2, v3 und Enterprise heute bedeuten, jeder Schlüsseltyp (Score, Checkbox, richtlinienbasiert, Universal, Android, iOS, WAF, Express), echte Kosten mit Rechenbeispielen, wie der Score funktioniert, Produktionscode für eine v3-Integration, mobile Apps mit Firebase App Check, KI-Agenten und die neue QR-Code-Challenge, DSGVO und eine Fehlerliste, wenn reCAPTCHA nicht funktioniert.

Titelbild: Google reCAPTCHA erklärt: v2 vs. v3 vs. Enterprise, Kosten, Score und jeder Schlüsseltyp
Inhalt

Im April hat Google reCAPTCHA leise in ein neues Produkt namens Google Cloud Fraud Defense eingegliedert. Im Juli folgte eine Challenge, bei der niemand mehr Ampeln anklicken muss: Sie scannen einen QR-Code mit dem Smartphone, und Google nennt das „AI-resistant“. Die eigene Dokumentation schreibt inzwischen, CAPTCHAs würden „aufgrund der Fortschritte bei Computer Vision und maschineller Intelligenz“ immer weniger nützlich.

Die meisten Anleitungen sprechen trotzdem noch von „v2 vs. v3 vs. Enterprise“, als hätte sich nichts geändert. Tatsächlich sind die Versionsnamen verschwunden, jeder Schlüssel liegt in einem Google-Cloud-Projekt, das kostenlose Kontingent teilt sich Ihre ganze Organisation, und der Score hat ohne Abrechnung nur vier mögliche Werte. Dieser Leitfaden zeigt reCAPTCHA, wie es heute funktioniert – jeden Schlüsseltyp, echte Preise, den Score, funktionierenden Code, mobile Apps, KI-Agenten, DSGVO – und die Fehler, die ich beim Einbau in die Formulare dieser Website gemacht habe.

Google reCAPTCHA erklärt: Die Checkbox ist nicht die Prüfung – Score-basierte Schlüssel, 10.000 kostenlose Assessments im Monat und jeder Schlüsseltyp

Was ist ein CAPTCHA, und was ist reCAPTCHA heute?

Ein CAPTCHA – Completely Automated Public Turing test to tell Computers and Humans Apart – ist jeder Test, mit dem eine Website Menschen von Bots unterscheidet: verzerrte Buchstaben, „Wählen Sie alle Ampeln aus“, ein Schiebe-Puzzle. reCAPTCHA (oft auch „Google re Captcha“ geschrieben) ist Googles CAPTCHA-Dienst und der, den die meisten Websites nutzen.

Technisch ist reCAPTCHA ein Dienst zur Bot-Erkennung für Websites, mobile Apps und APIs. Ihre Seite oder App holt sich bei Google ein Token, Ihr Backend schickt dieses Token in einem Assessment an Google, und Google antwortet mit einem Urteil: Ist das Token gültig, für welche Aktion wurde es erzeugt, und wie wahrscheinlich hat ein Mensch es erzeugt – ein Score von 0,0 (sehr wahrscheinlich Bot) bis 1,0 (sehr wahrscheinlich Mensch).

Drei Änderungen der letzten zwei Jahre wiegen schwerer als jede Versionsnummer:

  • Jeder Schlüssel ist ein Google-Cloud-Schlüssel. Neue „Classic“-Schlüssel gibt es seit Q3 2024 nicht mehr, die automatische Migration der restlichen Classic-Schlüssel begann in Q4 2025, und Googles Zeitplan sah den Abschluss für Q1 2026 vor – inklusive gesperrtem API-Zugriff für Schlüssel ohne Cloud-Projekt. Migrierte v2- und v3-Schlüssel funktionieren ohne Codeänderung weiter, verwaltet werden sie aber in der Google Cloud Console.
  • reCAPTCHA gehört seit dem 22. April 2026 zu Google Cloud Fraud Defense. Für bestehende Integrationen ändert sich laut Google nichts; Doku, Console und Marketing tragen nur den neuen Namen. reCAPTCHA ist der Kern der Bot-Erkennung, Fraud Defense ergänzt Schutz vor Konto-, SMS- und Zahlungsbetrug.
  • Stufen statt Editionen. Essentials (kostenlos), Premium (nutzungsbasiert) und Enterprise (Abo) bestimmen, welche Funktionen Sie bekommen – mehr dazu bei den Kosten.

v2 vs. v3 vs. Enterprise: Namen, die es nicht mehr gibt

Wenn Sie nach „reCAPTCHA v2 vs. v3“ gesucht haben, hier die kurze Antwort. Die Google Cloud Console verwendet keine Versionsnummern mehr. Googles Begriffszuordnung sieht so aus:

v2 vs. v3 vs. Enterprise: Namen, die es nicht mehr gibt
Bekannt als Name in der Google Cloud Console Was Nutzer sehen
reCAPTCHA v3 Website · score Nichts. Sie bekommen pro Anfrage einen Score.
reCAPTCHA v2 Checkbox Website · checkbox „Ich bin kein Roboter“, manchmal eine Bildauswahl
reCAPTCHA v2 Invisible Website · invisible with challenge fallback Nichts oder eine Challenge nach Risikoanalyse. Nicht mehr neu anlegbar.
— Website · policy-based challenge Eine Challenge nur unter einem selbst gesetzten Score-Schwellenwert
— Android / iOS Nichts. Natives SDK, nur Score.
reCAPTCHA Enterprise Kein Schlüsseltyp Die Cloud-API, die Console und die kostenpflichtigen Stufen

„Enterprise vs. v3“ ist also keine echte Wahl. Ein Score-basierter Schlüssel ist das v3-Erlebnis, und Sie rufen ihn über die reCAPTCHA Enterprise API (recaptchaenterprise.googleapis.com) auf – ob Sie zahlen oder nicht. Der alte Endpunkt siteverify funktioniert noch für Plugins, die einen geheimen Schlüssel brauchen, aber Google empfiehlt für alles Neue CreateAssessment, weil nur Assessments Reason Codes und die erweiterten Funktionen liefern.

So funktioniert ein reCAPTCHA-Assessment

Jede Integration, vom Kontaktformular bis zur Android-App, folgt denselben fünf Schritten.

So funktioniert ein reCAPTCHA-Assessment: execute(action) im Browser liefert ein zwei Minuten gültiges Token, Ihr Backend schickt es an CreateAssessment, Google liefert valid, action, score und reasons, und Ihr Code entscheidet über Zulassen, Zusatzprüfung oder Blockieren
Das Token allein beweist nichts. Die Entscheidung fällt in Ihrem Backend, nach dem Assessment.
  1. Ausführen. Die Seite ruft grecaptcha.enterprise.execute(siteKey, { action: 'signup' }) auf. Der Aktionsname ist ein frei gewähltes Label pro Nutzeraktion – login, signup, checkout.
  2. Token. reCAPTCHA liefert ein undurchsichtiges Token. Es ist zwei Minuten gültig und lässt sich nur einmal prüfen – das verhindert Replay-Angriffe.
  3. Senden. Ihr Formular oder fetch schickt das Token zusammen mit den eigentlichen Daten an Ihr eigenes Backend.
  4. Bewerten. Ihr Backend ruft projects.assessments.create mit Token, Site Key und erwarteter Aktion auf. Das ist die abgerechnete Einheit.
  5. Entscheiden. Sie prüfen tokenProperties.valid, vergleichen tokenProperties.action mit der erwarteten Aktion, lesen riskAnalysis.score und reasons und wählen: zulassen, nachprüfen (E-Mail-Code, MFA, Moderation) oder blockieren.

Der häufigste Fehler, den ich sehe: das Token beim Laden der Seite erzeugen. Braucht der Nutzer drei Minuten für das Formular, ist das Token tot, bevor es ankommt. Erzeugen Sie es beim Absenden.

Jeder reCAPTCHA-Schlüsseltyp und wann Sie ihn nutzen

Diesen Teil überspringen die meisten Anleitungen. reCAPTCHA hat vier Plattformen und zehn Schlüsseltypen, und der falsche kostet entweder Genauigkeit oder Conversion.

Jeder Google-reCAPTCHA-Schlüsseltyp: Web mit Score-basierten, Checkbox-, richtlinienbasierten und Universal-Schlüsseln; Android und iOS; WAF mit Action-Token, Session-Token und Challenge-Seite; Express für APIs und IoT
Score-basierte Schlüssel sind der Standard. Challenges sind ein Fallback, nicht der Plan.
Jeder reCAPTCHA-Schlüsseltyp und wann Sie ihn nutzen
Schlüsseltyp Plattform Reibung Einsatz
Score-basiert (früher v3) Web Keine Standard für Formulare, Logins, Registrierung, Checkout. Von Google empfohlen.
Checkbox (früher v2) Web Hoch Alte Plugins oder bewusste Hürde für Formulare mit geringem Wert
Richtlinienbasierte Challenge Web Nur bei riskantem Traffic Challenge unter einem selbst gesetzten Score. GA seit Oktober 2025.
Universal-Schlüssel + Policy Engine Web Regelbasiert Ein Schlüssel mit Regeln auf Score, IP, User Agent, ASN oder verifizierter Bot-Identität. Preview seit Juli 2026.
Android / iOS Mobil Keine Native Apps über das reCAPTCHA-SDK. Nur Score.
WAF Action-Token Web, mobil Keine Schutz einzelner Aktionen am Edge, etwa mit Cloud Armor
WAF Session-Token Web Keine Bewertung der ganzen Sitzung auf einer Domain
WAF Challenge-Seite Web Hoch Zwischenseite für Traffic, den Sie bereits verdächtigen
Express API, IoT, TV Keine Nur serverseitig, wenn kein JavaScript und kein SDK läuft. Geringere Genauigkeit.

Ein paar Regeln aus dem Leitfaden zu Schlüsseltypen:

  • Score-basierte Schlüssel sind auch die Antwort auf Barrierefreiheit. Google nennt Anforderungen an Barrierefreiheit ausdrücklich als Grund für sie und schreibt, dass CAPTCHA-Challenges nicht für alle Nutzer zugänglich sind.
  • Checkbox- und richtlinienbasierte Schlüssel gibt es nur fürs Web. Android- und iOS-Schlüssel liefern nur Scores.
  • Express tauscht Genauigkeit gegen Reichweite. Ohne clientseitige Signale erkennt es laut Google „typischerweise“ weniger als Integrationen mit Client-Komponente. Nutzen Sie es für APIs, Smart-TVs und Konsolen, nicht als Abkürzung für Websites.
  • Die Policy Engine ändert auch das Frontend. Ihr AutoExecute-Modus prüft ausgehende fetch-Anfragen und hängt Tokens automatisch an, die Seite braucht nur noch ein Script-Tag. Sie erfordert Abrechnung und ist in der Preview.

Ist reCAPTCHA kostenlos? Die Kosten in echten Zahlen

Kurz: Als kostenloses Captcha reicht reCAPTCHA, solange Ihre Organisation unter 10.000 Prüfungen im Monat bleibt. reCAPTCHA rechnet pro Assessment ab: jeder CreateAssessment-Aufruf oder jeder Aufruf des alten Endpunkts siteverify. Gezählt wird die Prüfung eines Tokens. Die Abrechnungsseite definiert drei Stufen:

Ist reCAPTCHA kostenlos? Die Kosten in echten Zahlen
Essentials Premium Enterprise
So bekommen Sie es Standard, ohne Abrechnungskonto Abrechnung im Projekt aktivieren Vertrag mit dem Vertrieb
0–10.000 Assessments / Monat Kostenlos Kostenlos —
10.001–100.000 HTTP 429 für CreateAssessment 8 $ pauschal —
Über 100.000 — 0,001 $ pro Stück (1 $ pro 1.000) Feste Menge zu 1 $ pro 1.000
Bindung Keine Monatlich, nutzungsbasiert Mindestens 12 Monate
Score-Stufen 4 11 11
Reason Codes Nein Basis Erweitert
Richtlinienbasierte Challenge, Policy Engine Nein Ja (Policy Engine: 3 Regeln) Ja
Konto-, Passwort-, SMS-, Transaktionsschutz Nein Ja (zusätzliche Assessments) Ja
reCAPTCHA-Kosten nach monatlichen Assessments: kostenlos bis 10.000; Essentials liefert darüber HTTP 429; Premium kostet pauschal 8 $ bis 100.000, 158 $ bei 250.000 und 908 $ bei einer Million Assessments
Für die meisten Websites ist nicht der Preis die Frage, sondern was beim 10.001. Assessment passiert.

Rechenbeispiele für Premium mit den veröffentlichten Preisen:

Ist reCAPTCHA kostenlos? Die Kosten in echten Zahlen
Assessments pro Monat Kosten Premium
8.000 0 $
50.000 8 $
250.000 8 $ + 150.000 × 0,001 $ = 158 $
1.000.000 8 $ + 900.000 × 0,001 $ = 908 $

Zwei Details erwischen viele:

  • Die 10.000 kostenlosen Assessments gelten pro Organisation, nicht pro Projekt oder Website. Zehn Nebenprojekte in einer Google-Cloud-Organisation teilen sich ein Kontingent.
  • Die beiden Prüf-Endpunkte scheitern in entgegengesetzte Richtungen. Über dem freien Kontingent ohne Abrechnung scheitert CreateAssessment geschlossen mit HTTP 429. Das alte siteverify scheitert offen: Es liefert HTTP 200, success: true, einen festen Score von 0,9 und eine Fehlermeldung zum überschrittenen Kontingent.

Googles Preisseite und der Stufenvergleich widersprechen sich derzeit in einem Punkt: Die Preistabelle sagt, mobile SDKs seien in Essentials nicht enthalten, der Stufenvergleich führt das iOS- und Android-SDK als verfügbar. Wenn Mobile für Sie wichtig ist, testen Sie es in Ihrem Projekt, bevor Sie sich auf eine der beiden Aussagen verlassen.

So funktioniert der reCAPTCHA-Score

Der Score reicht von 0,0 bis 1,0, höher heißt geringeres Risiko. Kaum jemand weiß, wie grob er in der kostenlosen Stufe ist.

reCAPTCHA-Score-Stufen: ohne Abrechnung gibt es nur 0,1, 0,3, 0,7 und 0,9, Schwellen von 0,5 und 0,7 entscheiden also gleich; mit Abrechnung gibt es 11 Stufen von 0,0 bis 1,0
In der kostenlosen Stufe ist jeder Schwellenwert zwischen 0,3 und 0,7 derselbe Schwellenwert.

Aus der Assessment-Dokumentation:

  • Es gibt 11 Stufen – 0,0, 0,1 … 1,0 –, aber ohne Abrechnungskonto nur 0,1, 0,3, 0,7 und 0,9. Auf dieser Website nutzt das Kontaktformular eine Schwelle von 0,7, der Newsletter 0,5. In einem Projekt ohne Abrechnung verhalten sich beide Schwellen identisch, weil keine Anfrage 0,5 oder 0,6 erreichen kann.
  • Reason Codes erklären niedrige Werte: AUTOMATION, UNEXPECTED_ENVIRONMENT, TOO_MUCH_TRAFFIC, UNEXPECTED_USAGE_PATTERNS und LOW_CONFIDENCE_SCORE (zu wenig Traffic für ein Urteil). Auch sie brauchen Abrechnung.
  • Scores brauchen Zeit. reCAPTCHA lernt aus echtem Traffic Ihrer Website; Scores in Staging und in den ersten sieben Tagen weichen vom Langzeitbetrieb ab. Google rät, Score-basierte Schlüssel erst ohne Reaktion laufen zu lassen und Schwellen aus der Verteilung abzuleiten.
  • Im Hintergrund reagieren. Google empfiehlt je nach Anwendungsfall eine andere Reaktion statt einer harten Sperre: MFA oder E-Mail-Bestätigung beim riskanten Login, Moderation beim riskanten Kommentar, Prüfung bei der riskanten Bestellung.
  • Annotieren. Premium und Enterprise können das Ergebnis zurückmelden (annotateAssessment: legitim oder betrügerisch), was das Modell für Ihre Website schärft.

Ein reCAPTCHA-Score ist ein Indiz, kein Urteil. Der Code, der daraus Zulassen, Nachprüfen oder Blockieren macht, gehört Ihnen – und genau den testen Angreifer.

reCAPTCHA v3 einbinden: Produktionscode

Das ist eine gekürzte Fassung dessen, was hinter den Formularen dieser Website läuft: ein Score-basierter Schlüssel, das Enterprise-JavaScript wird erst bei Bedarf geladen, und das Assessment läuft serverseitig. Der Code läuft auf jeder Node.js-Laufzeit mit fetch.

Der Browser-Teil erzeugt das Token beim Absenden, nie beim Laden der Seite:

recaptcha-client.js
const SITE_KEY = '6Lc...ihr-score-schluessel';
function loadRecaptcha() {
if (window.grecaptcha?.enterprise) return Promise.resolve();
return new Promise((resolve, reject) => {
const s = document.createElement('script');
s.src = `https://www.google.com/recaptcha/enterprise.js?render=${SITE_KEY}`;
s.onload = resolve;
s.onerror = reject;
document.head.appendChild(s);
});
}
export async function tokenFor(action) {
await loadRecaptcha();
await new Promise((r) => grecaptcha.enterprise.ready(r));
return grecaptcha.enterprise.execute(SITE_KEY, { action });
}
// form.addEventListener('submit', async (e) => {
// e.preventDefault();
// const token = await tokenFor('signup');
// await fetch('/api/signup', { method: 'POST', body: JSON.stringify({ email, token }) });
// });

Der Server-Teil trifft die Entscheidung. Er prüft die drei Dinge, die zählen – valid, action, score – und behandelt ein fehlendes Token als Sperre:

verify-recaptcha.js
export async function assess(token, expectedAction, { ip, userAgent } = {}) {
if (!token) return { ok: false, reason: 'no-token' };
const url =
`https://recaptchaenterprise.googleapis.com/v1/projects/${process.env.RECAPTCHA_PROJECT_ID}` +
`/assessments?key=${process.env.RECAPTCHA_API_KEY}`;
const res = await fetch(url, {
method: 'POST',
headers: { 'content-type': 'application/json' },
body: JSON.stringify({
event: { token, siteKey: process.env.RECAPTCHA_SITE_KEY, expectedAction, userIpAddress: ip, userAgent },
}),
signal: AbortSignal.timeout(6000),
});
if (!res.ok) return { ok: null, reason: `http-${res.status}` }; // 429 = Kontingent, 5xx = Google
const { tokenProperties: t = {}, riskAnalysis: r = {} } = await res.json();
if (!t.valid) return { ok: false, reason: t.invalidReason };
if (t.action !== expectedAction) return { ok: false, reason: 'action-mismatch' };
return { ok: r.score >= 0.5, score: r.score, reasons: r.reasons ?? [] };
}

Drei Entscheidungen in diesem Code treffen Sie, nicht Google:

  • ok: null bei HTTP-Fehlern. Auf dieser Website lässt ein Google-Ausfall oder ein erschöpftes Kontingent die Anfrage durch und schreibt eine Warnung ins Log, weil die übrigen Schichten (unten) weiter greifen und ein toter Newsletter schlimmer ist als eine Spam-Anmeldung. Ein Zahlungs-Endpunkt sollte dagegen geschlossen scheitern. So oder so: Machen Sie es zu einer Entscheidung, nicht zu einem Zufall.
  • Der API-Schlüssel. Die REST-API akzeptiert einen API-Schlüssel; beschränken Sie ihn in der Console auf die reCAPTCHA Enterprise API. Auf Google Cloud können Sie stattdessen die Client-Bibliothek mit der Identität des Dienstes nutzen und ganz auf den Schlüssel verzichten – mit derselben Begründung wie beim Abschaffen von Service-Account-Schlüsseln mit Workload Identity Federation.
  • Der Hostname. Wenn Sie die Domain-Prüfung am Schlüssel abschalten (nötig ab 250 Domains), müssen Sie tokenProperties.hostname selbst prüfen.

In React oder Next.js ändert sich nichts: Rufen Sie tokenFor() im Submit-Handler auf, nicht in einem useEffect beim Mounten – aus demselben Zwei-Minuten-Grund.

reCAPTCHA testen, ohne es abzuschalten

End-to-End-Tests und CI erzeugen keinen menschlichen Score, und wer die Prüfung in Testumgebungen abschaltet, testet nie den Codepfad, der in Produktion läuft. Googles Antwort sind Test-Schlüssel, angelegt mit der gcloud CLI. Ein Test-Schlüssel liefert immer den Score oder die Challenge, die Sie festlegen:

Terminal window
# Score-basierter Schlüssel, der immer 0.9 liefert
gcloud recaptcha keys create --web --integration-type=score \
--testing-score=0.9 --domains="localhost" --display-name="test-always-0.9"
# Checkbox-Schlüssel, der immer eine unlösbare Challenge zeigt
gcloud recaptcha keys create --web --integration-type=checkbox \
--testing-score=0.0 --testing-challenge=challenge --domains="localhost" --display-name="test-unsolvable"

Mit je einem Schlüssel für hohen und niedrigen Score testen Sie sowohl den Zulassen- als auch den Nachprüfen-Zweig. Test-Schlüssel lassen sich später weder in normale Schlüssel umwandeln noch bearbeiten, nur löschen – halten Sie sie in einem eigenen Projekt, getrennt von Produktion.

Kontaktformular und Login: reCAPTCHA ist nur eine Schicht

Ein Kontaktformular nur mit reCAPTCHA lässt sich weiterhin missbrauchen: Jemand schickt POST-Anfragen ohne Token an Ihren Endpunkt, spielt ein von einem Menschen erzeugtes Token innerhalb seiner zwei Minuten erneut ab oder bezahlt Menschen fürs Ausfüllen. Auf dieser Website hat jeder Formular-Endpunkt vier unabhängige Schichten, und keine reicht allein:

  1. Ein Honeypot-Feld, das Menschen nie sehen und einfache Bots ausfüllen.
  2. Ein Rate Limit pro IP – günstig und auf Serverless nur nach bestem Bemühen, aber es stoppt eine faule Flut. Wie es richtig geht, steht in Rate Limiting in der Praxis.
  3. Das reCAPTCHA-Assessment mit einer Aktion pro Endpunkt (contact, subscribe) und eigener Schwelle.
  4. Ein Bestätigungsschritt: Double-Opt-in für den Newsletter, eine menschliche Antwort fürs Kontaktformular.

Bei Login-Seiten sollte ein niedriger Score den Nutzer nicht blockieren, sondern eine Zusatzprüfung auslösen. Googles eigene Empfehlung für Logins: MFA oder E-Mail-Bestätigung unter Ihrer Schwelle. Noch besser: Schaffen Sie das Passwort ab, das Credential-Stuffing-Bots durchprobieren – mit Passkeys wird die ganze Angriffsklasse sinnlos.

reCAPTCHA in mobilen Apps: SDK oder Firebase App Check

Native Apps können das Web-Skript nicht ausführen, es gibt also zwei Wege.

Das reCAPTCHA-Mobile-SDK (Android und iOS) nutzt denselben Assessment-Ablauf mit einem Android- oder iOS-Schlüssel: execute(action) in der App, Assessment auf Ihrem Server. Es liefert nur Scores, keine Challenges. Das SDK wird aktiv weiterentwickelt – die neuesten Versionen erscheinen als Fraud Defense Mobile SDK, und die iOS-Beta aus dem August bringt macOS und tvOS mit.

Firebase App Check beantwortet eine andere Frage: nicht „Ist das ein Mensch?“, sondern „Kommt diese Anfrage aus meiner echten App auf einem echten Gerät?“. Es hängt jedem Aufruf an Firestore, Cloud Storage, aufrufbare Cloud Functions, Firebase AI Logic, einige Maps-APIs oder Ihr eigenes Backend ein App-Check-Token an. Die Anbieter:

reCAPTCHA in mobilen Apps: SDK oder Firebase App Check
Plattform App-Check-Anbieter
Android Play Integrity, reCAPTCHA Enterprise
iOS und Apple-Plattformen App Attest, DeviceCheck, reCAPTCHA Enterprise
Web reCAPTCHA Enterprise (Score-basierter Schlüssel), reCAPTCHA v3

Achten Sie im Web auf die Kosten. Jede Erneuerung eines App-Check-Tokens ist ein reCAPTCHA-Assessment, die Standard-Lebensdauer beträgt eine Stunde, und das SDK erneuert nach etwa der Hälfte – also grob zwei Assessments pro Stunde aktiver Nutzung und Nutzer. Eine Web-App mit 1.000 täglichen Nutzern, die sie je eine Stunde offen haben, erzeugt rund 60.000 Assessments im Monat: über der kostenlosen Stufe und in Premiums 8 $. Die TTL lässt sich zwischen 30 Minuten und sieben Tagen einstellen; länger heißt weniger Assessments und ein längeres Fenster für ein gestohlenes Token. Play Integrity hat ein eigenes Standardkontingent von 10.000 Aufrufen pro Tag.

reCAPTCHA am Edge und vor APIs

Zwei weitere Integrationen holen reCAPTCHA aus Ihrem Anwendungscode:

  • reCAPTCHA für WAF verbindet Tokens mit Google Cloud Armor und mit Edges von Drittanbietern wie Cloudflare, Fastly und Akamai (mehrere dieser Integrationen starteten als Preview). Ihre Edge-Richtlinie kann dann anhand des Scores zulassen, umleiten oder blockieren, bevor die Anfrage Ihren Dienst erreicht. Action-Tokens schützen einzelne Aktionen, Session-Tokens bewerten die ganze Sitzung, und die Challenge-Seite ist eine Zwischenseite für verdächtigen Traffic.
  • reCAPTCHA Express ist eine rein serverseitige Integration für APIs und Geräte, die weder JavaScript noch das SDK ausführen können – IoT, Smart-TVs, Spielkonsolen. Es gibt keine Client-Komponente und damit keine clientseitigen Signale. Für diese Clients ist es die einzige Option, für Websites die schwächste.

Können KI-Agenten reCAPTCHA knacken?

Diese Frage stellen inzwischen viele, und die ehrliche Antwort steht in Googles eigener Dokumentation. In den Hinweisen zu Checkbox-Schlüsseln heißt es, CAPTCHAs würden „aufgrund der Fortschritte bei Computer Vision und maschineller Intelligenz“ weniger nützlich und seien „durch bezahlte Angreifer bedroht, die alle Arten von Challenges lösen können“. Bild-Challenges stoppen einfache Bots. Entschlossene Angreifer stoppen sie nicht, und menschliche Lösefarmen haben sie nie gestoppt.

Was Google stattdessen gebaut hat, zeigt, wohin Bot-Schutz geht:

  • Der unsichtbare Score bleibt der Kern: Er bewertet Verhalten und Umgebung über die Sitzung hinweg, nicht ein einzelnes gelöstes Rätsel.
  • Eine KI-resistente QR-Code-Challenge (Preview seit Juli 2026). Der Browser zeigt einen QR-Code, der Nutzer scannt ihn mit dem Smartphone, und die Prüfung läuft in der vertrauenswürdigen Ausführungsumgebung des Telefons. Android braucht Google-Play-Dienste ab Version 25.41.30, iOS nutzt App Clips ohne App-Installation. Die Aufteilung auf zwei Geräte erschwert Angriffe in großem Maßstab. Der Zugang läuft über eine Allowlist für Ihren Universal-Schlüssel.
  • Ein Agent-Übersichts-Dashboard (Juli 2026), das verifizierte Agenten von mutmaßlichen Agenten trennt. Verifiziert wird über Web Bot Auth, bei dem ein Agent seine Anfragen kryptografisch signiert, oder über User-Agent- und IP-Identität.
  • Policy-Engine-Regeln auf verifizierte Bot-Identität, damit Sie einen bekannten Shopping-Assistenten oder Suchcrawler durchlassen und alles andere weiter prüfen.

Die Frage lautet nicht mehr „Mensch oder Bot?“, sondern „Welche Automatisierung will ich, und kann sie beweisen, wer sie ist?“. Eine Checkbox kann das nicht beantworten. Eine Identität kann es.

Dieser Wandel reicht weit über CAPTCHAs hinaus: Agenten, die surfen, Formulare ausfüllen und APIs aufrufen, sind bereits ein Sicherheitsproblem, wie die KI-Agenten zeigten, die eine Regierungswebsite gehackt haben. Ist Ihre Website eher Ziel von Scrapern als von Spam, entscheidet auch der Unterschied zwischen Web Scraping und Web Crawling, welchen Traffic Sie behalten wollen.

reCAPTCHA funktioniert nicht: Ursachen und Lösungen

Ob das Captcha nicht funktioniert, die Überprüfung ständig fehlschlägt oder es sich nur dreht – die Ursache ist meist eine dieser:

reCAPTCHA funktioniert nicht: Ursachen und Lösungen
Symptom Wahrscheinliche Ursache Lösung
invalidReason / timeout-or-duplicate Token älter als zwei Minuten oder doppelt geprüft Token beim Absenden erzeugen; das Assessment nie mit demselben Token wiederholen
action-mismatch Token für eine andere Aktion erzeugt Ein Aktionsname pro Endpunkt, exakt vergleichen
„Invalid site key“ Schlüssel gelöscht, falsches Projekt oder Tippfehler Key ID aus der Console kopieren – sie ist der Site Key
Läuft in Produktion, scheitert auf localhost localhost ist standardmäßig keine erlaubte Domain Eigener Entwicklungsschlüssel mit localhost; nie in den Produktionsschlüssel eintragen
enterprise.js?render=KEY liefert HTTP 400, kein Token Der Schlüssel ist ein Checkbox-Schlüssel render= funktioniert nur mit Score-basierten Schlüsseln. Der Typ lässt sich nicht ändern, legen Sie einen neuen an. Das war mein Fehler.
Widget lädt nie, grecaptcha ist undefined Content-Security-Policy blockiert Google Googles Liste: script-src https://www.google.com/recaptcha/ https://www.gstatic.com/recaptcha/, frame-src https://www.google.com/recaptcha/ https://recaptcha.google.com/recaptcha/, connect-src https://www.google.com/recaptcha/
BROWSER_ERROR im Assessment execute() im Client fehlgeschlagen, meist Netzwerk execute() im Browser wiederholen
„This site is exceeding reCAPTCHA quota“ oder HTTP 429 Organisation hat 10.000 kostenlose Assessments verbraucht Abrechnung aktivieren oder Assessments reduzieren (nur beim Absenden prüfen)
SecurityError: blocked a frame… Checkbox-Widget wurde nach dem Klick aus dem DOM entfernt grecaptcha.enterprise.reset() statt Entfernen
Region erreicht www.google.com nicht Netzwerkbeschränkungen Stattdessen von www.recaptcha.net laden
Besucher sieht „Your computer or network may be sending automated queries“ Geteiltes Netz (VPN, öffentliches WLAN), eine kürzlich auffällige IP oder ein laufender Angriff auf die Website Im Code nichts zu tun; der Nutzer kann das Netz wechseln oder es später erneut versuchen

Am meisten Zeit hat mich dieser gekostet: Mein erster Schlüssel war ein Checkbox-Schlüssel. Das Skript lieferte HTTP 400, kein Token erreichte das Backend, und das Backend – das damals bei fehlendem Token offen scheiterte – ließ jede Anfrage durch. Nichts sah kaputt aus. Heute ist ein fehlendes Token eine Sperre, und jede übersprungene Prüfung schreibt eine Warnung ins Log.

reCAPTCHA-Schlüssel: Site Key, Secret Key und API-Schlüssel

Drei verschiedene „Schlüssel“ verwirren fast alle:

  • Site Key – öffentlich, steckt in Ihrer Seite oder App. In der Google Cloud Console ist es die Key ID des reCAPTCHA-Schlüssels.
  • Alter geheimer Schlüssel (Secret Key) – nur für siteverify und Plugins, die ihn brauchen. Die Console blendet ihn standardmäßig aus; Sie finden ihn im Tab Integration des Schlüssels („Use legacy key“ oder „Integrate with a third-party service or plugin“). Behandeln Sie ihn wie ein Passwort.
  • Google-Cloud-API-Schlüssel oder Dienstidentität – damit ruft Ihr Backend CreateAssessment auf. Beschränken Sie einen API-Schlüssel auf die reCAPTCHA Enterprise API oder verzichten Sie darauf und authentifizieren Sie sich mit der Identität des Dienstes.

Plugins für WordPress, WooCommerce und Contact Form 7 verlangen meist Site Key und alten Secret Key – sie prüfen also über siteverify. Das funktioniert, ist aber genau die Konstellation, die über dem kostenlosen Kontingent offen scheitert. Behalten Sie die monatliche Zahl der Assessments im Blick.

reCAPTCHA, DSGVO und das Badge

reCAPTCHA schickt Geräte- und Verhaltenssignale an Google und gehört deshalb in jede Datenschutzerklärung. Für den deutschen Markt sind vier Punkte wichtig:

  • Google ist seit dem 2. April 2026 Auftragsverarbeiter. Laut reCAPTCHA-FAQ ist Google für reCAPTCHA nicht mehr eigenständiger Verantwortlicher, sondern verarbeitet die Daten als Auftragsverarbeiter nach den Google-Cloud-Bedingungen und dem Cloud Data Processing Addendum. Sie sind alleiniger Verantwortlicher. Die Links „Google-Datenschutzerklärung und Nutzungsbedingungen“ wurden aus dem Badge entfernt, und Google empfiehlt, sie auch von der eigenen Website zu nehmen. In Ihre Datenschutzerklärung gehört jetzt der Zweck: Sicherheit, Betrugs- und Missbrauchsabwehr.
  • Ein Cookie: _GRECAPTCHA. Google bezeichnet es als notwendig für die Risikoanalyse. Wer von www.recaptcha.net statt www.google.com lädt, vermeidet weitere google.com-Cookies.
  • Einwilligung ist umstritten. In Deutschland wird diskutiert, ob das Laden des Skripts nach § 25 TDDDG eine Einwilligung braucht, weil dabei auf Informationen im Endgerät zugegriffen wird, oder ob es als unbedingt erforderlich für den Schutz eines Formulars gilt. Eine einheitliche Antwort gibt es nicht – klären Sie das mit Ihrem Datenschutzbeauftragten. Das hier ist keine Rechtsberatung.
  • Datensparsam einbinden. Eine Maßnahme kostet nichts: Laden Sie das Skript nur dort, wo es gebraucht wird. Auf dieser Website lädt enterprise.js erst beim ersten Fokus auf ein Formularfeld; wer nie ein Formular anfasst, spricht nie mit reCAPTCHA.

Darf man das Badge ausblenden? Ja. Google erlaubt .grecaptcha-badge { visibility: hidden; }, solange die Seite den Hinweis „This site is protected by reCAPTCHA.“ zeigt – etwa unter dem Formular. Native Apps zeigen gar kein Badge; ein Hinweis im Info-Bereich ist optional.

Fazit

Nutzen Sie im Web für alles einen Score-basierten Schlüssel, prüfen Sie ihn innerhalb von zwei Minuten mit CreateAssessment, kontrollieren Sie valid, action und score, und behandeln Sie den Score als ein Signal neben Honeypot, Rate Limit und Zusatzprüfung. Legen Sie im Code fest, was bei HTTP 429 passiert, und denken Sie daran, dass Ihr Score ohne Abrechnung nur vier Werte kennt. Für native Apps nehmen Sie das reCAPTCHA-SDK für „Ist das ein Mensch?“ und Firebase App Check für „Ist das meine App?“. Und behalten Sie Policy Engine und QR-Code-Challenge im Blick: Damit räumt Google ein, dass das nächste Bot-Problem kein Bot ist, der eine Checkbox anklicken kann, sondern ein KI-Agent, der das kann – und stattdessen beweisen muss, wer er ist.

Häufig gestellte Fragen

Was ist ein CAPTCHA, und was unterscheidet reCAPTCHA davon?

CAPTCHA steht für Completely Automated Public Turing test to tell Computers and Humans Apart: jeder Test, mit dem eine Website Menschen von Bots unterscheidet, etwa verzerrte Buchstaben, Bildraster oder Puzzles. reCAPTCHA ist Googles CAPTCHA-Dienst. Die klassische Form ist die Checkbox „Ich bin kein Roboter“ mit Bildauswahl, heute ist das Hauptprodukt aber ein unsichtbarer Risiko-Score von 0,0 bis 1,0, auf den Ihr Backend reagiert – die meisten Nutzer sehen gar kein Rätsel mehr.

Ist Google reCAPTCHA kostenlos?

Ja, bis 10.000 Assessments pro Kalendermonat und Organisation, summiert über alle Google-Cloud-Projekte, Schlüssel und Websites. Diese Stufe heißt Essentials. Mit aktivierter Abrechnung wechseln Sie zu Premium: Assessments 10.001 bis 100.000 kosten pauschal 8 $ im Monat, jedes weitere über 100.000 kostet 0,001 $ (1 $ pro 1.000). Enterprise ist ein 12-Monats-Abo mit fester Menge zu 1 $ pro 1.000. Ohne Abrechnung schlagen CreateAssessment-Aufrufe über 10.000 mit HTTP 429 fehl.

Was ist der Unterschied zwischen reCAPTCHA v2 und v3?

v2 zeigt eine Prüfung: die Checkbox „Ich bin kein Roboter“, die eventuell eine Bildauswahl verlangt. v3 zeigt nichts und liefert einen Score zwischen 0,0 und 1,0, auf den Ihr Backend reagiert. In der Google Cloud Console heißt v3 heute Score-basierter Schlüssel und v2 Checkbox-Schlüssel. Google empfiehlt Score-basierte Schlüssel; Checkbox-Schlüssel erzeugen Reibung, sind weniger barrierefrei und laut Google wegen besserer Machine Vision immer weniger nützlich.

Ist reCAPTCHA DSGVO-konform?

Das hängt von Ihrer Einbindung ab, nicht nur vom Produkt. Seit dem 2. April 2026 ist Google für reCAPTCHA Auftragsverarbeiter und nicht mehr eigenständiger Verantwortlicher; Sie sind alleiniger Verantwortlicher, verarbeitet wird nach den Google-Cloud-Bedingungen und dem Cloud Data Processing Addendum. reCAPTCHA gehört in die Datenschutzerklärung (Zweck: Sicherheit, Betrugs- und Missbrauchsabwehr), und in Deutschland wird diskutiert, ob das Laden des Skripts nach § 25 TDDDG eine Einwilligung braucht. Klären Sie das mit Ihrem Datenschutzbeauftragten und laden Sie das Skript nur dort, wo ein Formular es wirklich braucht. Das ist keine Rechtsberatung.

Welcher reCAPTCHA-Score-Schwellenwert ist gut?

Starten Sie mit 0,5 und justieren Sie anhand Ihres eigenen Traffics. Google empfiehlt, Score-basierte Schlüssel zuerst ohne Reaktion laufen zu lassen und Schwellen aus der Verteilung abzuleiten; Scores in Staging und in den ersten sieben Tagen weichen vom Langzeitbetrieb ab. Ohne Abrechnung gibt es nur 0,1, 0,3, 0,7 und 0,9, jeder Schwellenwert zwischen 0,3 und 0,7 wirkt also gleich. Nutzen Sie verschiedene Schwellen pro Aktion: Ein Login kann unter 0,7 MFA verlangen, eine Newsletter-Anmeldung 0,5 akzeptieren.

Warum funktioniert reCAPTCHA nicht oder meldet „Überprüfung fehlgeschlagen“?

Die häufigsten Ursachen: Das Token ist älter als zwei Minuten oder wurde schon geprüft (timeout-or-duplicate), die Aktion im Token passt nicht zur erwarteten Aktion, die Domain steht nicht auf der Liste des Schlüssels (localhost ist standardmäßig nicht erlaubt), Schlüsseltyp und Skript passen nicht zusammen (enterprise.js mit render= funktioniert nur mit Score-basierten Schlüsseln), eine Content-Security-Policy blockiert www.google.com oder www.gstatic.com, oder die Organisation hat ihre 10.000 kostenlosen Assessments ohne Abrechnung verbraucht. Ein BROWSER_ERROR bedeutet, dass execute() im Client fehlschlug, meist wegen des Netzwerks – wiederholen Sie es.

Aus der Community

Diskussion auf Mastodon & Bluesky

Antworten auf diesen Artikel aus dem offenen Netz, live geladen. Keine Werbung, keine Tracking-Skripte.

Antworten werden geladen …
Auf Mastodon antwortenAuf Bluesky antworten

Antworte dort — es erscheint hier automatisch.

ENDE