TRACIO analysiert die IP-Adresse jedes Besuchers serverseitig. Es kennzeichnet VPNs, Proxys, Tor-Exit-Nodes und Datacenter-Herkünfte und löst die Geolokalisierung auf Stadtebene auf. Die gesamte Analyse läuft serverseitig, ohne clientseitige Abhängigkeiten.
IP Intelligence erreicht Ihre Anwendung über den Webhook-Payload: das
network-Objekt (VPN-/Proxy-/Tor-/Datacenter-Booleans plus Verbindungstyp) und das
geo-Objekt (Land, Stadt, Koordinaten, Zeitzone) werden mit jedem
Webhook geliefert. ISP und ASN kommen ab Business hinzu. Die vollständige Payload-Struktur und die Signaturprüfung finden Sie unter Webhooks.
Die Klassifizierung von VPN, Proxy, Tor und Datacenter wird anhand der verbindenden IP
aus kommerziellen IP-Intelligence-Datenbanken aufgelöst (IP2Location für den VPN-/Proxy-/Tor-Typ,
MaxMind für Geolokalisierung und ASN). Jede wird als einzelner Boolean im
network-Objekt des Webhooks ausgegeben – im öffentlichen Payload gibt es keine
Aufschlüsselung nach Methode und keinen Konfidenzwert.
| Flag | Feld | Bedeutung |
|---|---|---|
| VPN | network.vpn | IP gehört zu einem bekannten VPN-Anbieter |
| Proxy | network.proxy | IP ist ein Datacenter- oder Residential Proxy |
| Tor | network.tor | IP ist ein bekannter Tor-Exit-Node |
| Datacenter | network.datacenter | IP gehört zu einem Cloud-/Hosting-Anbieter |
{ "network": { "vpn": true, "proxy": true, "tor": false, "datacenter": false, "connectionType": "VPN" }}// `payload` is the webhook delivery body (/docs/webhooks)if (payload.network.vpn) { // visitor is connecting through a VPN}Datacenter- und Residential Proxys erscheinen beide als network.proxy; die Datacenter-Herkunft
wird zusätzlich als network.datacenter gemeldet. Die Klassifizierung stammt aus
der IP2Location-Proxy-Datenbank, die die großen Cloud-/Hosting-Anbieter abdeckt (AWS,
Google Cloud, Azure, Oracle Cloud, Alibaba Cloud, DigitalOcean, Hetzner, OVH,
Linode/Akamai, Vultr und weitere).
{ "network": { "vpn": false, "proxy": true, "tor": false, "datacenter": true, "connectionType": "DCH" }}Eine Übereinstimmung mit einem Tor-Exit-Node auf der verbindenden IP erscheint als network.tor. Getrennt davon
wird der Tor-Browser selbst clientseitig an seiner Anti-Fingerprinting-Konfiguration
erkannt – unabhängig vom Netzwerkpfad – siehe
Smart Signals.
Die Geolokalisierung auf Stadtebene wird serverseitig aus der verbindenden IP aufgelöst
(MaxMind) und im geo-Objekt des Webhooks geliefert.
| Feld | Typ | Beschreibung | Tarif |
|---|---|---|---|
geo.country | string | ISO 3166-1 alpha-2 Ländercode | Alle |
geo.city | string | Stadtname | Alle |
geo.lat | number | Ungefährer Breitengrad | Alle |
geo.lon | number | Ungefährer Längengrad | Alle |
geo.timezone | string | IANA-Zeitzonenbezeichner | Alle |
{ "geo": { "country": "CZ", "city": "Prague", "lat": 50.05, "lon": 14.4, "timezone": "Europe/Prague" }}In den Tarifen Business und Enterprise wird zusätzlich der Anbieter identifiziert. Im
Webhook-Payload liegen beide Felder im network-Objekt:
{ "network": { "vpn": false, "proxy": false, "tor": false, "datacenter": false, "isp": "Comcast Cable", "asn": 7922 }}Beim Lesen einer Session über die Server API ist die Aufteilung leicht
anders: isp liegt in geo und asn in network. Dieselben Daten, zwei Oberflächen – lesen
Sie das Feld dort, wo die von Ihnen genutzte Oberfläche es ablegt.
Ab Pro führt der Webhook einen velocity-Block mit – wie stark sich der Besucher zuletzt
bewegt hat:
| Feld | Typ | Beschreibung |
|---|---|---|
velocity.events5m | number | Events dieses Besuchers in den letzten 5 Minuten |
velocity.uniqueIps | number | Verschiedene IPs, die für diesen Besucher zu sehen waren |
velocity.uniqueLocations | number | Verschiedene Standorte, die für diesen Besucher zu sehen waren |
Der Block ist vorhanden, wenn die Besucherzähler zum Zeitpunkt des Events verfügbar sind
(in der Regel die primary-Phase). Ein fehlender Block bedeutet „keine Daten“, nicht Null –
werten Sie sein Fehlen nicht als „keine ungewöhnliche Aktivität“.
Der Abgleich mit IP-Blocklisten ist nicht Teil des öffentlichen Vertrags: Weder der
Webhook-Payload noch das Dashboard geben Blocklisten-Kategorien preis. Die Webhook-Oberfläche
für Netzwerkrisiken besteht aus den booleschen network-Flags, dem Verbindungstyp und den
oben genannten Velocity-Zählern – nutzen Sie diese zusammen mit den Feldern decision und
bot (siehe Smart Signals) für Risikoentscheidungen.
Dies liest das network-Objekt des Webhook-Payloads direkt. Den vollständigen Payload und die Signaturprüfung finden Sie unter
Webhooks.
// `payload` is the webhook delivery body (/docs/webhooks)function assessIPRisk(payload: WebhookPayload) { const { vpn, proxy, tor, datacenter } = payload.network
const risks: string[] = [] let riskLevel = "low"
if (tor) { risks.push("Tor exit node") riskLevel = "critical" }
if (vpn) { risks.push("VPN detected") riskLevel = riskLevel === "low" ? "medium" : riskLevel }
if (proxy) { risks.push("Proxy detected") riskLevel = riskLevel === "low" ? "medium" : riskLevel }
if (datacenter) { risks.push("Datacenter IP") riskLevel = riskLevel === "low" ? "medium" : riskLevel }
return { riskLevel, risks }}