All signals for your request
StyloBot's detection pipeline writes every value it computed into the
request's signal blackboard. The control below renders every entry as
a grouped table with the catalog description for each key. Reload the
page or change the ?demo= preset on
the home page to see how the signals shift
with the verdict.
aiscraper.* (4)
| Key | Value | Description | Source |
|---|---|---|---|
aiscraper.category |
Training |
String: Category of the AI bot (Training, Search, Assistant, ScrapingService) | Mostlylucid.BotDetection.Models.SignalKeys |
aiscraper.detected |
True |
Boolean: true if a known AI scraper/crawler was detected | Mostlylucid.BotDetection.Models.SignalKeys |
aiscraper.name |
ClaudeBot |
String: Name of the detected AI bot (e. | Mostlylucid.BotDetection.Models.SignalKeys |
aiscraper.operator |
Anthropic |
String: Operator of the AI bot (e. | Mostlylucid.BotDetection.Models.SignalKeys |
attestation.* (3)
| Key | Value | Description | Source |
|---|---|---|---|
attestation.api_key |
False |
Boolean: true if request carries a valid API key | Mostlylucid.BotDetection.Models.SignalKeys |
attestation.fetch_metadata |
False |
Boolean: true if request has browser fetch attestation (Sec-Fetch-Site present) | Mostlylucid.BotDetection.Models.SignalKeys |
attestation.programmatic |
False |
Boolean: composite - true if ANY programmatic attestation signal is present | Mostlylucid.BotDetection.Models.SignalKeys |
behavioral.* (1)
| Key | Value | Description | Source |
|---|---|---|---|
behavioral.anomaly |
False |
no catalog entry | Mostlylucid.BotDetection.Models.SignalKeys |
h2.* (5)
| Key | Value | Description | Source |
|---|---|---|---|
h2.behind_proxy |
False |
no catalog entry | unknown |
h2.is_http2 |
False |
no catalog entry | unknown |
h2.population_http2_rate |
0 |
no catalog entry | unknown |
h2.population_samples |
4 |
no catalog entry | unknown |
h2.protocol |
HTTP/1.1 |
String: HTTP protocol version (e. | Mostlylucid.BotDetection.Models.SignalKeys |
h3.* (2)
| Key | Value | Description | Source |
|---|---|---|---|
h3.is_http3 |
False |
no catalog entry | unknown |
h3.protocol |
HTTP/1.1 |
String: HTTP/3 protocol version | Mostlylucid.BotDetection.Models.SignalKeys |
header.* (11)
| Key | Value | Description | Source |
|---|---|---|---|
header.count |
14 |
no catalog entry | unknown |
header.has_accept |
True |
no catalog entry | unknown |
header.has_accept_encoding |
True |
no catalog entry | unknown |
header.has_accept_language |
False |
no catalog entry | unknown |
header.has_proxy_headers |
False |
no catalog entry | unknown |
header.is_service_worker_fetch |
False |
no catalog entry | unknown |
header.is_websocket_upgrade |
False |
no catalog entry | unknown |
header.sec_fetch_dest |
|
String: value of Sec-Fetch-Dest header (e. | Mostlylucid.BotDetection.Models.SignalKeys |
header.sec_fetch_mode |
|
String: value of Sec-Fetch-Mode header (e. | Mostlylucid.BotDetection.Models.SignalKeys |
header.sec_fetch_same_origin |
False |
Boolean: true if Sec-Fetch-Site is "same-origin" (browser attestation of programmatic fetch) | Mostlylucid.BotDetection.Models.SignalKeys |
header.sec_fetch_site |
|
String: value of Sec-Fetch-Site header (e. | Mostlylucid.BotDetection.Models.SignalKeys |
header_correlation.* (2)
| Key | Value | Description | Source |
|---|---|---|---|
header_correlation.distinct_signatures |
1 |
no catalog entry | unknown |
header_correlation.header_fingerprint |
663A387B |
no catalog entry | unknown |
heuristic.* (3)
| Key | Value | Description | Source |
|---|---|---|---|
heuristic.confidence |
0.5540801883523667 |
no catalog entry | Mostlylucid.BotDetection.Models.SignalKeys |
heuristic.early_completed |
True |
no catalog entry | Mostlylucid.BotDetection.Models.SignalKeys |
heuristic.prediction |
bot |
no catalog entry | Mostlylucid.BotDetection.Models.SignalKeys |
ip.* (4)
| Key | Value | Description | Source |
|---|---|---|---|
ip.address |
216.73.216.149 |
no catalog entry | Mostlylucid.BotDetection.Models.SignalKeys |
ip.is_datacenter |
False |
no catalog entry | Mostlylucid.BotDetection.Models.SignalKeys |
ip.is_ipv6 |
False |
no catalog entry | unknown |
ip.is_local |
False |
no catalog entry | Mostlylucid.BotDetection.Models.SignalKeys |
proxy.* (1)
| Key | Value | Description | Source |
|---|---|---|---|
proxy.topology |
Direct |
no catalog entry | Mostlylucid.BotDetection.Models.SignalKeys |
risk.* (2)
| Key | Value | Description | Source |
|---|---|---|---|
risk.friendly_pin_trace |
not-applicable:botType=AiBot,yamlType=AiBot,botName=ClaudeBot |
String: trace of the friendly-bot pin evaluation. | Mostlylucid.BotDetection.Models.SignalKeys |
risk.justification |
Classified AiBot (probability 1.00, confidence 0.50) |
String: human-readable explanation of why this risk band was assigned | Mostlylucid.BotDetection.Models.SignalKeys |
session.* (1)
| Key | Value | Description | Source |
|---|---|---|---|
session.current_state |
PageView |
String: current request's Markov state (e. | Mostlylucid.BotDetection.Models.SignalKeys |
signature.* (3)
| Key | Value | Description | Source |
|---|---|---|---|
signature.header_hashes |
{"accept":"igNWntcb6ybjbEqFI7_1tg","connection":"jm-KXCP_hlazqJ6J9uG1eQ","accept-encoding":"TS3m7plLo5DbVK7Uoybykg","_header_order":"n3sosIAmSfY2jnczwopkYQ"} |
String (JSON): HMAC hashes of discriminatory headers. | Mostlylucid.BotDetection.Models.SignalKeys |
signature.multifactor |
Mostlylucid.BotDetection.Dashboard.MultiFactorSignatures |
MultiFactorSignatures: full per-factor signature set (IP+UA, IP+Plugin, etc. | Mostlylucid.BotDetection.Models.SignalKeys |
signature.primary |
OZevqLefKGTFct69_RPyjQ |
String: Unified client signature (HMAC-SHA256). | Mostlylucid.BotDetection.Models.SignalKeys |
tcp.* (1)
| Key | Value | Description | Source |
|---|---|---|---|
tcp.connection_header |
keep-alive |
no catalog entry | unknown |
tls.* (2)
| Key | Value | Description | Source |
|---|---|---|---|
tls.available |
True |
no catalog entry | unknown |
tls.is_https |
True |
no catalog entry | unknown |
transport.* (5)
| Key | Value | Description | Source |
|---|---|---|---|
transport.is_signalr |
False |
Boolean: true if request is part of a SignalR connection (negotiate, connect, or long-poll) | Mostlylucid.BotDetection.Models.SignalKeys |
transport.is_streaming |
False |
Boolean: true if request uses any streaming transport (WebSocket, SSE, or SignalR) | Mostlylucid.BotDetection.Models.SignalKeys |
transport.protocol |
http |
String: detected transport protocol (http, websocket, grpc, grpc-web, graphql, sse) | Mostlylucid.BotDetection.Models.SignalKeys |
transport.protocol_class |
unknown |
String: protocol class - "document" | "api" | "signalr" | "grpc" | "static" | "unknown" | Mostlylucid.BotDetection.Models.SignalKeys |
transport.transport_class |
http |
String: transport class - "http" | "websocket" | "sse" | Mostlylucid.BotDetection.Models.SignalKeys |
ua.* (6)
| Key | Value | Description | Source |
|---|---|---|---|
ua.bot_name |
ClaudeBot |
no catalog entry | Mostlylucid.BotDetection.Models.SignalKeys |
ua.bot_type |
AiBot |
no catalog entry | Mostlylucid.BotDetection.Models.SignalKeys |
ua.family |
ClaudeBot |
no catalog entry | Mostlylucid.BotDetection.Models.SignalKeys |
ua.family_version |
1.0 |
no catalog entry | Mostlylucid.BotDetection.Models.SignalKeys |
ua.is_bot |
True |
no catalog entry | Mostlylucid.BotDetection.Models.SignalKeys |
ua.raw |
Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +[email protected]) |
User-Agent signature | Mostlylucid.BotDetection.Models.SignalKeys |
Used in code as a tag helper:
<vc:sb-all-signals show-descriptions="true" />.
The show-descriptions attribute is optional and defaults
to false so the dashboard's dense usage stays compact.