Download all
Docs · Reference · Signals

All 267 signals

Every datum we collect along with the score weight it carries when it fires. Weights stack so they are capped at 100 and the final score is the sum.

Server signals are computed on our side from the connection or threat intel tables. Client signals come from the browser SDK. Derived signals are computed from comparing the others.

Network · S001 to S059

IP, TLS, HTTP, WebRTC. (59 signals)

IDNameDescriptionWeightSide
S001ip.v4IPv4 of the connectionserver
S002ip.v6IPv6 of the connectionserver
S003ip.subnet_24/24 block of IPv4+25derived
S004ip.subnet_48/48 block of IPv6+25derived
S005ip.asnAutonomous System Numberserver
S006ip.asn_orgASN organization nameserver
S007ip.countryISO 3166-1 countryserver
S008ip.regionState/provinceserver
S009ip.cityCityserver
S010ip.lat_longCity centroid coordinatesserver
S011ip.timezoneIANA timezone of IP locationserver
S012ip.hosting_typeCategory (residential/datacenter/vpn/proxy/mobile/...)server
S013ip.is_vpnKnown VPN exit+25server
S014ip.is_torTor exit node+80server
S015ip.is_proxyKnown proxy+30server
S016ip.is_residential_proxyResidential proxy network+50server
S017ip.is_mobile_carrierMobile carrier IP+-10server
S018ip.is_datacenterDatacenter IP+30server
S019ip.is_cloud_providerMajor cloud provider IP+35server
S020ip.reputation_scoreOur reputation score 0–100+40server
S021ip.first_seen_in_systemFirst time we ever saw this IPderived
S022ip.last_seen_in_systemMost recent time we saw this IPderived
S023ip.velocity_1hChecks from this IP in 1h+20derived
S024ip.velocity_24hChecks from this IP in 24h+25derived
S025ip.velocity_7dChecks from this IP in 7d+15derived
S026subnet.velocity_24hChecks from /24 in 24h+20derived
S027asn.velocity_24hChecks from ASN in 24h+25derived
S028ip.concurrent_sessionsActive sessions from this IP+15derived
S029ip.rdnsReverse DNS PTRserver
S030ip.rdns_leaks_datacenterrDNS leaks datacenter+20derived
S031ip.timezone_vs_browser_tz_mismatchIP TZ != browser TZ+20derived
S032ip.country_vs_browser_locale_mismatchBrowser language unusual for IP country+10derived
S033tls.ja3JA3 hash from ClientHelloserver
S034tls.ja3_textJA3 raw textserver
S035tls.ja4JA4 fingerprintserver
S036tls.ja4_textJA4 raw textserver
S037tls.has_greaseTLS GREASE extension present+30server
S038tls.ja4_known_botJA4 matches known bot+60server
S039tls.ja4_matches_claimed_uaJA4 consistent with UA claim+30derived
S040http.http2_fingerprintHTTP/2 SETTINGS+priority fingerprintserver
S041http.http2_fingerprint_mismatchHTTP/2 fingerprint inconsistent with claimed browser+30derived
S042http.header_casing_anomalyHeader casing inconsistent with browser+15server
S043http.sec_fetch_missingSec-Fetch-* missing on modern browser claim+10server
S044http.user_agentUser-Agent headerserver
S045http.accept_languageAccept-Language headerserver
S046webrtc.public_ip_mismatchWebRTC IP != connection IP+25derived
S047dns.over_https_usedClient appears to use DoHderived
S048mtu.inferredInferred MTUserver
S049tcp.window_sizeTCP window sizeserver
S050tcp.ttl_estimateInitial TTL estimateserver
S051tcp.fingerprint_p0fp0f-style passive OS fingerprintserver
S052tls.alpnALPN listserver
S053tls.sniSNI valueserver
S054tls.cipher_chosenCipher suite selectedserver
S055tls.versionNegotiated TLS versionserver
S056tls.session_resumedTLS session resumedserver
S057http.refererReferer header (server-observed)server
S058http.originOrigin headerserver
S059connect.latency_msTLS handshake latencyserver

Browser or device · S060 to S172

Navigator, screen, fonts, canvas, WebGL, audio. (113 signals)

IDNameDescriptionWeightSide
S060nav.user_agentnavigator.userAgentclient
S061nav.user_agent_dataUA-CH high-entropy valuesclient
S062nav.platformnavigator.platformclient
S063nav.languagesnavigator.languagesclient
S064nav.languagenavigator.languageclient
S065nav.hardware_concurrencynavigator.hardwareConcurrency (CPU cores)client
S066nav.device_memorynavigator.deviceMemory (GB bucket)client
S067nav.max_touch_pointsTouch points supportedclient
S068nav.do_not_trackDNTclient
S069nav.cookie_enablednavigator.cookieEnabledclient
S070nav.onlinenavigator.onLineclient
S071nav.pdf_viewer_enablednavigator.pdfViewerEnabledclient
S072nav.plugins_countNumber of navigator.plugins entriesclient
S073nav.plugins_hashHash of plugins listclient
S074nav.mime_types_hashHash of navigator.mimeTypesclient
S075screen.widthscreen.widthclient
S076screen.heightscreen.heightclient
S077screen.avail_widthscreen.availWidthclient
S078screen.avail_heightscreen.availHeightclient
S079screen.color_depthscreen.colorDepthclient
S080screen.pixel_depthscreen.pixelDepthclient
S081screen.pixel_ratiowindow.devicePixelRatioclient
S082screen.orientationscreen.orientation.typeclient
S083screen.viewport_widthinnerWidthclient
S084screen.viewport_heightinnerHeightclient
S085locale.timezoneIntl.DateTimeFormat resolvedOptions.timeZoneclient
S086locale.timezone_offsetDate getTimezoneOffsetclient
S087locale.number_formatIntl.NumberFormat resolvedOptionsclient
S088locale.date_formatIntl.DateTimeFormat resolvedOptionsclient
S089canvas.hashCanvas 2D rendering hashclient
S090canvas.emoji_hashCanvas emoji rendering hashclient
S091canvas.text_hashCanvas text rendering hashclient
S092webgl.vendorWebGL VENDORclient
S093webgl.rendererWebGL RENDERERclient
S094webgl.unmasked_vendorWEBGL_debug_renderer_info unmasked vendorclient
S095webgl.unmasked_rendererWEBGL_debug_renderer_info unmasked renderer (GPU)client
S096webgl.params_hashHash of MAX_TEXTURE_SIZE, MAX_VIEWPORT_DIMS, etc.client
S097webgl.extensions_hashHash of supported WebGL extensionsclient
S098webgl.shader_precision_hashHash of shader precision formatsclient
S099webgl2.supportedWebGL2 context availableclient
S100audio.fingerprintOfflineAudioContext rendering hashclient
S101audio.sample_rateAudioContext sampleRateclient
S102audio.channel_count_maxdestination.maxChannelCountclient
S103audio.compressor_node_hashDynamicsCompressorNode output hashclient
S104fonts.installedList of detected installed fontsclient
S105fonts.installed_hashHash of installed fonts listclient
S106fonts.installed_countNumber of installed fonts detectedclient
S107media.speech_voicesspeechSynthesis.getVoices()client
S108media.speech_voices_hashHash of speech voicesclient
S109media.media_capabilities_hashHash of MediaCapabilities decodingInfo resultsclient
S110media.video_inputsNumber of video inputs (no labels)client
S111media.audio_inputsNumber of audio inputs (no labels)client
S112media.audio_outputsNumber of audio outputsclient
S113perms.notificationsPermission stateclient
S114perms.geolocationPermission stateclient
S115perms.cameraPermission stateclient
S116perms.microphonePermission stateclient
S117perms.midiPermission stateclient
S118webrtc.public_ipsWebRTC discovered public IPs (server-reflexive)client
S119webrtc.local_ipsWebRTC discovered local IPsclient
S120math.fingerprintHash of Math.* edge cases (asinh, etc.)client
S121timing.performance_now_resolutionperformance.now() effective resolutionclient
S122timing.date_resolutionDate.now() resolutionclient
S123storage.persistednavigator.storage.persisted()client
S124storage.quota_gbnavigator.storage.estimate().quota in GBclient
S125storage.session_supportedsessionStorage availableclient
S126storage.local_supportedlocalStorage availableclient
S127storage.idb_supportedIndexedDB availableclient
S128feature.service_workernavigator.serviceWorker presentclient
S129feature.push_managerPushManager availableclient
S130feature.payment_requestPaymentRequest availableclient
S131feature.credential_managementnavigator.credentials availableclient
S132feature.bluetoothnavigator.bluetooth availableclient
S133feature.usbnavigator.usb availableclient
S134feature.hidnavigator.hid availableclient
S135feature.serialnavigator.serial availableclient
S136feature.sharenavigator.share availableclient
S137feature.locksnavigator.locks availableclient
S138feature.wake_locknavigator.wakeLock availableclient
S139feature.gamepadgetGamepads availableclient
S140feature.eye_dropperwindow.EyeDropper availableclient
S141feature.shape_detectionBarcodeDetector etc.client
S142feature.web_assemblyWebAssembly supportclient
S143feature.web_workersWorker supportclient
S144feature.shared_workersSharedWorker supportclient
S145feature.web_rtcRTCPeerConnection supportclient
S146css.media_pointer_coarsematchMedia pointer: coarseclient
S147css.media_pointer_finematchMedia pointer: fineclient
S148css.media_hover_hovermatchMedia hover: hoverclient
S149css.media_any_pointermatchMedia any-pointerclient
S150css.media_prefers_darkmatchMedia prefers-color-scheme: darkclient
S151css.media_prefers_contrastmatchMedia prefers-contrastclient
S152css.media_prefers_reduced_motionmatchMedia prefers-reduced-motionclient
S153css.forced_colorsmatchMedia forced-colorsclient
S154css.display_modematchMedia display-mode: standaloneclient
S155window.outer_dimensionsouterWidth/outerHeightclient
S156window.screen_xscreenX/screenYclient
S157window.dpi_inferredInferred DPI from devicePixelRatioclient
S158battery.chargingBattery API charging stateclient
S159battery.levelBattery API levelclient
S160connection.effective_typenavigator.connection.effectiveTypeclient
S161connection.downlinknavigator.connection.downlinkclient
S162connection.rttnavigator.connection.rttclient
S163connection.save_datanavigator.connection.saveDataclient
S164connection.typenavigator.connection.typeclient
S165intl.localeIntl.Locale resolved valuesclient
S166intl.collationCollation fingerprint via sort orderclient
S167intl.currency_formatCurrency format sampleclient
S168console.fingerprintconsole-specific quirksclient
S169error.stack_formatError stack format fingerprintclient
S170engine.v8_featuresV8-specific feature detectionclient
S171engine.spidermonkey_featuresSpiderMonkey-specific feature detectionclient
S172engine.webkit_featuresWebKit-specific feature detectionclient

Anti evasion · S173 to S199

Bot frameworks, headless tells, spoof detection. (27 signals)

IDNameDescriptionWeightSide
S173evasion.webdriver_flagnavigator.webdriver === true+90derived
S174evasion.puppeteer_signaturePuppeteer signatures present+80derived
S175evasion.playwright_signaturePlaywright signatures present+80derived
S176evasion.selenium_signatureSelenium signatures present+80derived
S177evasion.is_headlessHeadless indicators (HeadlessChrome UA, missing plugins, etc.)+70derived
S178evasion.stealth_pluginStealth plugin inconsistencies+50derived
S179evasion.canvas_noiseCanvas fingerprint noise+30derived
S180evasion.audio_noiseAudio fingerprint noise+30derived
S181evasion.webgl_spoofedWebGL renderer inconsistent with platform+25derived
S182evasion.tor_browserTor Browser detected+70derived
S183consistency.ua_platform_mismatchUA platform conflicts with navigator.platform+60derived
S184consistency.ua_webgl_mismatchUA OS conflicts with WebGL renderer+60derived
S185consistency.ua_client_hints_mismatchUA conflicts with Client Hints+40derived
S186consistency.touch_platform_mismatchTouch capability conflicts with platform+70derived
S187consistency.mobile_screen_mismatchMobile flag with desktop screen size+50derived
S188consistency.tz_ip_mismatchBrowser timezone differs from IP location+20derived
S189consistency.locale_ip_mismatchBrowser language unusual for IP country+10derived
S190consistency.browser_version_staleBrowser version > 6 months old+15derived
S191consistency.plugins_browser_mismatchNo plugins on claimed modern Chrome+30derived
S192consistency.languages_mismatchnavigator.language not in navigator.languages+40derived
S193consistency.notification_inconsistentNotification API state inconsistent+30derived
S194evasion.window_chrome_missingwindow.chrome missing on Chrome UAderived
S195evasion.permissions_query_liesnavigator.permissions.query returns inconsistent resultderived
S196evasion.iframe_chrome_liesiframe contentWindow.chrome inconsistentderived
S197evasion.toString_tamperedFunction.toString returns suspicious sourcederived
S198evasion.battery_unsupported_in_modern_chromeBattery API state suggests maskingderived
S199evasion.plugin_array_constructor_checkplugins constructor name tamperedderived

Behavioral · S200 to S221

Mouse, keystrokes, paste, autofill. (22 signals)

IDNameDescriptionWeightSide
S200behavior.mouse_event_countNumber of mouse events observed before submitclient
S201behavior.keystroke_countNumber of keystrokesclient
S202behavior.touch_event_countTouch events observedclient
S203behavior.focus_blur_countFocus/blur eventsclient
S204behavior.scroll_distanceCumulative scroll distanceclient
S205behavior.time_on_page_msTime on page before submitclient
S206behavior.copy_paste_countNumber of paste eventsclient
S207behavior.paste_into_emailEmail field filled by pasteclient
S208behavior.paste_into_passwordPassword field filled by pasteclient
S209behavior.tab_switchesvisibilitychange events with hiddenclient
S210behavior.visibility_changesvisibilitychange events countclient
S211behavior.no_human_inputNo mouse movement and no keystroke variance+60derived
S212behavior.keystroke_too_uniformKeystroke timing too uniform+40derived
S213behavior.mouse_too_straightMouse paths too straight+30derived
S214behavior.typing_speed_wpmEstimated typing speedderived
S215behavior.first_input_delay_msDelay from page load to first user inputclient
S216behavior.form_fill_orderOrder in which form fields were filledclient
S217behavior.form_fill_speed_msTime taken to fill the formclient
S218behavior.autofill_usedBrowser autofill detectedclient
S219behavior.devtools_openDevTools detected as openclient
S220behavior.mouse_acceleration_varianceVariance in mouse accelerationderived
S221behavior.click_timing_varianceVariance in click timingderived

Identity · S222 to S260

Email, phone, card. (39 signals)

IDNameDescriptionWeightSide
S222email.rawEmail as providedserver
S223email.normalizedLowercased, trimmedserver
S224email.canonicalAfter +alias stripping, Gmail dot-collapsederived
S225email.localLocal partserver
S226email.domainDomain partserver
S227email.canonical_matchSame canonical email as previous trial+60derived
S228email.is_disposableDisposable email provider+30derived
S229email.is_relayEmail relay/forwarding service (Apple, SimpleLogin, etc.)+10derived
S230email.is_freemailFree webmail providerderived
S231email.is_corporateLikely corporate email (non-freemail, has MX, > 1y old)derived
S232email.is_role_basedRole-based local part (admin, info, ...)+15derived
S233email.is_gibberishRandom-looking local part+20derived
S234email.local_shortLocal part length < 4+5derived
S235email.local_numeric_ratioNumeric ratio > 0.5+5derived
S236email.domain_age_daysDays since WHOIS registrationserver
S237email.domain_newDomain age < 30 days+25derived
S238email.mx_validDomain has MX records+30server
S239email.mx_countMX records returnedserver
S240email.smtp_deliverableSMTP RCPT TO check+30server
S241email.catch_all_domainDomain accepts any mailbox+10server
S242email.plus_alias_countSame canonical seen with multiple +aliases+30derived
S243email.gmail_dot_variant_countSame Gmail with dot variants+35derived
S244phone.rawPhone as providedserver
S245phone.e164E.164 normalizedderived
S246phone.countryCountry from E.164 prefixderived
S247phone.line_typemobile / fixed_line / voip / ...derived
S248phone.is_voipVoIP number+20derived
S249phone.is_toll_freeToll-free number+10derived
S250phone.canonical_matchSame phone as previous trial user+50derived
S251phone.country_vs_ip_mismatchPhone country differs from IP country+10derived
S252phone.country_vs_email_mismatchPhone country disagrees with email TLD country+5derived
S253card.fpCard fingerprint from PSPserver
S254card.fp_matchSame card as previous trial user+70derived
S255card.binCard BIN (first 6–8)server
S256card.is_prepaidPrepaid card+20derived
S257card.is_virtual_disposablePrivacy.com / Revolut Disposable / etc.+35derived
S258card.country_vs_ip_mismatchCard country differs from IP country+10derived
S259card.country_vs_billing_mismatchCard country differs from billing country+15derived
S260card.avs_mismatchAVS not full match+10derived

Composite IDs · S261 to S264

Derived SHA256 identifiers used for matching. (4 signals)

IDNameDescriptionWeightSide
S261composite.hardware_idHardware-level SHA-256 over canvas+WebGL+audio+CPU+RAM+screen+platform+45derived
S262composite.browser_idBrowser-profile SHA-256 over UA+fonts+voices+locale+permissions+30derived
S263composite.network_idNetwork SHA-256 over ASN+subnet+JA4+HTTP2+25derived
S264composite.identity_idIdentity SHA-256 over email canonical+phone+card+50derived

Soft identifiers · S265 to S267

Cookie, localStorage, IndexedDB. (3 signals)

IDNameDescriptionWeightSide
S265soft.first_party_cookieFirst-party visitor cookie (_tellr_visitor)client
S266soft.local_storage_idlocalStorage visitor ID (_tellr_v)client
S267soft.idb_idIndexedDB visitor ID (_tellr.v.id)client