TRACIO analizează adresa IP a fiecărui vizitator pe partea de server. Marchează VPN-uri, proxy-uri, noduri de ieșire Tor și origini de tip datacenter și rezolvă geolocalizarea la nivel de oraș. Întreaga analiză rulează pe partea de server, fără dependențe pe partea de client.
IP intelligence ajunge în aplicația dvs. prin payload-ul webhook: obiectul
network (valorile booleene VPN/proxy/Tor/datacenter plus tipul de conexiune) și
obiectul geo (țară, oraș, coordonate, fus orar) sunt livrate cu fiecare
webhook. ISP-ul și ASN-ul se adaugă începând cu Business. Consultați
Webhooks pentru structura completă a payload-ului și verificarea semnăturii.
Clasificarea VPN, proxy, Tor și datacenter este rezolvată pe baza IP-ului de conectare
folosind baze de date comerciale de IP intelligence (IP2Location pentru tipul VPN/proxy/Tor,
MaxMind pentru geolocalizare și ASN). Fiecare este expusă ca o singură valoare booleană în
obiectul network al webhook-ului — nu există o defalcare pe metode sau un scor de încredere în
payload-ul public.
| Flag | Câmp | Semnificație |
|---|---|---|
| VPN | network.vpn | IP-ul aparține unui furnizor VPN cunoscut |
| Proxy | network.proxy | IP-ul este un proxy datacenter sau residential |
| Tor | network.tor | IP-ul este un nod de ieșire Tor cunoscut |
| Datacenter | network.datacenter | IP-ul aparține unui furnizor cloud/hosting |
{ "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}Proxy-urile de tip datacenter și residential apar ambele ca network.proxy; originea de tip datacenter
este raportată suplimentar ca network.datacenter. Clasificarea provine din
baza de date de proxy IP2Location, care acoperă principalii furnizori cloud/hosting (AWS,
Google Cloud, Azure, Oracle Cloud, Alibaba Cloud, DigitalOcean, Hetzner, OVH,
Linode/Akamai, Vultr și alții).
{ "network": { "vpn": false, "proxy": true, "tor": false, "datacenter": true, "connectionType": "DCH" }}O potrivire cu un nod de ieșire Tor pe IP-ul de conectare apare ca network.tor. Separat,
browserul Tor în sine este recunoscut pe partea de client după configurația sa anti-fingerprinting,
independent de traseul de rețea — consultați
Smart Signals.
Geolocalizarea la nivel de oraș este rezolvată pe partea de server din IP-ul de conectare
(MaxMind) și livrată în obiectul geo al webhook-ului.
| Câmp | Tip | Descriere | Plan |
|---|---|---|---|
geo.country | string | Cod de țară ISO 3166-1 alpha-2 | Toate |
geo.city | string | Numele orașului | Toate |
geo.lat | number | Latitudine aproximativă | Toate |
geo.lon | number | Longitudine aproximativă | Toate |
geo.timezone | string | Identificator de fus orar IANA | Toate |
{ "geo": { "country": "CZ", "city": "Prague", "lat": 50.05, "lon": 14.4, "timezone": "Europe/Prague" }}Pe planurile Business și Enterprise este identificat și operatorul. În payload-ul
webhook, ambele câmpuri se află pe obiectul network:
{ "network": { "vpn": false, "proxy": false, "tor": false, "datacenter": false, "isp": "Comcast Cable", "asn": 7922 }}La citirea unei sesiuni prin Data API împărțirea este ușor
diferită: isp se află pe geo, iar asn pe network. Aceleași date, două suprafețe
— citiți câmpul de acolo de unde îl pune suprafața pe care o folosiți.
Începând cu Pro, webhook-ul transportă un bloc velocity — cât de mult s-a deplasat
vizitatorul în ultima vreme:
| Câmp | Tip | Descriere |
|---|---|---|
velocity.events5m | number | Evenimente de la acest vizitator în ultimele 5 minute |
velocity.uniqueIps | number | IP-uri distincte observate pentru acest vizitator |
velocity.uniqueLocations | number | Locații distincte observate pentru acest vizitator |
Blocul este prezent atunci când contoarele vizitatorului sunt disponibile în momentul
evenimentului (de regulă faza primary). Lipsa blocului înseamnă „fără date”, nu zerouri —
nu tratați absența lui ca pe „nicio activitate neobișnuită”.
Potrivirea cu liste de blocare IP nu face parte din contractul public: nici payload-ul
webhook, nici dashboard-ul nu expun categorii de liste de blocare. Suprafața webhook pentru
riscul de rețea este alcătuită din flag-urile booleene network, tipul de conexiune și
contoarele velocity de mai sus; folosiți-le împreună cu câmpurile decision și bot
(consultați Smart Signals) pentru deciziile de risc.
Aceasta citește direct obiectul network din payload-ul webhook. Consultați
Webhooks pentru payload-ul complet și verificarea semnăturii.
// `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 }}