TRACIO analyserar varje besökares IP-adress på serversidan. Det flaggar VPN:er, proxyservrar, Tor-exitnoder och datacenterursprung, och löser upp geolokalisering på stadsnivå samt ASN. All analys körs på serversidan utan beroenden på klientsidan.
IP Intelligence når din applikation via webhook-payloaden: network-objektet
(booleska värden för VPN/proxy/Tor/datacenter samt anslutningstyp) och
geo-objektet (land, stad, koordinater, tidszon, ISP) levereras med varje
webhook. Se Webhooks för den fullständiga payload-strukturen och
signaturverifiering.
Klassificering av VPN, proxy, Tor och datacenter löses upp från den anslutande IP:n
med hjälp av kommersiella IP Intelligence-databaser (IP2Location för VPN/proxy/Tor-typ,
MaxMind för geolokalisering och ASN). Var och en visas som ett enskilt booleskt värde i
webhookens network-objekt – det finns ingen uppdelning per metod eller något konfidensvärde i
den publika payloaden.
| Flagga | Fält | Betydelse |
|---|---|---|
| VPN | network.vpn | IP:n tillhör en känd VPN-leverantör |
| Proxy | network.proxy | IP:n är en datacenter- eller residentiell proxy |
| Tor | network.tor | IP:n är en känd Tor-exitnod |
| Datacenter | network.datacenter | IP:n tillhör en moln-/hostingleverantör |
{ "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}Både datacenter- och residentiella proxyservrar visas som network.proxy; datacenterursprung
rapporteras dessutom som network.datacenter. Klassificeringen kommer från
IP2Location-proxydatabasen, som täcker de stora moln-/hostingleverantörerna (AWS,
Google Cloud, Azure, Oracle Cloud, Alibaba Cloud, DigitalOcean, Hetzner, OVH,
Linode/Akamai, Vultr med flera).
{ "network": { "vpn": false, "proxy": true, "tor": false, "datacenter": true, "connectionType": "datacenter" }}En matchning mot en Tor-exitnod på den anslutande IP:n visas som network.tor. Separat
upptäcks själva Tor-webbläsaren på klientsidan via dess anti-fingerprinting-konfiguration
(canvas-/WebGL-motstånd, UTC-tidszon, avrundad skärmstorlek) – se
Smart Signals.
Geolokalisering på stadsnivå och ASN löses upp på serversidan från den anslutande IP:n
(MaxMind) och levereras i webhookens geo-objekt.
| Fält | Typ | Beskrivning |
|---|---|---|
geo.country | string | ISO 3166-1 alpha-2 landskod |
geo.city | string | Stadsnamn |
geo.lat | number | Ungefärlig latitud |
geo.lon | number | Ungefärlig longitud |
geo.timezone | string | IANA-tidszonsidentifierare |
geo.isp | string | Namn på internetleverantör |
{ "geo": { "country": "CZ", "city": "Prague", "lat": 50.05, "lon": 14.4, "timezone": "Europe/Prague", "isp": "Comcast Cable" }}Matchning mot IP-blockeringslistor och velocity-spårning (aktivitet över flera IP:n / över flera länder)
ingår inte i det nuvarande publika kontraktet. Varken webhook-payloaden eller
dashboarden exponerar blockeringslistkategorier eller velocity-intervall. Webhook-ytan
för nätverksrisk är begränsad till de booleska network-flaggorna och
anslutningstypen; använd dessa tillsammans med fälten decision och bot (se
Smart Signals) för riskbeslut.
Detta läser webhook-payloadens network-objekt direkt. Se
Webhooks för den fullständiga payloaden och signaturverifiering.
// `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 }}