Smart Signals sunt semnale de îmbogățire server-side calculate din amprentele browserului, informațiile despre IP și analiza comportamentală. Ele oferă un context detaliat despre fiecare vizitator fără a colecta date cu caracter personal.
Smart Signals — semnalele îmbogățite de decizie, risc, rețea și bot — ajung la serverul tău pe două căi: îți sunt trimise ca webhook-uri (vezi Webhooks) și pot fi citite la cerere prin Data API. Sunt afișate și în dashboard. Exemplele de mai jos consumă forma payload-ului de webhook; aceleași câmpuri apar la citirea unei sesiuni din API.
O vizită se transformă în 35+ smart signals despre rețea, browser, dispozitiv și comportament. Referința de mai jos le numește pe cele la care vei apela cel mai des, printre care:
| Signal | Descriere | Response | Platformă |
|---|---|---|---|
| VPN Detection | Marchează utilizarea VPN pe baza informațiilor despre IP | network.vpn: boolean | Web |
| Proxy Detection | Identifică utilizarea proxy-urilor datacenter și residential | network.proxy: boolean | Web |
| Tor Detection | Compară IP-ul cu nodurile de ieșire Tor cunoscute | network.tor: boolean | Web |
| Datacenter | Marchează IP-urile aparținând unor furnizori cloud/hosting cunoscuți | network.datacenter: boolean | Web |
| IP Geolocation | Geolocalizare la nivel de oraș + ISP și ASN din adresa IP | geo.{ country, city, timezone }, network.{ isp, asn } | Web |
| Signal | Descriere | Response | Disponibilitate |
|---|---|---|---|
| Browser Tampering | Detectează User-Agent falsificat, navigator modificat, injecție de extensii | { result: boolean, anomalyScore: number } | Web |
| Antidetect Browsers | Punctează build-urile de browser care falsifică amprenta prin sonde CSS și de proprietăți | bot.antidetectScore: number (0–100, Pro+) | Web |
| Privacy Settings | Detectează configurări de browser axate pe confidențialitate (Tor Browser, Brave, Firefox ETP, Safari ITP) | { result: boolean } | Web |
| Developer Tools | Detectează când DevTools-ul browserului este deschis | { result: boolean } | Web — Business & Enterprise |
| Incognito | Deduce navigarea privată în Chromium, Firefox și Safari | identification.incognito: boolean | Web |
| Signal | Descriere | Disponibilitate |
|---|---|---|
| Emulator | Detectează emulatoare Android (BlueStacks, Genymotion, Nox, Android SDK) prin renderer GPU și markeri UA | Web — toate planurile |
Detectări doar native. Detectarea root, jailbreak, cloned/dual-app și a instrumentării Frida depinde de semnale pe care doar un SDK mobil nativ le poate colecta. TRACIO livrează SDK-uri de browser, așa că acestea nu sunt eficiente în agentul web — bazează-te în schimb pe verdictele de automatizare, headless, antidetect, emulator și comportament.
| Signal | Descriere | Response | Platformă |
|---|---|---|---|
| Bot Detection | Identifică framework-uri de automatizare și browsere headless | bot.result: "human"|"bot"|"uncertain", bot.type: string, bot.score: number | Web |
| Risk Score | Risc agregat pentru cerere, pe obiectul decision al webhook-ului | decision.riskScore: number, decision.suspectScore: number, decision.action: "real"|"fake"|"suspicious" | Web |
Flag-urile pentru VPN, proxy, Tor și datacenter sunt rezolvate server-side din
IP-ul vizitatorului folosind baze de date comerciale de informații despre IP
(IP2Location / MaxMind). Payload-ul public de webhook expune rezultatele combinate
ca valori boolean pe obiectul network — network.vpn, network.proxy, network.tor,
network.datacenter — fără defalcare pe metode sau string de încredere. Vezi
IP Intelligence pentru detalii.
Navigarea privată este dedusă în Chromium, Firefox și Safari și ajunge la tine ca
identification.incognito. Nu există un API de browser care să o raporteze, așa că
verdictul rezultă dintr-un vot ponderat asupra modului în care se comportă stocarea
într-o fereastră privată — erorile origin private file system, durabilitatea stocării
și particularitățile fiecărei platforme contribuie fiecare.
Este un semnal probabilistic, nu o certitudine: tratează-l ca pe una dintre mai multe
intrări, nu ca pe un fapt pe baza căruia să acționezi de unul singur. Deoarece
ferestrele private suprimă și cookie-ul _vid_t, o vizită în incognito este
identificată doar din semnale, iar identification.confidence este pe măsură mai
mică.
Detectorul de tampering identifică vizitatorii care și-au modificat browserul pentru a-și denatura identitatea:
navigator comparând prototipurile getterelorPluginArray.prototype și MimeType.prototypeFunction.prototype.toString, Object.getOwnPropertyDescriptor și alte funcții critice au fost înlocuite cu Proxy-urianomalyScore (0.0-1.0) cuantifică gradul de inconsistență. Valorile peste 0.5 indică o manipulare semnificativă.
Obiectul decision al webhook-ului poartă riscul agregat pentru o cerere:
decision.riskScore (întreg 0-100), decision.suspectScore (număr) și
decision.action (acțiunea recomandată). Scorul agregă ieșirile smart
signal-urilor; benzile de mai jos descriu modul în care riskScore se mapează la niveluri de risc:
| Interval scor | Nivel de risc | Indicatori tipici |
|---|---|---|
| 0-10 | Normal | Semnale curate, vizitator cunoscut, IP residential |
| 11-30 | Scăzut | Inconsistențe minore, IP datacenter sau prima vizită |
| 31-60 | Mediu | VPN detectat, tampering de browser sau viteză neobișnuită |
| 61-80 | Ridicat | Semnale multiple de risc, proxy + tampering, activitate ridicată |
| 81-100 | Critic | Bot detectat, nod de ieșire Tor sau anomalii severe |
Scorul agregă ieșirile active ale smart signal-urilor — în principal informațiile despre IP (VPN/proxy/Tor/datacenter), verdictul bot și tamperingul de browser. Interacțiunea umană confirmată (mouse/tastatură) scade scorul.
Sunt detectate patru configurări de browser axate pe confidențialitate:
| Browser | Metodă de detectare | Prag |
|---|---|---|
| Tor Browser | Canvas blocat + WebGL blocat + fus orar UTC + fonturi limitate + dimensiune ecran rotunjită | 3+ markeri |
| Brave | UA Brave sau navigator.brave sau marca „Brave” din Client Hints | 1+ marker |
| Firefox ETP (strict) | Storage partiționat sau canvas rezistat (UA Firefox necesar) | 1+ marker |
| Safari ITP | Cookie-uri blocate sau IndexedDB restricționat (UA Safari necesar) | 1+ marker |
Smart Signals ajung la serverul tău prin payload-ul de webhook (vezi Webhooks pentru forma completă și verificarea semnăturii) și la citirea unei sesiuni din Data API. Exemplele de mai jos citesc câmpurile direct din payload-ul de webhook; numele câmpurilor sunt aceleași în ambele cazuri.
// `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}