> ## Documentation Index
> Fetch the complete documentation index at: https://docs.didit.me/llms.txt
> Use this file to discover all available pages before exploring further.

# Biometrische Einwilligung für BIPA, CUBI und Colorado

> Didit ermöglicht explizite biometrische Einwilligung vor dem Selfie für Illinois, Texas und Colorado: Auslöser, SDK 4.10.0 & Entscheidungsfelder.

Illinois (BIPA), Texas (CUBI) und Colorado schreiben einen Hinweis und eine ausdrückliche Freigabe vor, bevor ein Unternehmen Gesichtsgeometrie erfasst – sei es aus einem Selfie oder aus dem Foto auf einem Ausweisdokument. Didit kann Personen, die unter diese Gesetze fallen, vor der ersten Gesichtserfassung einen Einwilligungsschritt anzeigen und speichert die Antwort als Nachweis in der Sitzung.

Diese Seite erklärt, wann der Schritt erscheint, welche Anwendungen ihn anzeigen können und wie die Antwort in Ihre Entscheidung und Webhooks gelangt.

> [!WARNING]
>
> Didit zeigt den Schritt an und protokolliert die Antwort. Sie entscheiden, ob Ihr Nutzerablauf den für Ihr Unternehmen geltenden Biometriegesetzen entspricht. Diese Seite stellt keine Rechtsberatung dar: Prüfen Sie Ihre Implementierung gemeinsam mit Ihrer Rechtsabteilung.

## Wann der Schritt erscheint

Eine Sitzung zeigt den Einwilligungsschritt an, wenn beide der folgenden Bedingungen erfüllt sind:

1. **Der Workflow erfasst ein Gesicht.** Ein Schritt für Liveness-Erkennung, Gesichtsabgleich oder Altersschätzung, das Selfie mit der Frontkamera, das der Schritt zur Ausweisverifizierung aufnimmt (sofern Sie es nicht deaktiviert haben), oder eine Videoaufzeichnung der gesamten Sitzung.
2. **Der Einwilligungsmodus der Anwendung erfordert ihn.** Im Modus **Automatisch** greift einer der unten aufgeführten [Auslöser](#was-den-schritt-im-modus-automatisch-auslöst). Im Modus **Immer** wird der Schritt in jeder Sitzung angezeigt, in der ein Gesicht erfasst wird.

Der Schritt erscheint vor der ersten Gesichtserfassung. Wenn nur das Ausweisdokument einen betroffenen Bundesstaat aufweist, erscheint er unmittelbar nach der Ausweiserfassung und vor dem Selfie, und aus den Bildern der Ausweiserfassung wird keine Gesichtsgeometrie berechnet, bis die Person zustimmt.

Didit prüft die Anforderung beim Öffnen des Ablaufs durch die Person und erneut bei jedem Schritt, bis sie zutrifft. Sobald eine Sitzung eine Einwilligung erfordert, bleibt diese Anforderung bestehen.

### Einwilligungsmodi

Wählen Sie den Modus in der Konsole unter den **Settings > Data and privacy > Biometric consent** der Anwendung. Jede Änderung wird im [Audit-Log](https://docs.didit.me/de/console/audit-logs.md) protokolliert.

| Modus | Was geschieht |
| - | - |
| **Automatisch** (Standard, empfohlen) | Zeigt den Schritt nur an, wenn ein [Auslöser](#was-den-schritt-im-modus-automatisch-auslöst) zutrifft. Alle anderen sehen den standardmäßigen einzeiligen Hinweis. |
| **Immer** | Jede Person, deren Gesicht erfasst wird, sieht den Schritt – unabhängig vom Standort. Die Entscheidung erfasst `trigger: "forced"`. |
| **Nie** | Didit zeigt den Schritt niemals an. Wo Gesetze von US-Bundesstaaten eine Einwilligung vorschreiben, holen Sie diese vor dem Selfie selbst ein und bewahren den Nachweis auf. |

### Was den Schritt im Modus Automatisch auslöst

Didit prüft diese Regeln der Reihe nach und erfasst die erste zutreffende Regel in `biometric_consent.trigger`:

| Auslöser | Wann er zutrifft |
| - | - |
| `declared_state` | Sie haben beim Erstellen der Sitzung einen betroffenen Bundesstaat deklariert: `user_state` oder eine US-Adresse in `expected_details`. |
| `ip_state` | Die IP der Person befindet sich in Illinois, Texas oder Colorado. |
| `ip_unknown` | Die Person scheint sich in den USA aufzuhalten (eine US-IP, ein US-Dokument oder von Ihnen übermittelte US-Angaben), aber ihr Bundesstaat lässt sich nicht bestimmen: Die IP liegt in den USA ohne Bundesstaat oder kann nicht lokalisiert werden, während Ihre Angaben oder das Dokument die Person in den USA verorten. |
| `document_issuer` | Das bei der Ausweiserfassung ausgelesene Ausweisdokument wurde von einem betroffenen Bundesstaat ausgestellt. |

**VPNs, Proxys und Hosting-Netzwerke führen für sich genommen nicht zu einer Abfrage.** Didit lokalisiert die IP der Person wie jede andere: Eine IP in Illinois, Texas oder Colorado zeigt den Schritt an, eine IP an jedem anderen Ort nicht. Der Schritt wird nur bei eindeutigen Nachweisen für einen betroffenen Bundesstaat abgefragt (die IP, der Ausstellungsstaat des Ausweises oder ein von Ihnen angegebener Bundesstaat) oder wenn die Person ohne Angabe eines Bundesstaats in den USA verortet wird (`ip_unknown`). Eine Person in einem betroffenen Bundesstaat hinter einem VPN mit Endpunkt andernorts und einem Ausweis, der von keinem betroffenen Bundesstaat ausgestellt wurde, wird nicht abgefragt; verwenden Sie den Modus **Immer** oder übermitteln Sie `user_state`, falls Sie diesen Fall abdecken müssen.

Zwei weitere Werte beschreiben, wie die Einwilligung einer Sitzung festgelegt wurde, und nicht, warum sie abgefragt wurde:

| Auslöser | Bedeutung |
| - | - |
| `forced` | Der Modus der Anwendung ist **Immer**. |
| `customer_collected` | Sie haben eine bereits eingeholte Einwilligung beim Erstellen der Sitzung übermittelt (siehe unten). |

## Didit mitteilen, was Sie bereits wissen

[Create Session](https://docs.didit.me/de/sessions-api/create-session.md) akzeptiert hierfür zwei optionale Felder:

| Feld | Funktion |
| - | - |
| `user_state` | Wo die Person wohnt, sofern bekannt: ein ISO-3166-2-Unterteilungscode (`US-IL`, `ES-M`) oder der Code bzw. Name eines US-Bundesstaats (`IL`, `Illinois`). Bei einem betroffenen Bundesstaat wird der Schritt mit `trigger: "declared_state"` angezeigt. Ein unbekannter Wert gibt `400` zurück. |
| `biometric_consent` | Eine bereits von Ihnen eingeholte Einwilligung: `{ "given_at": "<ISO 8601>", "text_version": "<your version id>" }`. Der Ablauf fragt nicht erneut nach, und die Entscheidung protokolliert `status: "given"` mit `trigger: "customer_collected"`. `given_at` darf nicht in der Zukunft liegen. |

```json theme={null}
{
  "workflow_id": "YOUR_WORKFLOW_ID",
  "vendor_data": "user-42",
  "user_state": "US-IL",
  "biometric_consent": {
    "given_at": "2026-10-13T09:12:00Z",
    "text_version": "consent-v3"
  }
}
```

## Welche Apps den Schritt anzeigen

Für diesen Schritt ist eine App erforderlich, die ihn darstellen kann. Didit prüft dies bei jeder Anfrage der App:

| Wo sich die Person verifiziert | Zeigt den Schritt an |
| - | - |
| Der gehostete Verifizierungs-Workflow: ein Browser, das [Web SDK](https://docs.didit.me/de/integration/web-sdks/overview.md) oder eine WebView | Ja |
| [Natives SDK](https://docs.didit.me/de/integration/native-sdks/overview.md) 4.10.0 oder höher (iOS, Android sowie React Native- oder Flutter-Releases, die die native Version 4.10.0 oder höher einbinden) | Ja |
| Ein natives SDK unter 4.10.0 oder eines, das seine Version nicht übermittelt | Nein |

### Native SDKs unter 4.10.0

Native SDKs, die vor 4.10.0 veröffentlicht wurden, kennen den Einwilligungsschritt nicht, daher fordert Didit diesen dort nie an. Die Verifizierung läuft genau wie zuvor ab: Das Selfie und die übrigen Gesichtsaufnahmen werden akzeptiert und verarbeitet, und die Sitzung erreicht wie gewohnt ihre Entscheidung.

Didit erfasst niemals eine Einwilligung, die nicht erteilt wurde. Wenn die Sitzung eine Einwilligung erforderte und ein älteres SDK ein Gesicht erfasst hat, zeigt die Entscheidung:

```json theme={null}
"biometric_consent": {
  "required": true,
  "trigger": "ip_state",
  "status": "pending",
  "given_at": null,
  "reason": "BIOMETRIC_CONSENT_UNSUPPORTED_SDK"
}
```

> [!WARNING]
>
> **Aktualisieren Sie auf das native SDK 4.10.0 oder höher, wenn Sie Personen in Illinois, Texas oder Colorado in einer nativen App verifizieren.** Bis dahin werden diese Sitzungen ohne ausdrückliche Einwilligung abgeschlossen, und es liegt in Ihrer Verantwortung, diese vor dem Selfie einzuholen.

Setzt die Person dieselbe Sitzung im gehosteten Workflow fort (auf einem anderen Gerät oder in einer WebView, die die App für bestimmte Arten der Liveness-Erkennung öffnet), zeigt der gehostete Workflow den Schritt an und erfasst dort kein Gesicht, bis sie antwortet. Eine dort erteilte Einwilligung behält `reason: "BIOMETRIC_CONSENT_UNSUPPORTED_SDK"`, da bereits Gesichter ohne Einwilligung erfasst wurden.

## Was die Person sieht

Der Schritt informiert die Person darüber, was erfasst wird, warum, wer sie hat und wie lange die Daten aufbewahrt werden, und verlinkt auf die [Richtlinie für biometrische Daten](https://didit.me/legal/biometric-data-policy). Er enthält eine Schaltfläche: **Zustimmen und fortfahren**, die deaktiviert bleibt, bis die Person das Zustimmungsfeld ankreuzt.

Didit speichert die Antwort als Nachweis: wann sie erteilt wurde, Version und Hash des angezeigten Textes, die Sprache, den Workflow-Schritt sowie Adresse, Standort und User-Agent der Anfrage. Sobald die Person zustimmt, ist die Antwort endgültig.

## Wenn die Person nicht zustimmt

Der Schritt bietet keine Ablehnen-Schaltfläche. Eine Person, die nicht zustimmen möchte, verlässt den Workflow: Es wird kein Gesicht erfasst und die Sitzung endet als `Abandoned`, wie jede andere Sitzung, die die Person nicht abschließt (siehe [Verifizierungsstatus](https://docs.didit.me/de/integration/verification-statuses.md)). Bieten Sie ihr in diesem Fall eine alternative Verifizierungsmethode an.

### Abgelehnte Einwilligung in der API

Die Entscheidung führt einen Status `declined` und den Grund `BIOMETRIC_CONSENT_DECLINED` als API-Werte. Derzeit bietet kein Didit-Bildschirm eine Option zum Ablehnen an, sodass weder der gehostete Workflow noch die nativen SDKs eine Ablehnung erfassen. Eine Sitzung, die eine Ablehnung verzeichnet:

* Endet als `Declined`, und der Webhook `status.updated` wird wie bei jeder anderen Ablehnung ausgelöst.
* Zeigt `biometric_consent.status` als `declined`, `reason` und `decline_reason` als `BIOMETRIC_CONSENT_DECLINED` sowie `declined_at` mit dem entsprechenden Zeitstempel an.
* Erfasst nach der Ablehnung kein Gesicht mehr. Jedes Gesichtsbild und jedes biometrische Template, das die Sitzung bereits enthält, wird gelöscht: Selfies, das Selfie über die Frontkamera bei der Ausweiserfassung, der Gesichtsausschnitt des Porträts auf dem Dokument sowie Videos zur Liveness-Erkennung und der gesamten Sitzung. `face_data_deleted_at` hält fest, wann dies geschah. Die Entscheidung gibt diese Daten nicht mehr zurück, und die Löschung ist unwiderruflich.
* Behält die Dokumentenbilder und die daraus ausgelesenen Daten bei: Die Ablehnung wirkt sich nicht auf sie aus.

## In der Entscheidung und in Webhooks

Jede Benutzerverifizierungsentscheidung enthält ein `biometric_consent`-Objekt, sowohl in [Retrieve Session](https://docs.didit.me/de/sessions-api/retrieve-session.md) als auch in der `decision` von [Sitzungs-Webhooks](https://docs.didit.me/de/integration/webhooks.md). Es ist `null`, wenn die Sitzung nie ausgewertet wurde, beispielsweise bei einem Workflow ohne Gesichtserfassung.

| `status` | Bedeutung |
| - | - |
| `not_required` | Die Sitzung erforderte keine Einwilligung. |
| `pending` | Eine Einwilligung ist erforderlich und wurde noch nicht erteilt. Prüfen Sie `reason`, um ein älteres SDK von einer Person zu unterscheiden, die noch nicht geantwortet hat. |
| `given` | Die Person hat im Workflow zugestimmt oder Sie haben `biometric_consent` bei der Erstellung übermittelt. |
| `declined` | Eine Ablehnung wurde erfasst und die Sitzung endete als `Declined`. Derzeit bietet kein Didit-Bildschirm eine Option zum Ablehnen an (siehe [oben](#abgelehnte-einwilligung-in-der-api)). |

| `reason` | Bedeutung |
| - | - |
| `BIOMETRIC_CONSENT_UNSUPPORTED_SDK` | Ein natives SDK unter 4.10.0 oder eines, das seine Version nicht übermittelt hat, hat ein Gesicht ohne diesen Schritt erfasst. |
| `BIOMETRIC_CONSENT_DECLINED` | Eine Ablehnung wurde erfasst. Derzeit bietet kein Didit-Bildschirm eine Option zum Ablehnen an. |
| `null` | Nichts zu erläutern. Immer `null`, wenn die Sitzung keine Einwilligung erforderte. |

Eine Sitzung, bei der die Person im gehosteten Workflow zugestimmt hat:

```json theme={null}
"biometric_consent": {
  "required": true,
  "trigger": "declared_state",
  "status": "given",
  "given_at": "2026-10-13T18:31:07.412000Z",
  "declined_at": null,
  "text_version": "bio-consent-2026-10-12",
  "locale": "en",
  "policy_url": "https://didit.me/legal/biometric-data-policy",
  "step": "LIVENESS",
  "ip_address": "198.51.100.23",
  "ip_country_code": "ES",
  "detected_ip_address": "198.51.100.23",
  "detected_country_code": "ES",
  "jurisdictions": ["IL"],
  "retention_months": 36,
  "reason": null,
  "decline_reason": null,
  "face_data_deleted_at": null
}
```

Das Beispiel ist gekürzt. Jedes Feld ist mit seinem Typ in den [Datenmodellen](https://docs.didit.me/de/reference/data-models.md#biometrische-einwilligung) aufgeführt.

## Verwandte Themen

* [Create Session](https://docs.didit.me/de/sessions-api/create-session.md): `user_state` und `biometric_consent`.
* [Retrieve Session](https://docs.didit.me/de/sessions-api/retrieve-session.md): die Entscheidung, die `biometric_consent` enthält.
* [Native SDKs](https://docs.didit.me/de/integration/native-sdks/overview.md): Versionen und Upgrade-Schritte.
* [Sicherheit und Compliance](https://docs.didit.me/de/getting-started/security-compliance.md): Ihre Pflichten in Verifizierungs-Workflows.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.