You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Rename Server Side Cookie (SSC) to Edge Cookie (EC) throughout codebase
Rename the SSC feature to Edge Cookie (EC) to better reflect its
purpose as an edge-generated identifier. This is a hard cutover with
no backward compatibility — the feature has not been deployed yet.
Code changes (18 Rust files):
- ssc.rs → ec.rs (module rename + all functions/tests)
- Constants: COOKIE_TS_SSC → COOKIE_TS_EC, HEADER_X_TS_SSC → HEADER_X_TS_EC
- Settings: struct Ssc → Ec, removed legacy synthetic alias
- Error variant: Ssc → Ec
- Cookie/header/query-param wire names: ts-ssc → ts-ec, x-ts-ssc → x-ts-ec
- OpenRTB field: ssc_fresh → ec_fresh
- Extracted upsert_ec_query_param helper in proxy.rs (dedup)
Config: [ssc] → [ec] in trusted-server.toml and all test configs
KV store test data: synthetic_id → ec_counter
JS: Updated GPT integration comments
Docs: Renamed server-side-cookies.md → edge-cookies.md, updated 27 doc files
Also removed stale nonexistent X-TS-SSC-Trusted-Server header from docs
Copy file name to clipboardExpand all lines: crates/common/README.md
+9-9Lines changed: 9 additions & 9 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -47,12 +47,12 @@ JS bundles (served by publisher module):
47
47
48
48
Behavior is covered by an extensive test suite in `crates/common/src/creative.rs`.
49
49
50
-
## Server Side Cookie (SSC) Identifier Propagation
51
-
52
-
-`ssc.rs` generates a server side cookie identifier per user request and exposes helpers:
53
-
-`generate_ssc_id` — creates a fresh HMAC-based ID using the client IP address and appends a short random suffix (format: `64hex.6alnum`).
54
-
-`get_ssc_id` — extracts an existing ID from the `x-ts-ssc` header or `ts-ssc` cookie.
55
-
-`get_or_generate_ssc_id` — reuses the existing ID when present, otherwise creates one.
56
-
-`publisher.rs::handle_publisher_request` stamps proxied origin responses with `x-ts-ssc`, and (when absent) issues the `ts-ssc` cookie so the browser keeps the identifier on subsequent requests.
57
-
-`proxy.rs::handle_first_party_proxy` replays the identifier to third-party creative origins by appending `ts-ssc=<value>` to the reconstructed target URL, follows redirects (301/302/303/307/308) up to four hops, and keeps downstream fetches linked to the same user scope.
58
-
-`proxy.rs::handle_first_party_click` adds `ts-ssc=<value>` to outbound click redirect URLs so analytics endpoints can associate clicks with impressions without third-party cookies.
50
+
## Edge Cookie (EC) Identifier Propagation
51
+
52
+
-`ec.rs` generates an edge cookie identifier per user request and exposes helpers:
53
+
-`generate_ec_id` — creates a fresh HMAC-based ID using the client IP address and appends a short random suffix (format: `64hex.6alnum`).
54
+
-`get_ec_id` — extracts an existing ID from the `x-ts-ec` header or `ts-ec` cookie.
55
+
-`get_or_generate_ec_id` — reuses the existing ID when present, otherwise creates one.
56
+
-`publisher.rs::handle_publisher_request` stamps proxied origin responses with `x-ts-ec`, and (when absent) issues the `ts-ec` cookie so the browser keeps the identifier on subsequent requests.
57
+
-`proxy.rs::handle_first_party_proxy` replays the identifier to third-party creative origins by appending `ts-ec=<value>` to the reconstructed target URL, follows redirects (301/302/303/307/308) up to four hops, and keeps downstream fetches linked to the same user scope.
58
+
-`proxy.rs::handle_first_party_click` adds `ts-ec=<value>` to outbound click redirect URLs so analytics endpoints can associate clicks with impressions without third-party cookies.
0 commit comments