Public proof

Replay evidence for Voidek crawler decisions.

This page shows controlled sample requests for AI crawlers, script scrapers, browser automation, and Googlebot. It is demo replay evidence, not live customer traffic or a claim that every bot is blocked in every environment.

Rollout modes

Monitor first, then enforce only where the logs support it.

Monitor

Voidek records action, score, bot type, tags, and route context while your app continues serving the request.

Use this before rollout, especially on docs, pricing, login, feeds, and API routes.
Enforce

Your middleware or backend uses the decision to allow, challenge, or block before protected content is returned.

Turn this on per route after controlled samples and live rows look clean.

Test matrix

Controlled replay results for common crawler and scraper clients.

Scores and decisions below come from Voidek controlled sample requests run through the shared scorer. In production, route policy decides whether a logged high-confidence class becomes challenge or block.

Voidek public proof test matrix for crawler, scraper, headless browser, and search crawler requests
ClientReplay inputReplay actionMonitor modeEnforce modeWhy it matters
GPTBotControlled sampleAI crawlerGPTBot/1.2 on protected pageBlockedscore 100 · highLog row with AI crawler tagBlock on protected routeKnown AI crawler user-agent plus static HTML fetch context.
ClaudeBotControlled sampleAI crawlerClaudeBot/1.0 on GET /docsBlockedscore 100 · highLog row with AI crawler tagBlock on protected routeClassified separately from search-engine crawlers.
PerplexityBotControlled sampleAI crawlerPerplexityBot/1.0 on GET /docsBlockedscore 100 · highLog row with AI crawler tagBlock on protected routeKnown AI crawler user-agent in the replay rules.
python-requestsControlled sampleScraper librarypython-requests/2.32 burst on content endpointBlockedscore 100 · highLog row with scraper and rate tagsBlock when route policy is strictScript client, non-browser headers, and short-window burst pressure.
Playwright / SeleniumControlled sampleHeadless frameworkPlaywright/Selenium request on account routeBlockedscore 100 · highLog row with headless tagsBlock failed browser challengeAutomation header, webdriver, and missing challenge proof.
GooglebotControlled sampleSearch crawlerGooglebot/2.1 on GET /docsAllowedscore 0 · noneLog or allow as search crawlerAllow by default unless policy says otherwiseKnown search crawler is tagged separately from AI crawlers.

Replay detail

Decision reasons exposed as demo replay assets.

The same controlled sample set is reused in the docs and dashboard demo so visitors can inspect client type, route label, action, score, and reason copy before installing.

Demo Voidek decisions for crawler and scraper request types
ClientRequestDecisionWhy
GPTBotDemo replayAI crawlerGET protected pageai-crawler · high confidenceBlockedscore 100

Blocked because the user-agent matches a known AI crawler and arrives without normal browser navigation proof.

ai-crawler · static-html-client · header-anomaly
ClaudeBotDemo replayAI crawlerGET /docsai-crawler · high confidenceBlockedscore 100

Blocked because ClaudeBot is classified as model-training crawler traffic before protected content is served.

ai-crawler · static-html-client · header-anomaly
PerplexityBotDemo replayAI crawlerGET /docsai-crawler · high confidenceBlockedscore 100

Blocked because PerplexityBot is classified as AI crawler traffic before protected docs content is served.

ai-crawler · static-html-client · header-anomaly
python-requestsDemo replayScraper libraryGET content endpointscraper · high confidenceBlockedscore 100

Blocked because a script client is making a high short-window request burst with no browser navigation headers.

scraper-tooling · header-anomaly · rate-spike
Playwright / SeleniumDemo replayHeadless frameworkGET account routescraper · high confidenceBlockedscore 100

Blocked because the request exposes automation tooling, webdriver, and a missing required browser challenge.

scraper-tooling · static-html-client · header-anomaly
Masked Chromium runnerDemo replayHeadless challengeGET /accountbrowser-impersonation · medium confidenceChallengescore 75

Challenged because the client looks browser-like but lacks the headers a real navigation normally sends.

browser-impersonation
GooglebotDemo replaySearch crawlerGET /docssearch-engine · none confidenceAllowedscore 0

Allowed because known search-engine traffic is tagged separately from AI crawlers and scraper tooling.

search-engine

Dashboard log example

What a setup owner should expect to see.

These rows are illustrative dashboard examples based on the replay cases. They are controlled samples, not live traffic, customer traffic totals, or claims that these clients visited production.

Illustrative Voidek dashboard log rows from sample replay traffic
TimeRoute labelClientActionScoreSourceTags
2026-06-24 09:42 UTCprotected pageGPTBotBlocked91Controlled sampleai-crawler, static-html-client
2026-06-24 09:43 UTCGET /docsClaudeBotBlocked90Controlled sampleai-crawler
2026-06-24 09:44 UTCcontent endpointpython-requestsBlocked100Controlled samplescraper-tooling, rate-spike
2026-06-24 09:45 UTCaccount routePlaywrightBlocked100Controlled sampleheadless-signal, challenge-missing
2026-06-24 09:46 UTCGET /docsGooglebotAllowed0Controlled samplesearch-engine

Limits

Claims we will not overstate.

Verify on your route

Run one test decision, then review the first log row.

Start with a personal account, add one protected site, keep Googlebot and browsers safe by default, and only enforce crawler classes after monitor rows are clear.