Incident Report: Guardrail logging exposed secret headers in spend logs and traces
Date: March 18, 2026 Duration: Unknown Severity: High Status: Resolved
Summary​
When a custom guardrail returned the full LiteLLM request/data dictionary, the guardrail response logged by LiteLLM could include secret_fields.raw_headers, including plaintext Authorization headers containing API keys or other credentials.
This information could then propagate to logging and observability surfaces that consume guardrail metadata, including:
- Spend logs in the LiteLLM UI: visible to admins with access to spend-log data
- OpenTelemetry traces: visible to anyone with access to the relevant telemetry backend
LLM calls, proxy routing, and provider execution were not blocked by this bug. The impact was exposure of sensitive request headers in observability and logging paths.
