Smart Signals jsou serverové obohacovací signály vypočítané z otisků prohlížeče, IP intelligence a analýzy chování. Poskytují hluboký kontext o každém návštěvníkovi, aniž by shromažďovaly jakékoli osobně identifikovatelné údaje.
Smart Signals — obohacené signály rozhodnutí, rizika, sítě a botů — se na váš server dostanou dvěma cestami: jsou vám odesílány jako webhooky (viz Webhooks) a lze je na vyžádání číst přes Data API. Zároveň se zobrazují v dashboardu. Následující příklady zpracovávají tvar payloadu webhooku; stejná pole najdete i při čtení session z API.
Jedna návštěva se rozpadne na 35+ smart signálů napříč sítí, prohlížečem, zařízením a analýzou chování. Následující přehled jmenuje ty, po kterých sáhnete nejčastěji, mimo jiné:
| Signal | Popis | Response | Platforma |
|---|---|---|---|
| VPN Detection | Označuje používání VPN na základě IP intelligence | network.vpn: boolean | Web |
| Proxy Detection | Identifikuje používání datacenter a residential proxy | network.proxy: boolean | Web |
| Tor Detection | Porovnává IP se známými výstupními uzly Tor | network.tor: boolean | Web |
| Datacenter | Označuje IP patřící známým cloud/hostingovým poskytovatelům | network.datacenter: boolean | Web |
| IP Geolocation | Geolokalizace na úrovni města + ISP a ASN z IP adresy | geo.{ country, city, timezone }, network.{ isp, asn } | Web |
| Signal | Popis | Response | Dostupnost |
|---|---|---|---|
| Browser Tampering | Detekuje podvržený User-Agent, upravený navigator, injektáž rozšíření | { result: boolean, anomalyScore: number } | Web |
| Antidetect Browsers | Skóruje sestavení prohlížečů podvrhující fingerprint pomocí CSS a property sond | bot.antidetectScore: number (0–100, Pro+) | Web |
| Privacy Settings | Detekuje konfigurace prohlížeče zaměřené na soukromí (Tor Browser, Brave, Firefox ETP, Safari ITP) | { result: boolean } | Web |
| Developer Tools | Detekuje, kdy jsou otevřené vývojářské nástroje (DevTools) prohlížeče | { result: boolean } | Web — Business & Enterprise |
| Incognito | Odvozuje anonymní prohlížení v Chromiu, Firefoxu a Safari | identification.incognito: boolean | Web |
| Signal | Popis | Dostupnost |
|---|---|---|
| Emulator | Detekuje Android emulátory (BlueStacks, Genymotion, Nox, Android SDK) pomocí GPU rendereru a UA markerů | Web — všechny tarify |
Detekce pouze pro nativní SDK. Detekce rootu, jailbreaku, klonovaných/duálních aplikací a instrumentace Frida závisí na signálech, které dokáže shromáždit pouze nativní mobilní SDK. TRACIO dodává prohlížečové SDK, takže tyto detekce ve webovém agentu nejsou účinné — spolehněte se místo nich na verdikty automatizace, headless, antidetectu, emulátoru a chování.
| Signal | Popis | Response | Platforma |
|---|---|---|---|
| Bot Detection | Identifikuje automatizační frameworky a headless prohlížeče | bot.result: "human"|"bot"|"uncertain", bot.type: string, bot.score: number | Web |
| Risk Score | Agregované riziko požadavku, v objektu decision webhooku | decision.riskScore: number, decision.suspectScore: number, decision.action: "real"|"fake"|"suspicious" | Web |
Příznaky VPN, proxy, Tor a datacenter se řeší na straně serveru z IP adresy
návštěvníka pomocí komerčních databází IP intelligence (IP2Location /
MaxMind). Veřejný payload webhooku zpřístupňuje kombinované výsledky jako booleany
na objektu network — network.vpn, network.proxy, network.tor,
network.datacenter — bez rozpisu podle metody nebo řetězce s mírou spolehlivosti. Viz
IP Intelligence pro podrobnosti.
Anonymní prohlížení se odvozuje v Chromiu, Firefoxu a Safari a dorazí k vám jako
identification.incognito. Neexistuje žádné prohlížečové API, které by je hlásilo,
takže verdikt vzniká váženým hlasováním nad tím, jak se v anonymním okně chová
úložiště — svým dílem přispívají chyby origin private file system, odolnost úložiště
i specifika jednotlivých platforem.
Jde o pravděpodobnostní signál, nikoli o jistotu: berte jej jako jeden ze vstupů, ne
jako fakt, podle kterého lze jednat samostatně. Protože anonymní okna zároveň
potlačují cookie _vid_t, je anonymní návštěva identifikována pouze ze signálů a
její identification.confidence je odpovídajícím způsobem nižší.
Detektor manipulace identifikuje návštěvníky, kteří upravili svůj prohlížeč, aby zkreslili svou identitu:
navigator, porovnáním prototypů getterůPluginArray.prototype a MimeType.prototypeFunction.prototype.toString, Object.getOwnPropertyDescriptor a další kritické funkce nahrazeny Proxy objektyHodnota anomalyScore (0.0–1.0) kvantifikuje míru nekonzistence. Hodnoty nad 0.5 značí významnou manipulaci.
Objekt decision webhooku nese agregované riziko požadavku:
decision.riskScore (celé číslo 0–100), decision.suspectScore (číslo) a
decision.action (doporučená akce). Skóre agreguje výstupy smart signálů;
následující pásma popisují, jak se riskScore mapuje na úrovně rizika:
| Rozsah skóre | Úroveň rizika | Typické indikátory |
|---|---|---|
| 0-10 | Normální | Čisté signály, známý návštěvník, residential IP |
| 11-30 | Nízká | Drobné nekonzistence, datacenter IP nebo první návštěva |
| 31-60 | Střední | Detekována VPN, manipulace s prohlížečem nebo neobvyklá velocity |
| 61-80 | Vysoká | Více rizikových signálů, proxy + manipulace, vysoká aktivita |
| 81-100 | Kritická | Detekován bot, výstupní uzel Tor nebo závažné anomálie |
Skóre agreguje aktivní výstupy smart signálů — především IP intelligence (VPN/proxy/Tor/datacenter), verdikt botů a manipulaci s prohlížečem. Potvrzená lidská interakce (myš/klávesnice) skóre snižuje.
Detekují se čtyři konfigurace prohlížeče zaměřené na soukromí:
| Prohlížeč | Metoda detekce | Práh |
|---|---|---|
| Tor Browser | Blokovaný canvas + blokovaný WebGL + časové pásmo UTC + omezené fonty + zaokrouhlená velikost obrazovky | 3+ markery |
| Brave | Brave UA nebo navigator.brave nebo značka „Brave“ v Client Hints | 1+ marker |
| Firefox ETP (strict) | Rozdělené úložiště nebo odolnost canvasu (vyžadován Firefox UA) | 1+ marker |
| Safari ITP | Blokované cookies nebo omezený IndexedDB (vyžadován Safari UA) | 1+ marker |
Smart Signals se dostanou na váš server prostřednictvím payloadu webhooku (viz Webhooks pro úplný tvar a ověření podpisu) a při čtení session přes Data API. Následující příklady čtou pole přímo z payloadu webhooku; názvy polí jsou v obou případech stejné.
// `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}