Our solution
Tag once. Serve multiple audience-specific schemas.
Schema Contracts let you annotate your source graph with `@tag` directives and create filtered views that exclude tagged elements. Each contract gets its own router deployment, client schema, analytics, and persisted operations. The source graph remains the single source of truth, and contracts stay in sync automatically.
How it works end to end
Annotate schema elements with `@tag` directives — on objects, interfaces, inputs, types, and fields.
Create a contract with `wgc contract create`, specifying which tags to exclude.
The control plane generates two schemas: a router schema for query planning and a client schema for introspection.
A contract router deployment serves the tailored API to its audience. Each contract has its own router deployment with independent analytics.
When the source graph changes, contracts recompose automatically — no manual sync needed.
One source graph. Less duplicate maintenance.

