mirror of
https://github.com/tiennm99/litellm.git
synced 2026-07-21 12:20:23 +00:00
Two related changes to how the master-key auth path interacts with downstream consumers of UserAPIKeyAuth.api_key: 1. The master-key auth branch in user_api_key_auth.py now sets `valid_token.api_key` to a stable alias (`LITELLM_PROXY_MASTER_KEY_ALIAS = "litellm_proxy_master_key"`) instead of the raw master key. Downstream consumers — spend logging, Prometheus metrics, audit trails, rate limiting, cost tracking — now receive the alias instead of the master key (which they would previously hash and propagate). Neither the raw master key nor its hash flows past the auth layer. 2. `_is_master_key` in spend_tracking_utils.py is reduced to a strict raw-only constant-time comparison. The hashed form is no longer considered equivalent. Side effects: - The two hash-detection blocks in `get_logging_payload` are removed. They were re-detecting the master key per spend-log write to swap in the alias; that detection happens once at the auth layer now. - The `disable_adding_master_key_hash_to_db` general setting becomes a no-op. Operators can remove it from their config; existing config is still accepted. - Operator dashboards that filter Prometheus metrics by the master-key hash will need to switch to the `api_key="litellm_proxy_master_key"` label. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>