Smart Signals adalah sinyal pengayaan sisi server yang dihitung dari fingerprint browser, IP intelligence, dan analisis perilaku. Sinyal-sinyal ini memberikan konteks mendalam tentang setiap pengunjung tanpa mengumpulkan data yang dapat mengidentifikasi individu secara pribadi.
Smart Signals — sinyal keputusan, risiko, jaringan, dan bot yang telah diperkaya — mencapai server Anda lewat dua jalur: dikirimkan kepada Anda sebagai webhook (lihat Webhooks) dan dapat dibaca sesuai kebutuhan melalui Data API. Selain itu sinyal-sinyal ini juga ditampilkan di dashboard. Contoh-contoh di bawah ini mengonsumsi bentuk payload webhook; field yang sama muncul saat membaca session dari API.
Satu kunjungan terurai menjadi 35+ smart signal yang mencakup jaringan, browser, perangkat, dan analisis perilaku. Referensi di bawah ini menyebutkan sinyal yang paling sering Anda gunakan, di antaranya:
| Signal | Deskripsi | Response | Platform |
|---|---|---|---|
| VPN Detection | Menandai penggunaan VPN dari IP intelligence | network.vpn: boolean | Web |
| Proxy Detection | Mengidentifikasi penggunaan proxy datacenter dan residensial | network.proxy: boolean | Web |
| Tor Detection | Mencocokkan IP dengan exit node Tor yang diketahui | network.tor: boolean | Web |
| Datacenter | Menandai IP milik penyedia cloud/hosting yang diketahui | network.datacenter: boolean | Web |
| IP Geolocation | Geolokasi tingkat kota + ISP dan ASN dari alamat IP | geo.{ country, city, timezone }, network.{ isp, asn } | Web |
| Signal | Deskripsi | Response | Ketersediaan |
|---|---|---|---|
| Browser Tampering | Mendeteksi User-Agent palsu, navigator yang dimodifikasi, injeksi extension | { result: boolean, anomalyScore: number } | Web |
| Antidetect Browsers | Menilai build browser pemalsu fingerprint melalui probe CSS dan property | bot.antidetectScore: number (0–100, Pro+) | Web |
| Privacy Settings | Mendeteksi konfigurasi browser berfokus privasi (Tor Browser, Brave, Firefox ETP, Safari ITP) | { result: boolean } | Web |
| Developer Tools | Mendeteksi saat DevTools browser terbuka | { result: boolean } | Web — Business & Enterprise |
| Incognito | Menyimpulkan private browsing di Chromium, Firefox, dan Safari | identification.incognito: boolean | Web |
| Signal | Deskripsi | Ketersediaan |
|---|---|---|
| Emulator | Mendeteksi emulator Android (BlueStacks, Genymotion, Nox, Android SDK) melalui GPU renderer dan penanda UA | Web — semua paket |
Deteksi khusus native. Deteksi root, jailbreak, aplikasi kloning/ganda, dan instrumentasi Frida bergantung pada sinyal yang hanya dapat dikumpulkan oleh SDK mobile native. TRACIO menyediakan SDK browser, sehingga deteksi tersebut tidak efektif pada agen web — andalkan verdict otomasi, headless, antidetect, emulator, dan perilaku sebagai gantinya.
| Signal | Deskripsi | Response | Platform |
|---|---|---|---|
| Bot Detection | Mengidentifikasi framework otomasi dan browser headless | bot.result: "human"|"bot"|"uncertain", bot.type: string, bot.score: number | Web |
| Risk Score | Risiko teragregasi untuk permintaan, pada objek webhook decision | decision.riskScore: number, decision.suspectScore: number, decision.action: "real"|"fake"|"suspicious" | Web |
Flag VPN, proxy, Tor, dan datacenter diselesaikan di sisi server dari IP
pengunjung menggunakan basis data IP intelligence komersial (IP2Location /
MaxMind). Payload webhook publik menampilkan hasil gabungan sebagai boolean
pada objek network — network.vpn, network.proxy, network.tor,
network.datacenter — tanpa rincian per-metode atau string kepercayaan. Lihat
IP Intelligence untuk detailnya.
Private browsing disimpulkan di Chromium, Firefox, dan Safari, lalu sampai kepada Anda
sebagai identification.incognito. Tidak ada API browser yang melaporkannya, sehingga
verdict lahir dari pemungutan suara berbobot atas perilaku penyimpanan di jendela
privat — galat origin private file system, ketahanan penyimpanan, dan keunikan
masing-masing platform semuanya ikut berkontribusi.
Ini sinyal probabilistik, bukan kepastian: perlakukan sebagai salah satu masukan di
antara beberapa masukan lain, bukan sebagai fakta yang bisa ditindaklanjuti sendirian.
Karena jendela privat juga menekan cookie _vid_t, kunjungan incognito hanya
diidentifikasi dari sinyal, dan identification.confidence-nya pun lebih rendah.
Detektor tampering mengidentifikasi pengunjung yang telah memodifikasi browser mereka untuk menyalahartikan identitasnya:
navigator dengan membandingkan prototype getterPluginArray.prototype dan MimeType.prototypeFunction.prototype.toString, Object.getOwnPropertyDescriptor, dan fungsi kritis lainnya telah diganti dengan ProxyanomalyScore (0.0-1.0) mengukur derajat inkonsistensi. Nilai di atas 0.5 menunjukkan tampering yang signifikan.
Objek webhook decision membawa risiko teragregasi untuk sebuah permintaan:
decision.riskScore (bilangan bulat 0-100), decision.suspectScore (angka), dan
decision.action (tindakan yang direkomendasikan). Skor mengagregasi keluaran smart
signal; rentang di bawah ini menjelaskan bagaimana riskScore dipetakan ke tingkat
risiko:
| Rentang Skor | Tingkat Risiko | Indikator Umum |
|---|---|---|
| 0-10 | Normal | Sinyal bersih, pengunjung dikenal, IP residensial |
| 11-30 | Rendah | Inkonsistensi kecil, IP datacenter, atau kunjungan pertama |
| 31-60 | Sedang | VPN terdeteksi, browser tampering, atau velocity tidak biasa |
| 61-80 | Tinggi | Beberapa sinyal risiko, proxy + tampering, aktivitas tinggi |
| 81-100 | Kritis | Bot terdeteksi, exit node Tor, atau anomali parah |
Skor mengagregasi keluaran smart-signal yang aktif — terutama IP intelligence (VPN/proxy/Tor/datacenter), verdict bot, dan browser tampering. Interaksi manusia yang terkonfirmasi (mouse/keyboard) menurunkan skor.
Empat konfigurasi browser berfokus privasi terdeteksi:
| Browser | Metode Deteksi | Ambang |
|---|---|---|
| Tor Browser | Canvas diblokir + WebGL diblokir + zona waktu UTC + font terbatas + ukuran layar dibulatkan | 3+ penanda |
| Brave | UA Brave atau navigator.brave atau merek "Brave" di Client Hints | 1+ penanda |
| Firefox ETP (strict) | Storage terpartisi atau canvas ditolak (UA Firefox diperlukan) | 1+ penanda |
| Safari ITP | Cookie diblokir atau IndexedDB dibatasi (UA Safari diperlukan) | 1+ penanda |
Smart Signals mencapai server Anda melalui payload webhook (lihat Webhooks untuk bentuk lengkap dan verifikasi tanda tangan) dan saat membaca session dari Data API. Contoh di bawah ini membaca field langsung dari payload webhook; nama field-nya sama pada kedua jalur.
// `payload` is the webhook delivery body (/docs/webhooks)const score = payload.decision.riskScoreconst isVPN = payload.network.vpnconst isBot = payload.bot.result === "bot"
if (isBot) { return block("Automated access")}
if (score > 60) { return requireMFA()}
if (isVPN && score > 30) { return requireCaptcha()}
return allow()// `payload` is the webhook delivery body (/docs/webhooks)function computeFraudRisk(payload: WebhookPayload): string { let risk = "low"
if (payload.decision.riskScore > 60) risk = "high" else if (payload.decision.riskScore > 30) risk = "medium"
// Escalate when multiple network signals agree if (payload.network.vpn && payload.network.proxy) risk = "high" if (payload.network.tor) risk = "high" if (payload.bot.result === "bot") risk = "high"
return risk}