> ## 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.

# Standortverifizierung: Warnungen & LOCATION_-Codes

> Alle LOCATION_-Warnungen von Didit bei Standortprüfungen: Geofence, Spoofing, Genauigkeit, VPN, Distanz und Berechtigungen samt Auslösern & Aktionen.

## Übersicht

Warnungen im Standortbericht kennzeichnen jede Bedingung, die Didit bei einem Schritt zur Standortverifizierung festgestellt hat.
Sie werden im `warnings[]`-Array jedes Elements von `geolocation_checks[]` aufgeführt (siehe den [Standortbericht](https://docs.didit.me/de/core-technology/location-verification/report-location-verification.md)).

Jede Warnung besteht aus drei Ebenen:

1. **Der `risk`-Code**: eine stabile Kennung, anhand derer Sie abgleichen können, die stets mit `LOCATION_` beginnt.
2. **Der `log_type`**: `information`, `warning` oder `error`. Bei konfigurierbaren Risiken richtet er sich nach der konfigurierten Aktion: `NO_ACTION` ergibt `information`, `REVIEW` ergibt `warning`, `DECLINE` ergibt `error`.
3. **Die Auswirkung auf die Entscheidung**: Die strengste Aktion unter den Warnungen bestimmt den `status` des Schritts. `REVIEW` führt zu `In Review`, `DECLINE` führt zu `Declined` und `NO_ACTION` belässt ihn unverändert.

Unsicherheit und Verweigerung führen standardmäßig zu `REVIEW`, niemals zu `DECLINE`: Eine verweigerte Berechtigung, eine Position in Innenräumen oder ein großer Radius stellen keinen Nachweis für Betrug dar.
Warnungen zu Genauigkeit, Aktualität, Bereichen, Distanz und Anonymisierern werden nur beim letzten Versuch ausgegeben, sodass eine Person, die beim zweiten Versuch erfolgreich ist, keine Warnung erhält.
Benutzerdefinierte `status_rules` auf dem Knoten können den Status beibehalten oder heraufstufen, ihn jedoch niemals herabsetzen.

## Automatische Ablehnungsbedingungen

Diese führen stets zur Ablehnung des Schritts mit `log_type: "error"` und besitzen keinen Aktionsschlüssel.

| Risiko | Auslöser |
| - | - |
| `LOCATION_REPLAY_DETECTED` | Die Übermittlung enthielt eine Challenge, die zu einer anderen Sitzung gehört. Jeder Versuch erhält eine einmalige Challenge, die an seine Sitzung gebunden ist, sodass das Vorlegen an anderer Stelle ein Replay darstellt. |
| `LOCATION_INTEGRITY_FAILED` | Der Position war eine Geräte-Attestierung beigefügt, deren Verifizierung fehlschlug. |

## Erzeugte Warnungen

Standardwerte sind die Aktionen eines Schritts ohne `geolocation_preset`.
Unter `licensing` sind `LOCATION_VPN_DETECTED`, `LOCATION_TOR_DETECTED` und `LOCATION_EMULATOR_DETECTED` standardmäßig auf `DECLINE` und `LOCATION_PROXY_DETECTED` auf `REVIEW` gesetzt.
Unter `fraud_screening` wird jeder Standardwert, der `DECLINE` ist, zu `REVIEW`, und diese vier Anonymisierungsbefunde werden zu `REVIEW`.
Eine von Ihnen explizit festgelegte Aktion hat immer Vorrang.

### Berechtigung und Verfügbarkeit

| Risiko | Auslöser | Konfigurationsschlüssel | Standard |
| - | - | - | - |
| `LOCATION_PERMISSION_DENIED` | Die Person hat die Standortabfrage bei jedem zulässigen Versuch abgelehnt oder verworfen. Eine Entscheidung, kein Betrugsnachweis. | `geolocation_permission_denied_action` | `REVIEW` |
| `LOCATION_RESTRICTED` | Das Betriebssystem hat die Anfrage verweigert, bevor die Person antworten konnte: Ortungsdienste sind geräteweit deaktiviert, oder eine Richtlinie zur Geräteverwaltung oder Kindersicherung blockiert sie. | `geolocation_unavailable_action` | `REVIEW` |
| `LOCATION_UNAVAILABLE` | Das Gerät hat die Anfrage akzeptiert, aber sein Ortungssystem hat bei jedem zulässigen Versuch keine Position zurückgegeben. In Innenräumen und unter der Erde üblich. | `geolocation_unavailable_action` | `REVIEW` |
| `LOCATION_TIMEOUT` | Innerhalb von `geolocation_timeout_seconds` ist bei keinem zulässigen Versuch eine Position eingetroffen. | `geolocation_unavailable_action` | `REVIEW` |
| `LOCATION_SKIPPED` | Der Workflow erlaubt das Überspringen und die Person hat fortgefahren, ohne einen Standort zu teilen. | `geolocation_unavailable_action` | `REVIEW` |
| `LOCATION_UNSUPPORTED_CLIENT` | Die Sitzung hat ein App- oder SDK-Build erreicht, das diesen Schritt nicht implementiert. Didit hat den Schritt geschlossen, anstatt die Sitzung pausiert zu lassen. Aktualisieren Sie das SDK. | `geolocation_unavailable_action` | `REVIEW` |

### Genauigkeit und Aktualität

| Risiko | Auslöser | Konfigurationsschlüssel | Standard |
| - | - | - | - |
| `LOCATION_LOW_ACCURACY` | Die beste Position hatte einen größeren Radius als `geolocation_max_accuracy_radius_m`. Ein Maß für die Konfidenz, nicht für die Ehrlichkeit. | `geolocation_low_accuracy_action` | `REVIEW` |
| `LOCATION_ACCURACY_UNDETERMINED` | Die Position wies bei keinem zulässigen Versuch einen Radius auf, sodass nichts belegt, dass sie den Grenzwert einhält. Sie gilt niemals als eingehalten. | `geolocation_low_accuracy_action` | `REVIEW` |
| `LOCATION_STALE_FIX` | Die Position wurde mehr als `geolocation_max_age_seconds` vor dem Empfang durch Didit gemessen. | `geolocation_stale_fix_action` | `REVIEW` |
| `LOCATION_APPROXIMATE_ONLY` | Ein präziser Standort war erforderlich und die Person hat einen ungefähren Standort freigegeben (reduzierte Genauigkeit unter iOS, „Ungefähr“ unter Android). Wird im Web nie ausgelöst, da dies dort nicht festgestellt werden kann. | `geolocation_approximate_action` | `REVIEW` |
| `LOCATION_CLOCK_SKEW` | Das Gerät gab an, die Position im Vergleich zur Uhr von Didit in der Zukunft gemessen zu haben. Nur zur Information: Für die Aktualität wird der Empfangszeitpunkt bei Didit herangezogen. | keiner | Information |

### Spoofing und Integrität

| Risiko | Auslöser | Konfigurationsschlüssel | Standard |
| - | - | - | - |
| `LOCATION_MOCK_PROVIDER_DETECTED` | Android meldete, dass die Position von einem Mock-Location-Provider stammt. Auch Testtools und Tools für Barrierefreiheit können dies auslösen, daher ist die Aktion konfigurierbar. | `geolocation_mock_location_action` | `REVIEW` |
| `LOCATION_SIMULATED_BY_SOFTWARE` | iOS meldete, dass die Position per Software simuliert wurde. | `geolocation_mock_location_action` | `REVIEW` |
| `LOCATION_INTEGRITY_MISSING` | Eine native App sendete eine Position ohne Geräte-Attestierung. Web wird als nicht unterstützt erfasst, nicht als fehlend. | `geolocation_integrity_missing_action` | `NO_ACTION` |
| `LOCATION_EMULATOR_DETECTED` | Die App meldete die Ausführung auf einem Emulator oder einer virtuellen Maschine. Browser können dies nicht melden. Sofern die Aktion nicht `NO_ACTION` ist, beendet sie den Schritt bei diesem Versuch. | `geolocation_emulator_action` | `NO_ACTION` |
| `LOCATION_VPN_DETECTED` | Die Verbindung, über die der Standort geteilt wurde, läuft über ein kommerzielles VPN. Sofern die Aktion nicht `NO_ACTION` ist, wird die Person aufgefordert, es zu deaktivieren und die Prüfung erneut durchzuführen. | `geolocation_vpn_action` | `NO_ACTION` |
| `LOCATION_PROXY_DETECTED` | Die Verbindung läuft über einen offenen, anonymen oder Private-Relay-Proxy. | `geolocation_proxy_action` | `NO_ACTION` |
| `LOCATION_TOR_DETECTED` | Die Verbindung ist ein Tor-Exit-Knoten. | `geolocation_tor_action` | `NO_ACTION` |

### Bereiche

| Risiko | Auslöser | Konfigurationsschlüssel | Standard |
| - | - | - | - |
| `LOCATION_OUTSIDE_GEOFENCE` | Die Position und ihr gesamter Genauigkeitskreis liegen außerhalb aller zulässigen Bereiche. | `geolocation_geofencing_action` | `DECLINE` |
| `LOCATION_GEOFENCE_UNDETERMINED` | Der Genauigkeitskreis schneidet eine Grenze, die über das Ergebnis entscheidet, oder die Position lässt sich keinem Land zuordnen. Unsicherheit wird niemals als außerhalb gewertet. | `geolocation_geofence_undetermined_action` | `REVIEW` |
| `LOCATION_IN_BLOCKED_AREA` | Die Position und ihr gesamter Genauigkeitskreis liegen innerhalb eines blockierten Bereichs. Dies wird zum Ergebnis für den zulässigen Bereich hinzugefügt, niemals an dessen Stelle, und die strengere Aktion entscheidet. | `geolocation_blocked_area_action` | `DECLINE` |

### Entfernung und Historie

| Risiko | Auslöser | Konfigurationsschlüssel | Standard |
| - | - | - | - |
| `LOCATION_IP_DISTANCE_MISMATCH` | Die Geräteposition und der IP-Standort liegen weiter auseinander als `geolocation_ip_distance_km`, nach Abzug beider Radien. Ein VPN, ein Unternehmens-Proxy oder der zentrale Ausgang eines Mobilfunkanbieters können dies legitim verursachen. | `geolocation_ip_distance_action` | `REVIEW` |
| `LOCATION_DOCUMENT_DISTANCE_MISMATCH` | Die Position ist weiter als `geolocation_document_distance_km` von der Dokumentadresse entfernt. Ein schwaches Indiz, da Adressen nur grob geokodiert werden und Personen reisen. | `geolocation_document_distance_action` | `REVIEW` |
| `LOCATION_CONSECUTIVE_MISMATCHES` | Diese Prüfung und frühere Prüfungen derselben Person (gleiche `vendor_data`) lagen mindestens `geolocation_consecutive_mismatch_count`-mal in Folge außerhalb eines zulässigen Bereichs, in einem blockierten Bereich oder zu weit von der Adresse entfernt. | `geolocation_consecutive_mismatch_action` | `REVIEW` |

## Was die Person sieht

Einige Feststellungen werden der Person niemals erklärt, da die Nennung des Signals einem Betrüger verraten würde, was er ändern muss.
`LOCATION_EMULATOR_DETECTED`, `LOCATION_MOCK_PROVIDER_DETECTED`, `LOCATION_SIMULATED_BY_SOFTWARE`, `LOCATION_REPLAY_DETECTED`, `LOCATION_INTEGRITY_FAILED` und `LOCATION_IP_DISTANCE_MISMATCH` gehören zu dieser Gruppe: Wenn ein Prüfer die Verifizierung zurücksendet, sieht die Person eine allgemeine Begründung, während die Entscheidungs-Payload und Ihre Webhooks die vollständige Warnung enthalten.
Ein VPN wird der Person lediglich als Aufforderung angezeigt, jedes VPN zu deaktivieren und es erneut zu versuchen, und ein gesperrter Bereich wird nur als Liste der Orte angezeigt, an denen der Dienst verfügbar ist.

## Beispiel

```json theme={null}
{
  "risk": "LOCATION_LOW_ACCURACY",
  "log_type": "warning",
  "short_description": "Device location accuracy below the configured limit",
  "additional_data": {
    "accuracy_m": 1200.0,
    "accuracy_confidence": "p95",
    "max_accuracy_radius_m": 250
  },
  "node_id": "geolocation_1"
}
```

## Warnungstypen

Jedem Risiko wird basierend auf der Konfiguration Ihrer Anwendung ein Schweregrad zugewiesen. Die drei Schweregrade sind:

## Verwandte Themen

* [Bericht zur Standortverifizierung](https://docs.didit.me/de/core-technology/location-verification/report-location-verification.md) – die Felder neben `warnings[]`.
* [Standortverifizierung](https://docs.didit.me/de/core-technology/location-verification/overview.md) – wie der Schritt funktioniert.
* [Workflow-Funktionskonfigurationen](https://docs.didit.me/de/management-api/workflows/feature-configs.md#standortverifizierung) – alle Aktionsschlüssel.
* [Datenmodelle – Warnungsobjekt](https://docs.didit.me/de/reference/data-models.md#warnungsobjekt) – die Struktur jedes Eintrags in `warnings[]`.


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