Please report security issues privately via GitHub's "Report a vulnerability" (Security advisories) rather than opening a public issue. Include a description, reproduction steps, and impact. We aim to acknowledge within 72 hours.
ownllm stores OAuth credentials for your personal LLM subscriptions. They are sensitive bearer secrets.
- At rest: the auth store (
~/.ownllm/auth.json) is written with mode0600inside a0700parent directory, via atomic create-and-rename. - In logs: credentials are never logged. Logging redacts
authorization,cookie,set-cookie,*.access_token,*.refresh_token,*.id_token, andcf_clearance. Request/response bodies are logged only atdebug. - Client authentication: API requests require
server.api_key, compared in constant time. The server refuses to start on a non-loopback host without one. - Network egress: the upstream HTTP client is host-pinned — bearer tokens and cookies are only ever sent to the allowlisted upstream hosts for each provider.
- No telemetry: ownllm makes no outbound calls other than to provider OAuth and inference endpoints.
ownllm is for personal, single-user use of your own subscriptions. See the disclaimer in the README. It is not designed or supported for multi-tenant or resale scenarios.