Skip to content

Add EC consent logging and Sourcepoint consent support#679

Open
ChristianPavilonis wants to merge 5 commits intoedge-cookie-sourcepoint-consentfrom
debug/ec-kv
Open

Add EC consent logging and Sourcepoint consent support#679
ChristianPavilonis wants to merge 5 commits intoedge-cookie-sourcepoint-consentfrom
debug/ec-kv

Conversation

@ChristianPavilonis
Copy link
Copy Markdown
Collaborator

Summary

  • Adds EC consent decision logging so allow/block/withdrawal decisions are visible during request handling and finalization.
  • Expands Sourcepoint consent mirroring to support multiple localStorage payload shapes for GPP and TCF consent.
  • Adds Prebid User ID module build/config support.

Changes

File Change
crates/trusted-server-core/src/consent/mod.rs Adds explicit EC consent decision/reason modeling used by allows_ec_creation.
crates/trusted-server-core/src/ec/consent.rs Surfaces EC consent decision details for EC lifecycle callers.
crates/trusted-server-core/src/ec/finalize.rs Logs EC finalization actions, consent reasons, cookie/header state, and KV availability.
crates/trusted-server-core/src/ec/mod.rs Tracks EC lifecycle state used by consent/finalization logging.
crates/trusted-server-core/src/integrations/registry.rs Logs skipped EC generation decisions for non-navigation integration requests.
crates/trusted-server-core/src/publisher.rs Logs skipped EC generation decisions for non-HTML publisher responses.
crates/trusted-server-adapter-fastly/src/logging.rs Adjusts logging initialization/filtering for the new EC decision logs.
crates/js/lib/src/integrations/sourcepoint/index.ts Mirrors Sourcepoint GPP/TCF consent from supported localStorage shapes into IAB cookies.
crates/js/lib/test/integrations/sourcepoint/index.test.ts Adds Sourcepoint consent mirroring coverage.
crates/js/lib/build-all.mjs Adds Prebid User ID module build support and liveIntent alias handling.
crates/js/lib/src/integrations/prebid/_user_id_modules.generated.ts Adds generated Prebid User ID module import shim.
crates/js/lib/src/integrations/prebid/index.ts Applies configured Prebid userSync settings.
crates/js/lib/test/integrations/prebid/index.test.ts Adds Prebid User ID/userSync test coverage.
crates/trusted-server-core/src/integrations/prebid.rs Adds user_sync config serialization into the injected Prebid JS config.
trusted-server.toml Documents optional local Prebid User ID config.

Closes

Closes #

Test plan

  • cargo test --workspace
  • cargo clippy --workspace --all-targets --all-features -- -D warnings
  • cargo fmt --all -- --check
  • JS tests: cd crates/js/lib && npx vitest run
  • JS format: cd crates/js/lib && npm run format
  • Docs format: cd docs && npm run format
  • WASM build: cargo build --package trusted-server-adapter-fastly --release --target wasm32-wasip1
  • Manual testing via fastly compute serve
  • Other: cargo fmt --all; cargo check --workspace; cd crates/js/lib && npx vitest run test/integrations/sourcepoint/index.test.ts test/integrations/prebid/index.test.ts

Checklist

  • Changes follow CLAUDE.md conventions
  • No unwrap() in production code — use expect("should ...")
  • Uses tracing macros (not println!)
  • New code has tests
  • No secrets or credentials committed

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant