Privacy boundary
POST /api/v1/evidence/http-requests/batches accepts only:
- an HMAC-before-storage source ID and event ID;
- observation time,
GETorHEAD, and response status; - one exact allowlisted bot product token, one allowlisted assistant referrer host, or both; and
- an optional source-reported network verification method.
accepted, duplicates, and expired. Events older than the environment retention window are counted as expired and are not stored.
Classification and provenance
The accepted product tokens are versioned withschemaVersion: 1:
These are exact user-agent product tokens, not full raw user-agent strings.
Google-Extended is intentionally absent because Google documents it as a robots control token, not an HTTP user agent. Bing publishes no separate Copilot crawler token; bingbot is therefore never relabeled as a Copilot visit. Unrecognized tokens fail closed until a reviewed contract and database allowlist update adds them; additive token coverage does not change the event shape identified by schemaVersion: 1.
Google-Agent is Google’s generic user-triggered agent, not proof that Gemini initiated the request.
Google-GeminiNotebook is the current user-triggered fetcher for URLs supplied to Gemini Notebook;
Google-NotebookLM remains a separate accepted transitional token through Google’s documented August 2026
compatibility window. To elevate any of the three from claimed to source_attested under schema version 1,
verify Google’s user-triggered-agent ranges or use forward-confirmed reverse DNS. Google also documents Web Bot
Auth for Google-Agent, but that verification method is not yet representable in networkEvidence.
A fetch proves only that the company-controlled source observed the bounded request and response metadata. It does not prove indexing, training inclusion, ranking, grounding, citation, impression, consumption, or authorization. user_fetch does not identify an end user, prompt, model, or conversation.
Actor evidence has only two tiers:
claimed: an exact product token was reported by the authenticated importer. User-agent tokens are spoofable.source_attested: the importer also reportedcloudflare_verified_bot,published_ip_range, orforward_confirmed_reverse_dns. This preserves the check’s provenance but does not claim that Epode independently authenticated the requester.
This endpoint is for an authenticated exporter operating on company-controlled CDN or origin observations. The exporter must extract the hostname before emission and discard the rest of the referrer. The API accepts only one of the exact strings above; it does not accept or normalize full URLs, ports, case variants, suffix matches, or arbitrary subdomains. In particular,
x.com, broad Microsoft, Google, or Bing hosts, and lookalike domains are not referral evidence. This allowlist does not expand browser SDK collection, agent telemetry, AEO execution, or sampled-answer coverage.
A referrer attributes only the immediately preceding page. It may be absent or spoofed. Accepting one of these hosts does not identify who requested the page, establish that an answer or citation existed, connect the request to an AEO observation, or prove that an answer engine caused a later outcome.
Aggregate read
Dashboard sessions can read:First-party references
- OpenAI crawler overview and its published IP lists for GPTBot, OAI-SearchBot, and ChatGPT-User
- Anthropic crawler distinctions and Anthropic bot IPs
- Perplexity crawler distinctions and its separate IP lists for PerplexityBot and Perplexity-User
- Google common crawlers, user-triggered fetchers, and request verification
- Microsoft crawler list and Bingbot verification
- Cloudflare AI bot reference, Bot Management variables, and
http_requestsLogpush fields