Our solution
Merge response headers from multiple subgraphs predictably, every time
Cosmo Router response header operations let you control which headers from your subgraphs reach the client, with three deterministic algorithms plus set for baseline security and caching headers.
What happens at response time
Choose propagation rules per header name or pattern. Nothing reaches the client without a rule.
Apply `set` after propagation so baseline security and caching headers are always present.
Use `headers.subgraphs.<name>.response` when one service needs a different merge policy.
Hop-by-hop headers filtered automatically. Explicit config for everything else.

