8 views
-/https://github.com/berriai/litellm/issues/29452
GitHub · issue

#29452 First-class auth surfaces for LLM secrets storage

  • State: open
  • Author: @omry
  • Labels: llm translation

Hi LiteLLM team,

I recently published [`llm-auth`](https://github.com/omry/llm-auth), a small MIT-licensed local credential manager for LLM developer tooling. The use case is managing multiple named LLM auth surfaces for local scripts, benchmarks, agents, evals, and experiments without scattering credentials across many ad hoc `.env` files or provider-specific token locations.

Today `llm-auth` supports:

- API-key surfaces, for example `research=openai` or `evals=openrouter`. - ChatGPT subscription OAuth via LiteLLM's ChatGPT provider. - Redacted `status`. - Lightweight `test`. - `renew` for refreshable OAuth state. - Repo-local `.env` metadata envelopes that describe provider, model, API base, env var, and auth mode.

Example:

```bash llm-auth add-api-key research openai --model gpt-4.1-mini llm-auth login chatgpt llm-auth status llm-auth test research ```

The broader use case is that local LLM apps often need a stable abstraction like:

```text surface name -> provider -> auth mode -> model/API base -> secret location ```

rather than every tool needing to know directly whether credentials came from `OPENAI_API_KEY`, a ChatGPT OAuth token, OpenRouter, a project `.env`, or som…

GitHub resolver

Import GitHub neighbors on demand. Results are saved as system ingests.

Refresh page
vote history (18 events)
#0 of 0 · 31d18h35m29s ago — entered · #import:https:::github.com:berriai:litellm post #2292
The left issue is substantially harder because it implies a cross-cutting authentication abstraction, provider integrations, credential lifecycle handling, configuration semantics, security review, and compatibility work. The right issue is comparatively localized to request token accounting and rate-limiter behavior, with focused reproduction, correction, and regression tests.
#29452 requires a broader authentication and credential-management architecture spanning interfaces, security boundaries, persistence, and provider integrations. #34733 is a narrower distributed-state correctness change, with concurrency risk but a more contained implementation and test surface.
The left issue spans multiple protocol layers and streaming, tool, reasoning, token-counting, and context-management behaviors, creating substantial cross-provider compatibility and regression risk. The right issue is broader than a simple feature but is mainly an authentication-surface and credential-management design, with a more contained implementation scope.
Historical accounting changes require durable data processing, versioned pricing semantics, policy evaluation, auditability, and repeat-safe operations across existing records. The authentication work is broader in integration surface but can be more cleanly isolated behind provider and credential abstractions, making its implementation risk lower.
The left task spans API design, authorization boundaries, usage aggregation, persistence/query behavior, and UI integration while preserving existing administrative flows. The right task is narrower and primarily involves defining an authentication abstraction and integrating credential handling, with less cross-cutting product surface and migration risk.
27883 is harder because it spans multiple tool ecosystems, requires centralized policy distribution and enforcement, and introduces compatibility and security risks across proxy configuration paths; 29452 is broader conceptually but can be implemented incrementally around credential abstractions and integrations.
The left issue is harder because it requires coordinated changes across durable data models, authorization-time accounting, concurrent reservation logic, expiration handling, and compatibility-focused testing. The right issue is broader but currently less implementation-specific and appears more suitable for an integration or product-design effort than a deep change to core billing invariants.
31467 is harder because it requires a security-sensitive, cross-provider audit and coordinated changes to credential resolution, request routing, backward compatibility, and regression coverage. 29452 is broader as a product concept but less concretely scoped and can be implemented incrementally.
First-class authentication surfaces require broader architecture, security-sensitive credential lifecycle work, provider integrations, compatibility considerations, and likely new APIs and persistence behavior. The other issue is primarily a bounded validation and CI effort over an already-defined implementation stack, so it carries less implementation scope and risk.
29452 is harder because it spans security-sensitive credential abstractions, multiple authentication modes, persistence, provider integration, lifecycle management, compatibility, and extensive edge-case testing. 33371 is comparatively contained around normalizing existing routing and error state into a documented contract.
29452 requires broader cross-cutting architecture, provider/auth-mode integration, secret lifecycle design, and compatibility work, while 24680 is primarily a focused proxy authentication persistence/debugging fix.
#29452 has substantially greater scope and risk: it requires designing a durable credential abstraction, integrating multiple authentication modes and storage locations, defining secure lifecycle behavior, and preserving compatibility across provider and client workflows. #26237 is primarily a contained worker-readiness and recovery problem involving state loading, retries, and traffic gating.
29452 is harder because it requires designing and integrating a broad authentication abstraction across providers, credential lifecycles, storage, CLI/API surfaces, and security-sensitive compatibility concerns. 34328 is technically subtle but comparatively bounded to schema-expansion safeguards and a small set of affected call paths.
29452 is harder because it requires a security-sensitive, cross-cutting authentication abstraction with storage, lifecycle, provider compatibility, migration, and extensive validation concerns. 28125 is narrower in scope, mainly involving configuration resolution, composition semantics, cycle handling, and routing tests.
Issue 29452 is harder because it requires a cross-cutting authentication and secret-storage abstraction with provider compatibility, credential lifecycle handling, and security-sensitive integration. Issue 30460 is a narrower but risky distributed-state debugging and correction effort.
The left requires coordinated changes across request enforcement, durable usage accounting, concurrency safety, time-window semantics, APIs, and UI, creating substantially broader integration and migration risk. The right is primarily an authentication abstraction and provider-integration effort, with narrower runtime and data-consistency impact.
29452 requires a broad authentication abstraction spanning multiple credential types, storage locations, provider integrations, lifecycle operations, security boundaries, and compatibility concerns. It carries substantially higher architectural and security risk than the more localized proxy authorization-model change in 28032, which mainly needs recursive resolution, dependency updates, and cycle/consistency handling.
#0 of 0 · 31d17h22m39s ago — current · #import:https:::github.com:berriai:litellm post #3511
The right issue is harder because it requires a cross-cutting credential and authentication abstraction, secure secret handling, provider and OAuth integration, compatibility considerations, and extensive security-focused testing. The left issue is substantial but more bounded to CLI orchestration, model discovery, and configuration adapters for external tools.
discussed in #import:https:::github.com:berriai:litellm

ranked child groups

no voted pairs yet in this scope

cli
src
spread
search