Praxis-Tipps

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.

Compliso Team
7 Min. Lesezeit

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/SpeicherZweckLaufzeitConsent nötig?
_GRECAPTCHAreCAPTCHA-Funktions-CookieSessionJa (SS 25 TDDDG)
NIDGoogle-Präferenz-Cookie6 MonateJa
CONSENTGoogle-Consent-Status2 JahreJa
1P_JARGoogle-Werbe-Cookie1 MonatJa
LocalStorage-EinträgeVerschiedene Tracking-DatenPersistentJa

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.

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

KriteriumFriendly CaptchahCaptchaCloudflare TurnstileHoneypotGoogle reCAPTCHA v3
CookiesKeine_hc* (Session)KeineKeine_GRECAPTCHA, NID, weitere
FingerprintingNein (Proof-of-Work)Ja (eingeschränkt)Ja (eingeschränkt)NeinJa (umfangreich)
Consent nötig?NeinUmstrittenUmstrittenNeinJa
HostingEU (Deutschland)USAUSA (Cloudflare)Self-hostedUSA (Google)
MethodeProof-of-Work (Crypto-Puzzle)Bildauswahl-ChallengeUnsichtbare ChallengeVerstecktes FormularfeldVerhaltensanalyse + Fingerprinting
BarrierefreiheitSehr gut (keine User-Interaktion)Schlecht (visuelle Challenge)GutSehr gutGut (v3 unsichtbar)
PreisAb 0 EUR (1.000 Requests/Mo)Kostenlos (Basic)KostenlosKostenlosKostenlos
EffektivitätHochHochHochMittel (einfache Bots)Sehr hoch
DSGVO-BewertungSehr gutEingeschränktEingeschränktSehr gutProblematisch

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

EinsatzzweckEmpfohlene LösungBegründung
Kontaktformular (wenig Traffic)Honeypot + Rate-LimitingKein externer Dienst, kein Consent, ausreichender Schutz
Kontaktformular (viel Traffic)Friendly CaptchaKein Consent nötig, EU-gehostet, hohe Effektivität
Login-FormularFriendly Captcha + Rate-LimitingBrute-Force-Schutz ohne Usability-Einbussen
Registrierung / SignupFriendly Captcha oder TurnstileHohe Bot-Erkennung, kein Friction für echte Nutzer
E-Commerce (Checkout)Turnstile (falls bereits Cloudflare) oder Friendly CaptchaSchnell, unsichtbar, kein Conversion-Verlust
Enterprise / HochsicherheitFriendly Captcha Enterprise + Server-Side-ValidationMaximaler 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.

recaptcha dsgvo captcha friendly-captcha hcaptcha bot-schutz

Deine Website DSGVO-konform machen?

Compliso prüft deine Website automatisch auf Cookies, Tracker, Dark Patterns und Accessibility-Probleme.