Debug. raw HttpContext.Items state (TagHelper input)
AggregatedEvidence present: False
BotDetectionResult present:  False

Behaviour-aware Razor

This page is rendered by ASP.NET Core MVC with StyloBot middleware in process. No gateway, no third-party service, no JavaScript on the client. Every <sb-*> tag below reads from the same DetectionDisplayModel the detection pipeline populated before this view started rendering.

Demo mode. flip the verdict by appending ?demo=<preset> to any URL. Same code path as the ml-bot-test-mode header; opt-in via BotDetection:TestModeQueryParam.
human googlebot bingbot MJ12bot scrapy curl masscan reset

1. Your fingerprint card (<bot-detection-details />)

Per-request fingerprint computed by the in-process detection pipeline. Verdict, bot probability, risk band, recommended action, top reasons, and the centroid-projection radar. all read from the same DetectionDisplayModel the detection middleware populated before this view rendered. The whole upper card links to your signature's detail page on the embedded dashboard at /_stylobot.

No bot detection data available

2. Compact detection card (<sb-summary variant="card" />)

Same detection data, condensed into the inline card the dashboard uses on dense rows. Drop-in for a sidebar, a row badge, or a wide inline indicator next to a CTA.

👤 Unknown Unknown
Bot probability 0%
Confidence 0%
Processing -ms

3. Risk-gated content (<sb-risk>)

Welcome back. You scored Low risk. full access. This block is wrapped in <sb-risk max="Low"> so it renders only for visitors the engine classifies as Low or VeryLow.

Elevated risk. You're being throttled. Block wrapped in <sb-risk min="Elevated" max="Medium">.
High risk. If this were a real product page, you'd be served the lite version and your form posts would face a proof-of-work challenge. Wrapped in <sb-risk min="High">.

4. Signal-driven variation (<sb-signal>)

You appear to be on a datacentre IP. Some features disabled.

You're on an anonymised network. Limited content only.

Detected as a declared bot. If you're a verified crawler, you're allowed; otherwise the route handlers downstream will reject you.

Treated as a human visitor by the User-Agent detector.

5. Honeypot form (<sb-honeypot />)

This form contains three offscreen trap fields. Humans don't see them; bots fill them in. View source to confirm they're there.

6. Inline signal table (<vc:sb-all-signals show-descriptions="false" />)

Condensed inline form of the All signals page. Renders every key/value pair the detection pipeline wrote to this request's signal blackboard, grouped by namespace prefix. Same view component the dedicated /Home/Signals page uses, just with the longform descriptions collapsed for embedding.

All signals for this request 0 keys risk: Unknown (0 %)

No signals on this request. The detection pipeline either has not run yet or this request skipped detection.

7. Endpoint traffic shaping

The opening Razor view from the talk also wires up three minimal-API endpoints at the routing layer:

Tip: hit /api/data while demo mode is set to scrapy or curl and watch it 403.