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. 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) jsou doručovány s každým
webhookem. ISP a ASN přibývají od plánu Business výše. 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": 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}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": "DCH" }}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 rozpoznán na straně klienta podle jeho konfigurace proti
fingerprintingu, nezávisle na síťové cestě — viz
Smart Signals.
Geolokace na úrovni města se určuje na straně serveru z připojující se IP
(MaxMind) a je doručena v objektu geo webhooku.
| Pole | Typ | Popis | Plán |
|---|---|---|---|
geo.country | string | Kód země podle ISO 3166-1 alpha-2 | Všechny |
geo.city | string | Název města | Všechny |
geo.lat | number | Přibližná zeměpisná šířka | Všechny |
geo.lon | number | Přibližná zeměpisná délka | Všechny |
geo.timezone | string | Identifikátor časového pásma IANA | Všechny |
{ "geo": { "country": "CZ", "city": "Prague", "lat": 50.05, "lon": 14.4, "timezone": "Europe/Prague" }}V plánech Business a Enterprise je navíc identifikován operátor. Ve webhook payloadu leží
obě pole na objektu network:
{ "network": { "vpn": false, "proxy": false, "tor": false, "datacenter": false, "isp": "Comcast Cable", "asn": 7922 }}Při čtení relace přes Data API je rozdělení mírně jiné: isp leží na
geo a asn na network. Stejná data, dvě rozhraní — pole čtěte tam, kam je ukládá
rozhraní, které používáte.
Od plánu Pro výše nese webhook blok velocity — nakolik se návštěvník v poslední době
přesouval:
| Pole | Typ | Popis |
|---|---|---|
velocity.events5m | number | Události tohoto návštěvníka za posledních 5 minut |
velocity.uniqueIps | number | Různé IP zaznamenané u tohoto návštěvníka |
velocity.uniqueLocations | number | Různé lokality zaznamenané u tohoto návštěvníka |
Blok je přítomen, když jsou čítače návštěvníka v okamžiku události dostupné (obvykle fáze
primary). Chybějící blok znamená „žádná data“, nikoli nuly — nevykládejte si jeho
nepřítomnost jako „žádná neobvyklá aktivita“.
Porovnávání IP s blokovacími seznamy není součástí veřejného kontraktu: ani webhook
payload, ani dashboard nevystavuje kategorie blokovacích seznamů. Webhookové rozhraní pro
síťová rizika tvoří booleovské příznaky network, typ připojení a výše uvedené čítače
velocity; 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 }}