Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
52 commits
Select commit Hold shift + click to select a range
516ac61
Rename Synthetic ID to Edge Cookie (EC) and simplify generation
ChristianPavilonis Mar 25, 2026
6728d2b
Fix CI: remove re-introduced placeholder secret validation tests
ChristianPavilonis Mar 30, 2026
789cda4
Add EC module with lifecycle management, consent gating, and config m…
ChristianPavilonis Mar 25, 2026
a72a8a1
Add KV identity graph with CAS concurrency control
ChristianPavilonis Mar 25, 2026
aee8b37
Add partner registry and admin registration endpoint
ChristianPavilonis Mar 25, 2026
8f50b51
Centralize EC lifecycle finalization in middleware
ChristianPavilonis Mar 25, 2026
8bddec5
Add EC sync and identify endpoints
ChristianPavilonis Mar 24, 2026
c803211
Decorate auction bidstream with partner EIDs from KV identity graph
ChristianPavilonis Mar 25, 2026
5db68f2
Add authenticated S2S batch sync endpoint
ChristianPavilonis Mar 25, 2026
a5c20ca
Add background pull-sync dispatch for organic routes
ChristianPavilonis Mar 25, 2026
57d8257
Add EC lifecycle integration test scenarios
ChristianPavilonis Mar 25, 2026
5d8a951
Deduplicate EC helpers, fix error variants, and improve documentation
ChristianPavilonis Mar 26, 2026
49a8d70
Fix 8 EC spec deviations identified in branch audit
ChristianPavilonis Mar 26, 2026
34be72b
Harden EC endpoints: input validation, binary-search EIDs encoding, a…
ChristianPavilonis Mar 30, 2026
d0d8c7b
Fix post-rebase compilation: restore missing methods, imports, and er…
ChristianPavilonis Mar 31, 2026
865de7b
Restore iframe creative rendering accidentally reverted by EC migration
ChristianPavilonis Mar 31, 2026
afc404f
Restrict EC generation to document navigations to prevent consent bypass
ChristianPavilonis Mar 31, 2026
9391832
Migrate admin endpoints to /_ts/admin namespace
ChristianPavilonis Apr 2, 2026
82d1d5a
Migrate batch sync API to /_ts/api/v1/sync namespace
ChristianPavilonis Apr 2, 2026
1637863
Refresh EC header and cookie on returning requests
ChristianPavilonis Apr 2, 2026
6f4cd37
Add end-to-end EC setup and API documentation
ChristianPavilonis Apr 2, 2026
0f32320
Use full EC IDs for identity graph keys
ChristianPavilonis Apr 2, 2026
d451803
docs: update EC spec to reflect full EC ID used as KV key
ChristianPavilonis Apr 6, 2026
e00fb67
Add ASN/DMA geo fields and publisher domain tracking to EC KV schema
ChristianPavilonis Apr 6, 2026
5ef0996
Add network cluster evaluation to EC identify endpoint
ChristianPavilonis Apr 6, 2026
b74976c
Add device signal derivation and bot gate for EC identity graph
ChristianPavilonis Apr 6, 2026
5442743
Update EC technical spec with schema extensions, device signals, and …
ChristianPavilonis Apr 6, 2026
60fa664
Replace bot gate allowlist with signal-presence check
ChristianPavilonis Apr 7, 2026
e2f48c6
Backfill pub_properties on update_last_seen for pre-existing entries
ChristianPavilonis Apr 7, 2026
9334581
Namespace new Edge Cookie endpoints under versioned routes
ChristianPavilonis Apr 7, 2026
0eab192
Fix Prebid bidder duplication and blank auction EC header
ChristianPavilonis Apr 7, 2026
8c37150
Fix EC review findings: error handling, docs, dead code, and UID limi…
ChristianPavilonis Apr 7, 2026
c28cee1
Fix post-rebase compilation: reconcile platform abstraction with EC m…
ChristianPavilonis Apr 7, 2026
06d9b76
Truncate EC IDs in log output to satisfy CodeQL sensitive data rule
ChristianPavilonis Apr 7, 2026
f482510
Harden EC module: fix cleartext logging, input validation, security, …
ChristianPavilonis Apr 9, 2026
601026a
Address all blocking PR review findings from aram356 and prk-Jr
ChristianPavilonis Apr 10, 2026
049a501
Replace KV-backed partner registry with config-based partners and Pre…
ChristianPavilonis Apr 14, 2026
2a5d0ad
Address PR review findings: integration tests, auction user.id, batch…
ChristianPavilonis Apr 14, 2026
d591976
npm fmt
ChristianPavilonis Apr 14, 2026
7b7f298
Ingest Prebid SharedID cookie into KV identity graph
ChristianPavilonis Apr 15, 2026
e607e79
add diagrams
ChristianPavilonis Apr 15, 2026
43c9f1f
Fix post-rebase compatibility: reconcile platform abstraction with EC…
ChristianPavilonis Apr 16, 2026
43df212
add test value to local ec kv store
ChristianPavilonis Apr 16, 2026
b5f9fc0
Remove dead test helpers causing CI failures
ChristianPavilonis Apr 20, 2026
109c929
Address remaining EC review feedback
ChristianPavilonis Apr 20, 2026
e509a21
Potential fix for pull request finding 'CodeQL / Cleartext logging of…
ChristianPavilonis Apr 20, 2026
4d2ef30
Fix EC integration blockers and cookie bounds
ChristianPavilonis Apr 21, 2026
2f12ade
Potential fix for pull request finding 'CodeQL / Cleartext logging of…
ChristianPavilonis Apr 21, 2026
3c72c3f
Potential fix for pull request finding 'CodeQL / Cleartext logging of…
ChristianPavilonis Apr 21, 2026
6016c48
Resolve remaining EC review threads
ChristianPavilonis Apr 21, 2026
e71f154
Forward Prebid EIDs through auction requests
ChristianPavilonis Apr 22, 2026
7e0a76a
Fix identify CORS and unblock review follow-ups
ChristianPavilonis Apr 22, 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 .github/actions/setup-integration-test-env/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -71,7 +71,7 @@ runs:
env:
TRUSTED_SERVER__PUBLISHER__ORIGIN_URL: http://127.0.0.1:${{ inputs.origin-port }}
TRUSTED_SERVER__PUBLISHER__PROXY_SECRET: integration-test-proxy-secret
TRUSTED_SERVER__EDGE_COOKIE__SECRET_KEY: integration-test-secret-key
TRUSTED_SERVER__EC__PASSPHRASE: integration-test-ec-secret
TRUSTED_SERVER__PROXY__CERTIFICATE_CHECK: "false"
run: cargo build --package trusted-server-adapter-fastly --release --target wasm32-wasip1

Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/integration-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -77,7 +77,7 @@ jobs:
cargo test
--manifest-path crates/integration-tests/Cargo.toml
--target x86_64-unknown-linux-gnu
-- --include-ignored --skip test_wordpress_fastly --skip test_nextjs_fastly --test-threads=1
-- --include-ignored --skip test_wordpress_fastly --skip test_nextjs_fastly --skip test_ec_lifecycle_fastly --test-threads=1
env:
WASM_BINARY_PATH: ${{ env.WASM_ARTIFACT_PATH }}
INTEGRATION_ORIGIN_PORT: ${{ env.ORIGIN_PORT }}
Expand Down
8 changes: 8 additions & 0 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,14 @@ jobs:
- name: Run tests
run: cargo test --workspace

- name: Verify Fastly WASM release build
env:
TRUSTED_SERVER__PUBLISHER__ORIGIN_URL: http://127.0.0.1:8080
TRUSTED_SERVER__PUBLISHER__PROXY_SECRET: integration-test-proxy-secret
TRUSTED_SERVER__EC__PASSPHRASE: integration-test-ec-secret
TRUSTED_SERVER__PROXY__CERTIFICATE_CHECK: "false"
run: cargo build --package trusted-server-adapter-fastly --release --target wasm32-wasip1

test-typescript:
name: vitest
runs-on: ubuntu-latest
Expand Down
2 changes: 1 addition & 1 deletion CLAUDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -366,7 +366,7 @@ both runtime behavior and build/tooling changes.
| `crates/trusted-server-core/src/tsjs.rs` | Script tag generation with module IDs |
| `crates/trusted-server-core/src/html_processor.rs` | Injects `<script>` at `<head>` start |
| `crates/trusted-server-core/src/publisher.rs` | `/static/tsjs=` handler, concatenates modules |
| `crates/trusted-server-core/src/edge_cookie.rs` | Edge Cookie (EC) ID generation |
| `crates/trusted-server-core/src/ec/` | EC identity subsystem (generation, consent, cookies) |
| `crates/trusted-server-core/src/cookies.rs` | Cookie handling |
| `crates/trusted-server-core/src/consent/mod.rs` | GDPR and broader consent management |
| `crates/trusted-server-core/src/http_util.rs` | HTTP abstractions and request utilities |
Expand Down
Loading
Loading