Skip to content

fix(dashboard): mask trailing _KEY credential overrides in settings API (#3881) - #3980

Open
vaibhavsrv wants to merge 1 commit into
Osmantic:mainfrom
vaibhavsrv:fix/dashboard-settings-cleartext-credentials-3881
Open

fix(dashboard): mask trailing _KEY credential overrides in settings API (#3881)#3980
vaibhavsrv wants to merge 1 commit into
Osmantic:mainfrom
vaibhavsrv:fix/dashboard-settings-cleartext-credentials-3881

Conversation

@vaibhavsrv

Copy link
Copy Markdown
Contributor

Fixes #3881

Summary

  • What changed: Added (?:^|_)KEY$ pattern to _SENSITIVE_ENV_KEY_RE in settings.py so un-schematized local environment overrides ending in _KEY are recognized as secrets and masked in GET /api/settings/env.
  • Why it changed: Previously, extension credential variables ending in _KEY (such as CREDS_KEY, LIBRECHAT_MEILI_KEY, GOOGLE_KEY, OPENROUTER_KEY, ODS_ROUTER_INTERNAL_KEY, LITELLM_KEY) were returned in cleartext because the regex heuristic only checked for specific prefixes (API_KEY, PRIVATE_KEY, ENCRYPTION_KEY).

Tests

  • Executed: pytest tests/test_settings_env.py
  • Result: 103 passed in 1.22s (added parameterized test cases covering _KEY secret masking and unmasked file path/public key exclusions).

…PI (Osmantic#3881)

Handle extension credential settings ending in _KEY (such as CREDS_KEY, LIBRECHAT_MEILI_KEY, GOOGLE_KEY, OPENROUTER_KEY, ODS_ROUTER_INTERNAL_KEY) so they are marked as secret and masked in GET /api/settings/env. Added regression unit test cases.
@vaibhavsrv
vaibhavsrv force-pushed the fix/dashboard-settings-cleartext-credentials-3881 branch from c669c55 to 9f8ded7 Compare September 9, 2026 10:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

1 participant