tellr
Download all
Docs · Reference · Signals

All 267 signals

Every datum we collect, with the score weight it carries when it fires. Weights stack and are capped at 100 — 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–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 / device · S060–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–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–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–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–S264

Derived SHA-256 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–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