Defense layers
1. Edge filtering (pre-bid)
All inbound traffic to the Thrad SSP passes through Cloudflare Bot Management before any bid request is generated. This strips General Invalid Traffic (GIVT) at the edge:- Known crawlers and spiders
- Headless browsers and automation frameworks
- Known datacenter IP ranges
- Requests failing TLS / HTTP-level integrity checks
2. Bid-time signal forwarding
Every bid request carries the end-user signal needed for DSP-side IVT checks — IP and User-Agent in the request headers, plus stable session identifiers (userId / chatId on the AI-native path, device.ifa on the oRTB path) for per-user velocity and anomaly detection. On the oRTB path, source.ext.schain carries the IAB SupplyChain object rooted in Thrad’s sellers.json.
Full field map: Targeting Signals (oRTB) and the bid endpoint reference (AI-native).
3. Impression verification
On render, two independent signals reach your infrastructure.Client-side — independent trust channel
Thrad’s publisher SDK measures viewability against the IAB/MRC display standard: 1 second at 50% of pixels in-view. On viewability-met, the SDK fires any tracker URLs you supplied in the bid response directly from the user’s device to your endpoint. The TCP connection lands on your server from the real user, with native IP and User-Agent in the request headers — no Thrad server in the middle. This is the signal your verification vendor (DV / IAS / HUMAN) needs to run client-observed validation.- AI-native path: include your view/verification URLs in the bid response; the SDK fires them on viewability.
- oRTB path: include trackers in
adm— for native, use theeventtrackersarray (Native 1.2) withevent: 1(impression) orevent: 2(viewable-MRC50).
Server-side — billing reconciliation (oRTB)
On impression confirmation, Thrad firesburl server-to-server with:
X-Forwarded-Forset to the end-user IPUser-Agentset to the end-user UA- Auction macros substituted (
${AUCTION_PRICE},${AUCTION_ID})
bidId — one billable impression produces at most one burl call. nurl fires on win (before delivery) and does not confirm render; lurl fires on loss with a reason code. See Overview for the full lifecycle.
4. Human-originated vs agent-originated traffic
Thrad operates exclusively on traffic from contracted publishers integrated via Thrad’s authenticated SDK, inside consumer conversational products. Bid requests are generated by Thrad’s SDK embedded in publisher applications; open API ingestion of conversation traffic from unauthenticated sources is not supported. Every publisher is identifiable in the bid request (site.publisher.id on oRTB; publisher metadata on the AI-native path) and declared in sellers.json.
