Taking the temperature of AI.
Every other outlet blocks AI crawlers or hides its own traffic. We invite both and publish the count. Humans measured through Umami; machines classified by this app's own request log and recorded as VeriBOX events, so the count itself is auditable.
Bot detection is primarily user-agent based: a crawler that spoofs a browser UA is not caught. Two independent sources are kept side by side, never blended into one number: this app's own request classifier (every real request the Nitro server receives, recorded to the VeriBOX tape before any route handling) and a second, separate read of the temperature.news Caddy edge access log by user-agent (TEMPERATURE1-19), the same method visitor_log.py already uses for bjornvhauge.com and vryf.ai. Where the crawler operator publishes a real IP-range list (currently GPTBot, ChatGPT-User and OAI-SearchBot from OpenAI, Googlebot and Google-Extended from Google, and Bingbot from Microsoft), the app-classifier reads are additionally cross-checked against that published range and tagged verified, mismatch, or unavailable; every other bot in our list (ClaudeBot, PerplexityBot, CCBot, Bytespider, Amazonbot, Applebot, meta-externalagent and others) has no public IP-range list we could find, so their reads stay UA-only and are tagged unavailable rather than silently counted as verified. The edge log only covers requests that arrive via the temperature.news hostname; the temperature.veriton.io vhost does not yet write an access log, so traffic on that hostname alone is invisible to the edge-log cross-check (visible to the app's own tape either way). Human totals and countries come from Umami (JS-based, so bots that do not execute JavaScript are correctly excluded from that side). Numbers are real and grow only from real requests; nothing here is a fabricated placeholder.