TRACIO menganalisis alamat IP setiap pengunjung di sisi server. Ia menandai VPN, proxy, node keluar Tor, dan asal datacenter, serta menyelesaikan geolokasi tingkat kota. Semua analisis berjalan di sisi server tanpa dependensi di sisi klien.
IP intelligence sampai ke aplikasi Anda melalui payload webhook: objek
network (boolean VPN/proxy/Tor/datacenter ditambah tipe koneksi) dan objek
geo (negara, kota, koordinat, zona waktu) dikirimkan pada setiap
webhook. ISP dan ASN ditambahkan pada paket Business ke atas. Lihat
Webhooks untuk bentuk payload lengkap dan verifikasi tanda tangan.
Klasifikasi VPN, proxy, Tor, dan datacenter diselesaikan dari IP yang terhubung
menggunakan basis data IP intelligence komersial (IP2Location untuk tipe VPN/proxy/Tor,
MaxMind untuk geolokasi dan ASN). Masing-masing ditampilkan sebagai satu boolean pada
objek network webhook — tidak ada perincian per-metode atau skor keyakinan dalam
payload publik.
| Flag | Field | Arti |
|---|---|---|
| VPN | network.vpn | IP milik penyedia VPN yang dikenal |
| Proxy | network.proxy | IP adalah proxy datacenter atau residensial |
| Tor | network.tor | IP adalah node keluar Tor yang dikenal |
| Datacenter | network.datacenter | IP milik penyedia 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 datacenter dan residensial keduanya ditampilkan sebagai network.proxy; asal
datacenter juga dilaporkan sebagai network.datacenter. Klasifikasi berasal dari
basis data proxy IP2Location, yang mencakup penyedia cloud/hosting utama (AWS,
Google Cloud, Azure, Oracle Cloud, Alibaba Cloud, DigitalOcean, Hetzner, OVH,
Linode/Akamai, Vultr, dan lainnya).
{ "network": { "vpn": false, "proxy": true, "tor": false, "datacenter": true, "connectionType": "DCH" }}Kecocokan node keluar Tor pada IP yang terhubung ditampilkan sebagai network.tor. Secara terpisah,
Tor Browser itu sendiri dikenali di sisi klien dari konfigurasi anti-fingerprinting-nya,
terlepas dari jalur jaringannya — lihat
Smart Signals.
Geolokasi tingkat kota diselesaikan di sisi server dari IP yang terhubung
(MaxMind) dan dikirimkan pada objek geo webhook.
| Field | Tipe | Deskripsi | Paket |
|---|---|---|---|
geo.country | string | Kode negara ISO 3166-1 alpha-2 | Semua |
geo.city | string | Nama kota | Semua |
geo.lat | number | Perkiraan lintang | Semua |
geo.lon | number | Perkiraan bujur | Semua |
geo.timezone | string | Pengidentifikasi zona waktu IANA | Semua |
{ "geo": { "country": "CZ", "city": "Prague", "lat": 50.05, "lon": 14.4, "timezone": "Europe/Prague" }}Pada paket Business dan Enterprise, operator juga diidentifikasi. Pada payload webhook,
kedua field berada pada objek network:
{ "network": { "vpn": false, "proxy": false, "tor": false, "datacenter": false, "isp": "Comcast Cable", "asn": 7922 }}Saat membaca sesi melalui Data API, pembagiannya sedikit berbeda: isp
berada pada geo dan asn pada network. Data yang sama pada dua permukaan — baca field
dari tempat permukaan yang Anda gunakan meletakkannya.
Pada Pro ke atas, webhook membawa blok velocity — seberapa banyak pengunjung berpindah
belakangan ini:
| Field | Tipe | Deskripsi |
|---|---|---|
velocity.events5m | number | Event dari pengunjung ini dalam 5 menit terakhir |
velocity.uniqueIps | number | IP berbeda yang terlihat untuk pengunjung ini |
velocity.uniqueLocations | number | Lokasi berbeda yang terlihat untuk pengunjung ini |
Blok ini ada ketika penghitung pengunjung tersedia pada saat event (biasanya fase
primary). Blok yang tidak ada berarti “tidak ada data”, bukan nol — jangan
memperlakukan ketiadaannya sebagai “tidak ada aktivitas yang tidak biasa”.
Pencocokan blocklist IP bukan bagian dari kontrak publik: baik payload webhook maupun
dashboard tidak mengekspos kategori blocklist. Permukaan webhook untuk risiko jaringan
adalah flag boolean network, tipe koneksi, dan penghitung velocity di atas — gunakan
semuanya bersama dengan field decision dan bot (lihat
Smart Signals) untuk keputusan risiko.
Ini membaca objek network dari payload webhook secara langsung. Lihat
Webhooks untuk payload lengkap dan verifikasi tanda tangan.
// `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 }}