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

# Transaktions-IP-Anreicherung: Land, ASN, VPN

> Didit reichert Transaktionen mit IP-Kontext an: Land, ASN, VPN, Tor, Rechenzentrum, Mobilfunk. 1,000 pro Monat inklusive, danach $0.001 je Aufruf.

Jede Transaktion mit einer Geräte-IP-Adresse wird serverseitig in Echtzeit angereichert, bevor die Regeln sie auswerten. Die Anreicherung ergänzt Land, Stadt, VPN-, Tor- und Rechenzentrums-Flags, ASN und Mobilfunkanbieter, die alle als Regelbedingungen verfügbar sind.

## Wann die Anreicherung ausgeführt wird

Inline während der Erstellung der Transaktion:

1. Sie senden `POST /v3/transactions/` mit `subject.device_context.network_context.ip_address` (oder der Geräte-IP-Adresse einer anderen Partei).
2. Didit sucht die IP-Adresse in einem In-Memory-Cache (TTL 24 Stunden).
3. Wenn sie nicht im Cache liegt, prüft Didit die gemeinsame IP-Anreicherungstabelle (Aktualität ca. 30 Tage).
4. Ist der Eintrag veraltet oder fehlt er, wird die IP-Adresse über die Anreicherungspipeline von Didit aufgelöst, mit Failover über mehrere Anbieter.
5. Die angereicherten Felder werden in den Transaktionsdatensatz geschrieben und stehen den Regeln zur Verfügung.

Die Anreicherung erfolgt **inline**, also bevor die Regeln laufen, ist bei einem Fehler jedoch **nicht blockierend**. Kann die Anreicherung nicht abgeschlossen werden, wird die Transaktion trotzdem verarbeitet. Die IP-Adresse erscheint dann ohne Anreicherungsdaten.

## Angereicherte Felder

| Feld | Beschreibung |
| - | - |
| `ip_country` | Ländername |
| `ip_country_code` | ISO 3166-1 alpha-2, wenn Didit den Wert auflöst (ein von Ihnen übermittelter Wert bleibt so erhalten, wie Sie ihn gesendet haben); Regelbedingungen normalisieren beide Formen |
| `ip_state` | Verwaltungseinheit (Bundesland, Region) |
| `ip_city` | Stadtname |
| `latitude`, `longitude` | Geografische Koordinaten |
| `isp` | Name des Internetdienstanbieters |
| `organization` | Name der registrierenden Organisation |
| `is_vpn_or_tor` | Boolean: Die IP-Adresse ist ein bekannter VPN- oder Tor-Exit |
| `is_data_center` | Boolean: Die IP-Adresse gehört zu einem Hosting- oder Rechenzentrumsbereich |
| `time_zone` | IANA-Zeitzone (z. B. `America/New_York`) |
| `time_zone_offset` | Abweichung von UTC |
| `asn_number` | Autonome Systemnummer |
| `asn_organization` | Eingetragene Organisation des ASN |
| `connection_type` | `mobile`, `broadband`, `dialup`, `corporate`, ... |
| `carrier` | Mobilfunkanbieter (für mobile IP-Adressen) |
| `proxy_type` | `VPN`, `TOR`, `PUBLIC_PROXY` oder null |

## Angereicherte Felder in Regeln verwenden

Jedes der angereicherten Felder kann eine [Regelbedingung](https://docs.didit.me/de/transaction-monitoring/rules.md) sein. Häufige Muster:

**Hochrisiko-Jurisdiktion anhand der IP-Adresse**

```
condition: applicant.ip_country_code IN ['IRN', 'PRK', 'SYR']
action: add_score(35), add_tags(['high_risk_ip_country'])
```

**VPN- / Tor-Nutzung**

```
condition: applicant.is_vpn_or_tor == true
action: change_status('IN_REVIEW'), add_tags(['anonymization'])
```

**Rechenzentrum / nicht aus einem privaten Wohnnetz stammender Ursprung**

```
condition: applicant.is_data_center == true AND amount > 10000
action: add_score(30)
```

**IP-Land ≠ KYC-Land**

```
condition: applicant.ip_country_code != applicant.country_code
action: add_score(15), add_tags(['geo_mismatch'])
```

## Cache-Ebenen

| Ebene | TTL | Zweck |
| - | - | - |
| In-Memory-Cache | 24 Stunden | Abfrage in unter einer Millisekunde für häufig angefragte IP-Adressen |
| Gemeinsame IP-Anreicherungstabelle | ca. 30 Tage | Über alle Instanzen geteilt; günstiger als eine erneute Auflösung |
| Anreicherungspipeline | nicht zutreffend | Aktuelle Daten, wenn keine andere Ebene sie hat |

Treffer in den ersten beiden Ebenen verursachen für Sie keine zusätzlichen Kosten. Neue Auflösungen können nutzungsabhängig abgerechnet werden. Siehe dazu Ihre Abrechnungskonsole.

## Verhalten bei Fehlern

* Die Erstellung einer Transaktion **schlägt nie fehl**, weil die Anreicherung fehlgeschlagen ist.
* Fehlende Anreicherungsfelder treffen einfach keine Regelbedingungen, die auf sie verweisen.
* Alerts zu hängender Anreicherung werden über die interne Überwachung an Ihr Betriebsteam gemeldet; für Kunden hat dies keine Auswirkungen.

## Gültigkeitsprüfung

Nicht routbare IP-Adressen werden vor der Anreicherung übersprungen:

* Privat (10/8, 172.16/12, 192.168/16)
* Loopback (127/8)
* Link-Local (169.254/16)
* Multicast, nicht spezifiziert

So sparen Sie Anbieterkontingent, und unsinnige Anreicherungsdaten entstehen nicht.

## Anreicherung für eine Transaktion prüfen

**Über die API.** Es gibt keinen separaten Anreicherungsblock. Die angereicherten Felder werden in das eigene Objekt `device.network_context` der Partei geschrieben, neben der übermittelten `ip_address`, im passenden Eintrag des Arrays `parties`:

```json theme={null}
"parties": [
  {
    "role": "APPLICANT",
    "vendor_data": "user-42",
    "device": {
      "network_context": {
        "ip_address": "203.0.113.5",
        "ip_country": "United States",
        "ip_country_code": "US",
        "ip_state": "California",
        "ip_city": "San Francisco",
        "is_vpn_or_tor": false,
        "is_data_center": false,
        "asn_number": 64496,
        "asn_organization": "Example ISP",
        "proxy_type": null
      }
    }
  }
]
```

In der Anfrage übermittelte Felder bleiben erhalten. Die Anreicherung füllt nur die Schlüssel, die Sie weggelassen haben, und Schlüssel, die der Resolver leer zurückgibt, werden weggelassen. Das vollständige `device`-Format finden Sie im [Antwortschema](https://docs.didit.me/de/transaction-monitoring/response-schema.md#device).

**In der Konsole.** Die Detailseite der Transaktion zeigt die IP-Anreicherung im Tab **IP & Gerät** mit einer Standortmarkierung auf der Karte.

## Datenschutz

* Rohe IP-Adressen werden zusammen mit der Transaktion gespeichert.
* Anreicherungsdaten liegen in einer gemeinsamen, nach IP-Adresse indexierten Tabelle, nicht pro Benutzer.
* Die Löschung nach dem Recht auf Vergessenwerden entfernt IP-Adressen aus der Transaktion. Der gemeinsame Cache-Eintrag bleibt bestehen, da er nicht personenbezogen ist.

## Nächste Schritte

> [card] [Regeln](https://docs.didit.me/de/transaction-monitoring/rules.md)
>
> Angereicherte Felder in Bedingungen verwenden.

> [card] [Regelbibliothek](https://docs.didit.me/de/transaction-monitoring/rules-library.md)
>
> Vorgefertigte IP-basierte Regeln.

> [card] [Antwortschema](https://docs.didit.me/de/transaction-monitoring/response-schema.md)
>
> Wo die IP-Anreicherung erscheint.


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