Google reCAPTCHA und DSGVO: Probleme und datenschutzfreundliche Alternativen
Google reCAPTCHA ist datenschutzrechtlich problematisch: Cookies, Fingerprinting, US-Datentransfer. Wir zeigen Alternativen wie Friendly Captcha, hCaptcha und Honeypot mit Code-Beispielen.
Google reCAPTCHA schützt Formulare vor Spam und Bots — aber zu welchem Preis? Der Dienst setzt Cookies, betreibt umfangreiches Fingerprinting und überträgt Daten an Google-Server in den USA. Für europäische Websites ist das ein erhebliches Datenschutzproblem. Dieser Artikel zeigt, warum reCAPTCHA problematisch ist, welche konkreten Daten übertragen werden und welche Alternativen es gibt — inklusive Implementierungsbeispielen.
Warum ist Google reCAPTCHA problematisch?
1. Cookies und lokale Speicherung
reCAPTCHA setzt mehrere Cookies auf dem Gerät des Nutzers:
| Cookie/Speicher | Zweck | Laufzeit | Consent nötig? |
|---|---|---|---|
_GRECAPTCHA | reCAPTCHA-Funktions-Cookie | Session | Ja (SS 25 TDDDG) |
NID | Google-Präferenz-Cookie | 6 Monate | Ja |
CONSENT | Google-Consent-Status | 2 Jahre | Ja |
1P_JAR | Google-Werbe-Cookie | 1 Monat | Ja |
| LocalStorage-Einträge | Verschiedene Tracking-Daten | Persistent | Ja |
Bereits das Setzen eines einzigen nicht-essentiellen Cookies löst die Einwilligungspflicht nach SS 25 Abs. 1 TDDDG aus. reCAPTCHA-Cookies sind nicht “unbedingt erforderlich” im Sinne von SS 25 Abs. 2 TDDDG, da es datenschutzfreundlichere Alternativen zum Bot-Schutz gibt (Honeypot, Proof-of-Work).
2. Umfangreiches Browser-Fingerprinting
reCAPTCHA v3 arbeitet vollständig im Hintergrund — ohne sichtbare Challenge. Stattdessen analysiert es das Nutzerverhalten und erstellt einen umfassenden Browser-Fingerprint:
- Bildschirmauflösung und Farbtiefe
- Installierte Browser-Plugins und Schriftarten
- Mausbewegungen, Scrollverhalten, Tastatureingaben
- Canvas- und WebGL-Rendering (für Geräte-Fingerprinting)
- CPU-Klasse, Anzahl der Kerne, Arbeitsspeicher
- Zeitzone, Sprache, Plattform
- Referrer und besuchte Seiten
Dieses Fingerprinting stellt eine Verarbeitung personenbezogener Daten nach Art. 4 Nr. 1 DSGVO dar — und erfordert eine Rechtsgrundlage.
3. Datentransfer in die USA
Beim Laden von reCAPTCHA werden automatisch Verbindungen zu Google-Servern hergestellt:
www.google.com/recaptcha/www.gstatic.com/recaptcha/apis.google.com
Dabei werden die IP-Adresse des Nutzers und die gesammelten Fingerprinting-Daten an Google übermittelt. Zwar ist Google seit Juli 2023 unter dem EU-US Data Privacy Framework zertifiziert, aber die grundsätzliche Consent-Pflicht für Cookies und Fingerprinting bleibt davon unberührt.
4. Undurchsichtige Datenverarbeitung
Google gibt in seinen Datenschutzhinweisen zu reCAPTCHA keine erschöpfende Auskunft darüber, welche Daten konkret erhoben und wie sie weiterverarbeitet werden. Art. 13 DSGVO verlangt jedoch eine transparente Information der Betroffenen. Als Website-Betreiber kannst du diese Transparenzpflicht nur schwer erfüllen, wenn Google selbst keine vollständige Dokumentation liefert.
5. Consent-Pflicht und das Dilemma
Hier liegt das praktische Problem: reCAPTCHA muss vor dem Absenden des Formulars geladen werden, um den Bot-Score zu berechnen. Wenn du reCAPTCHA erst nach Cookie-Consent ladeest, ist das Formular für alle Nutzer ohne Consent ungeschützt — oder unbenutzbar.
Lösung: Verwende eine Alternative, die keine Einwilligung benötigt.
Alternativen-Vergleich
| Kriterium | Friendly Captcha | hCaptcha | Cloudflare Turnstile | Honeypot | Google reCAPTCHA v3 |
|---|---|---|---|---|---|
| Cookies | Keine | _hc* (Session) | Keine | Keine | _GRECAPTCHA, NID, weitere |
| Fingerprinting | Nein (Proof-of-Work) | Ja (eingeschränkt) | Ja (eingeschränkt) | Nein | Ja (umfangreich) |
| Consent nötig? | Nein | Umstritten | Umstritten | Nein | Ja |
| Hosting | EU (Deutschland) | USA | USA (Cloudflare) | Self-hosted | USA (Google) |
| Methode | Proof-of-Work (Crypto-Puzzle) | Bildauswahl-Challenge | Unsichtbare Challenge | Verstecktes Formularfeld | Verhaltensanalyse + Fingerprinting |
| Barrierefreiheit | Sehr gut (keine User-Interaktion) | Schlecht (visuelle Challenge) | Gut | Sehr gut | Gut (v3 unsichtbar) |
| Preis | Ab 0 EUR (1.000 Requests/Mo) | Kostenlos (Basic) | Kostenlos | Kostenlos | Kostenlos |
| Effektivität | Hoch | Hoch | Hoch | Mittel (einfache Bots) | Sehr hoch |
| DSGVO-Bewertung | Sehr gut | Eingeschränkt | Eingeschränkt | Sehr gut | Problematisch |
Implementierung: Friendly Captcha
Friendly Captcha ist die datenschutzfreundlichste Alternative mit hoher Bot-Erkennung. Der Nutzer muss nichts tun — das Crypto-Puzzle wird automatisch im Hintergrund gelöst.
HTML + JavaScript Integration
<!-- Friendly Captcha Widget laden -->
<script
type="module"
src="https://cdn.jsdelivr.net/npm/friendly-challenge@0.9.14/widget.module.min.js"
async
defer
></script>
<form method="POST" action="/api/contact">
<label for="email">E-Mail-Adresse</label>
<input type="email" id="email" name="email" required />
<label for="message">Nachricht</label>
<textarea id="message" name="message" required></textarea>
<!-- Friendly Captcha Widget -->
<div
class="frc-captcha"
data-sitekey="DEIN_SITEKEY"
data-lang="de"
></div>
<button type="submit">Absenden</button>
</form>
Server-seitige Verifikation (Node.js)
// Friendly Captcha Solution serverseitig pruefen
async function verifyCaptcha(solution) {
const response = await fetch(
'https://api.friendlycaptcha.com/api/v1/siteverify',
{
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({
solution: solution,
secret: process.env.FRC_SECRET_KEY,
sitekey: process.env.FRC_SITE_KEY,
}),
}
);
const data = await response.json();
return data.success === true;
}
Implementierung: Cloudflare Turnstile
Turnstile ist Cloudflares kostenlose reCAPTCHA-Alternative. Es setzt keine Cookies, nutzt aber eingeschränktes Fingerprinting zur Bot-Erkennung.
HTML + JavaScript Integration
<!-- Turnstile Widget laden -->
<script
src="https://challenges.cloudflare.com/turnstile/v0/api.js"
async
defer
></script>
<form method="POST" action="/api/contact">
<label for="name">Name</label>
<input type="text" id="name" name="name" required />
<label for="email">E-Mail</label>
<input type="email" id="email" name="email" required />
<!-- Turnstile Widget -->
<div
class="cf-turnstile"
data-sitekey="DEIN_SITEKEY"
data-theme="light"
data-language="de"
></div>
<button type="submit">Absenden</button>
</form>
Server-seitige Verifikation (Node.js)
// Turnstile Token serverseitig pruefen
async function verifyTurnstile(token, remoteIp) {
const response = await fetch(
'https://challenges.cloudflare.com/turnstile/v0/siteverify',
{
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({
secret: process.env.TURNSTILE_SECRET_KEY,
response: token,
remoteip: remoteIp, // optional
}),
}
);
const data = await response.json();
return data.success === true;
}
Datenschutz-Hinweis: Turnstile überträgt Daten an Cloudflare-Server (USA). Cloudflare ist DPF-zertifiziert, aber die Einordnung der Datenverarbeitung nach DSGVO ist nicht abschließend geklärt. Die CNIL stuft vergleichbare unsichtbare Challenges als einwilligungspflichtig ein.
Honeypot-Technik: Die einfachste Lösung
Die Honeypot-Technik ist die datenschutzfreundlichste Methode überhaupt: Kein externer Dienst, keine Cookies, keine Daten an Dritte. Die Idee: Ein verstecktes Formularfeld wird per CSS unsichtbar gemacht. Bots füllen es aus, Menschen nicht.
Implementierung
<form method="POST" action="/api/contact">
<label for="name">Name</label>
<input type="text" id="name" name="name" required />
<label for="email">E-Mail</label>
<input type="email" id="email" name="email" required />
<!-- Honeypot-Feld: per CSS versteckt, per aria-hidden fuer Screenreader -->
<div style="position: absolute; left: -9999px;" aria-hidden="true">
<label for="website">Website (nicht ausfuellen)</label>
<input
type="text"
id="website"
name="website"
tabindex="-1"
autocomplete="off"
/>
</div>
<label for="message">Nachricht</label>
<textarea id="message" name="message" required></textarea>
<button type="submit">Absenden</button>
</form>
Server-seitige Prüfung
// Honeypot serverseitig pruefen
app.post('/api/contact', (req, res) => {
// Wenn das Honeypot-Feld ausgefuellt wurde: Bot erkannt
if (req.body.website && req.body.website.trim() !== '') {
// Leise verwerfen (kein Fehlersignal an den Bot)
return res.status(200).json({ success: true });
}
// Kein Bot: Formular normal verarbeiten
processContactForm(req.body);
return res.status(200).json({ success: true });
});
Honeypot-Limitationen
Die Honeypot-Technik stoppt nur einfache Bots, die blind alle Felder ausfüllen. Gegen fortgeschrittene Bots (Headless Browser, KI-gestützt) ist sie wirkungslos. Für Kontaktformulare und Newsletter-Anmeldungen reicht sie oft aus. Für Login-Formulare oder kritische Endpunkte empfiehlt sich eine Kombination aus Honeypot + Rate-Limiting + einer CAPTCHA-Alternative.
Empfehlung nach Einsatzzweck
| Einsatzzweck | Empfohlene Lösung | Begründung |
|---|---|---|
| Kontaktformular (wenig Traffic) | Honeypot + Rate-Limiting | Kein externer Dienst, kein Consent, ausreichender Schutz |
| Kontaktformular (viel Traffic) | Friendly Captcha | Kein Consent nötig, EU-gehostet, hohe Effektivität |
| Login-Formular | Friendly Captcha + Rate-Limiting | Brute-Force-Schutz ohne Usability-Einbussen |
| Registrierung / Signup | Friendly Captcha oder Turnstile | Hohe Bot-Erkennung, kein Friction für echte Nutzer |
| E-Commerce (Checkout) | Turnstile (falls bereits Cloudflare) oder Friendly Captcha | Schnell, unsichtbar, kein Conversion-Verlust |
| Enterprise / Hochsicherheit | Friendly Captcha Enterprise + Server-Side-Validation | Maximaler Schutz mit EU-Hosting |
Praxis-Checkliste: reCAPTCHA ersetzen
- Alle Formulare inventarisiert, die aktuell reCAPTCHA nutzen?
- Alternative gewählt (Friendly Captcha, Turnstile oder Honeypot)?
- reCAPTCHA-Scripts und -Cookies vollständig entfernt?
- Neue Lösung serverseitig validiert (nicht nur clientseitig)?
- Datenschutzerklärung aktualisiert (reCAPTCHA entfernt, neue Lösung dokumentiert)?
- Cookie-Banner angepasst (reCAPTCHA-Cookies entfernt)?
- Formular-Funktionalität nach Umstellung getestet?
- Rate-Limiting als zusätzliche Schutzmaßnahme aktiviert?
- Bot-Submissions nach Umstellung monitort (hat sich die Spam-Rate verändert)?
- Website gescannt, ob reCAPTCHA-Reste (google.com/recaptcha-Requests) noch vorhanden sind?
Fazit
Google reCAPTCHA ist für DSGVO-konforme Websites keine gute Wahl. Die Kombination aus Cookies, Fingerprinting, US-Datentransfer und undurchsichtiger Datenverarbeitung macht einen rechtskonformen Einsatz ohne Consent nahezu unmöglich — und mit Consent verlierst du alle Nutzer, die nicht zustimmen.
Alternativen wie Friendly Captcha (EU-gehostet, Cookie-frei, Proof-of-Work) oder die simple Honeypot-Technik bieten effektiven Bot-Schutz ohne Datenschutzprobleme. Die Umstellung ist in den meisten Fällen an einem Nachmittag erledigt.
Der Compliso Scanner erkennt automatisch, ob deine Website Google reCAPTCHA einsetzt, und zeigt dir die datenschutzrechtliche Bewertung inklusive konkreter Handlungsempfehlungen. Scanne deine Website jetzt kostenlos und finde heraus, ob reCAPTCHA noch auf deiner Seite aktiv ist.
Deine Website DSGVO-konform machen?
Compliso prüft deine Website automatisch auf Cookies, Tracker, Dark Patterns und Accessibility-Probleme.