Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
27 commits
Select commit Hold shift + click to select a range
eb6e892
Add spec for EID Fidelity
dhruv8sh Oct 19, 2026
3bdac07
Carry OpenRTB EID-level fields on Eid
dhruv8sh Oct 19, 2026
5dc8a37
Add one parser for browser-supplied EIDs
dhruv8sh Oct 19, 2026
953a03d
Validate body and cookie EIDs with the shared parser
dhruv8sh Oct 19, 2026
cdcf51f
Forward browser EIDs as sent and fill only absent sources from KV
dhruv8sh Oct 19, 2026
eb3a69b
Ingest only the auction's own client EIDs on /auction
dhruv8sh Oct 19, 2026
b597a1c
Add a pure collector for the trustedServer bidder request's EIDs
dhruv8sh Oct 19, 2026
a845cc7
Forward the trustedServer bidder request's EIDs and write ts-eids in …
dhruv8sh Oct 19, 2026
5d5fadc
Re-justify the served shim size bound
dhruv8sh Oct 19, 2026
606b5a5
Stop overriding the publisher's Prebid userSync settings
dhruv8sh Oct 19, 2026
8d7cffd
Prove the trustedServer EID contract with real Prebid.js
dhruv8sh Oct 19, 2026
29191a9
Assert readyState in every real-Prebid arm
dhruv8sh Oct 19, 2026
ab34b2a
Delete the unused EID-to-module resolver
dhruv8sh Oct 19, 2026
191bc78
Document Prebid EID forwarding, the ts-eids writer and the TCF exception
dhruv8sh Oct 19, 2026
8e9214e
Keep buildRequests alive when the ts-eids cookie cannot be written
dhruv8sh Oct 19, 2026
c463952
Report non-array ts-eids cookie JSON as a parse error
dhruv8sh Oct 19, 2026
40b75e7
Merge branch 'main' into spec/1246-prebid-eid-fidelity
aram356 Oct 19, 2026
0ea795a
Merge branch 'spec/1246-prebid-eid-fidelity' of https://github.com/IA…
dhruv8sh Oct 19, 2026
c84a73d
Add plan for EID fidelity
dhruv8sh Oct 19, 2026
5ab7d49
Separate import groups in the Prebid integration test
dhruv8sh Oct 21, 2026
d51bbec
Write ts-eids only with TCF Purpose 1 storage consent
dhruv8sh Oct 22, 2026
88725f4
Validate legacy ts-eids cookie UIDs before browser precedence
dhruv8sh Oct 22, 2026
328dd2c
Borrow raw EID elements instead of boxing each copy
dhruv8sh Oct 22, 2026
46031de
Merge branch 'main' into spec/1246-prebid-eid-fidelity
prk-Jr Oct 22, 2026
9b901f2
Require TCF Purposes 1 and 4 for the ts-eids write
dhruv8sh Oct 22, 2026
878186f
Merge branch 'main' into spec/1246-prebid-eid-fidelity
aram356 Oct 25, 2026
88cc505
Merge branch 'main' into spec/1246-prebid-eid-fidelity
aram356 Oct 26, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -102,7 +102,7 @@ rustls = "0.23"
rustls-pemfile = "2"
scraper = "0.24.0"
serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0.149"
serde_json = { version = "1.0.149", features = ["raw_value"] }
serde_yaml_ng = "0.10"
sha2 = "0.11"
similar = "2.7"
Expand Down
32 changes: 32 additions & 0 deletions crates/trusted-server-adapter-fastly/src/app.rs
Original file line number Diff line number Diff line change
Expand Up @@ -2301,6 +2301,38 @@ mod tests {
.eid_sync_source()
}

#[test]
fn auction_route_carries_the_raw_ts_eids_cookie_to_finalization() {
let router = test_router();
let eids_cookie = base64::engine::general_purpose::STANDARD.encode(
serde_json::json!([{ "source": "ids.example.com", "uids": [{ "id": "example-uid" }] }])
.to_string(),
);
let mut request = browser_request(Method::POST, "/auction", "empty");
request.headers_mut().insert(
header::COOKIE,
HeaderValue::from_str(&format!("ts-eids={eids_cookie}"))
.expect("should build cookie header"),
);

let response = route(&router, request);

let state = response
.extensions()
.get::<super::EcFinalizeState>()
.expect("auction responses should carry EC finalization state");
assert_eq!(
state.eids_cookie.as_deref(),
Some(eids_cookie.as_str()),
"the adapter should hand finalization the raw ts-eids cookie"
);
assert_eq!(
state.ec_context.eid_sync_source(),
Some(EidSyncSource::Auction),
"finalization should know this was an /auction request"
);
}

#[test]
fn dispatch_limits_returning_user_eid_sync_to_eligible_routes() {
let router = test_router();
Expand Down
Loading
Loading