Our solution
Three controls for introspection access
Disable introspection for production, bypass authentication for internal tooling, and add a secret to protect that bypass.
Configure per environment
For production: set introspection.enabled: false in router YAML. All introspection queries return an error. The schema is hidden from clients.
For internal environments with authentication enabled: set authentication.ignore_introspection: true. Introspection queries bypass JWT validation. All data queries still require a valid token.
To protect the bypass: set introspection.secret with a dedicated value. Clients include this value in the Authorization header (without Bearer prefix) to access introspection.
Combine the settings per environment. introspection.enabled and ignore_introspection work independently.
Authentication bypass is for secure internal environments only. Not for production.

