TRACIO analyzuje IP adresu každého návštěvníka na straně serveru. Označuje sítě VPN, proxy, výstupní uzly sítě Tor a původ z datových center a určuje geolokaci na úrovni města i ASN. Veškerá analýza probíhá na straně serveru bez jakýchkoli závislostí na straně klienta.
IP intelligence se do vaší aplikace dostává prostřednictvím webhook payloadu: objekt
network (booleovské hodnoty VPN/proxy/Tor/datacenter plus typ připojení) a objekt
geo (země, město, souřadnice, časové pásmo, ISP) jsou doručovány s každým
webhookem. Kompletní strukturu payloadu a ověření podpisu najdete v Webhookech.
Klasifikace VPN, proxy, Toru a datového centra se určuje z připojující se IP
pomocí komerčních databází IP intelligence (IP2Location pro typ VPN/proxy/Tor,
MaxMind pro geolokaci a ASN). Každá je vystavena jako jediná booleovská hodnota v objektu
network webhooku — ve veřejném payloadu není žádné členění podle metody ani skóre
spolehlivosti.
| Příznak | Pole | Význam |
|---|---|---|
| VPN | network.vpn | IP patří známému poskytovateli VPN |
| Proxy | network.proxy | IP je datacentrová nebo rezidenční proxy |
| Tor | network.tor | IP je známý výstupní uzel sítě Tor |
| Datacenter | network.datacenter | IP patří cloudovému/hostingovému poskytovateli |
{ "network": { "vpn": true, "proxy": false, "tor": false, "datacenter": false, "connectionType": "residential" }}// `payload` is the webhook delivery body (/docs/webhooks)if (payload.network.vpn) { // visitor is connecting through a VPN}Datacentrové i rezidenční proxy se obě vystavují jako network.proxy; původ z datového
centra je navíc hlášen jako network.datacenter. Klasifikace pochází
z databáze proxy IP2Location, která pokrývá hlavní cloudové/hostingové poskytovatele (AWS,
Google Cloud, Azure, Oracle Cloud, Alibaba Cloud, DigitalOcean, Hetzner, OVH,
Linode/Akamai, Vultr a další).
{ "network": { "vpn": false, "proxy": true, "tor": false, "datacenter": true, "connectionType": "datacenter" }}Shoda výstupního uzlu sítě Tor s připojující se IP se vystavuje jako network.tor. Odděleně
je samotný prohlížeč Tor detekován na straně klienta prostřednictvím jeho konfigurace proti
fingerprintingu (odolnost canvas/WebGL, časové pásmo UTC, zaokrouhlená velikost obrazovky) — viz
Smart Signals.
Geolokace na úrovni města a ASN se určují na straně serveru z připojující se IP
(MaxMind) a jsou doručeny v objektu geo webhooku.
| Pole | Typ | Popis |
|---|---|---|
geo.country | string | Kód země podle ISO 3166-1 alpha-2 |
geo.city | string | Název města |
geo.lat | number | Přibližná zeměpisná šířka |
geo.lon | number | Přibližná zeměpisná délka |
geo.timezone | string | Identifikátor časového pásma IANA |
geo.isp | string | Název poskytovatele internetu |
{ "geo": { "country": "CZ", "city": "Prague", "lat": 50.05, "lon": 14.4, "timezone": "Europe/Prague", "isp": "Comcast Cable" }}Porovnávání IP s blokovacími seznamy a sledování velocity (aktivita napříč IP / napříč zeměmi)
nejsou součástí aktuálního veřejného kontraktu. Ani webhook payload, ani
dashboard nevystavuje kategorie blokovacích seznamů ani intervaly velocity. Webhookové
rozhraní pro síťová rizika je omezeno na booleovské příznaky network a
typ připojení; použijte je společně s poli decision a bot (viz
Smart Signals) pro rozhodování o riziku.
Toto čte objekt network webhook payloadu přímo. Kompletní payload a ověření podpisu najdete v
Webhookech.
// `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 }}