llm-gateway/SECURITY.md
2026-07-17 22:10:34 +02:00

2.0 KiB

Security Policy

LLM Gateway sits between clients and AI providers, so security hygiene matters.

Supported Scope

This public snapshot supports responsible reports for:

  • gateway API behavior
  • subscription bridge behavior
  • local credential exposure risks
  • request validation issues
  • output validation issues
  • unsafe defaults
  • logging of sensitive data
  • dependency risk
  • documentation that could cause unsafe deployments

Private deployments, private data, and private operator environments are out of scope for this public repository unless a maintainer explicitly asks for that review.

Reporting

Please open a private security advisory through GitHub if available. If that is not available, open a minimal issue that does not include exploit details or sensitive data, and ask for a private reporting channel.

Do not post:

  • real credentials
  • OAuth files
  • cookies
  • production hostnames
  • database dumps
  • logs containing account data
  • screenshots with account state

Handling Expectations

For valid reports, maintainers aim to:

  1. acknowledge the report
  2. reproduce or classify the risk
  3. prepare a fix or mitigation
  4. document the affected area
  5. publish guidance when needed

Secret Hygiene

Before contributing, run:

gitleaks dir . --redact

Also manually check for:

  • private hostnames
  • private IP addresses
  • local filesystem paths
  • database connection strings with credentials
  • long placeholder values that look like credentials
  • personal account names
  • generated logs
  • training data

Subscription Bridge Safety

Subscription bridges should:

  • bind to localhost by default
  • avoid exposing OAuth material
  • avoid logging prompts that may contain sensitive data
  • return clear errors when a CLI is missing or unauthenticated
  • support a health endpoint
  • avoid background execution unless explicitly enabled

Public Examples

Examples should use placeholders such as:

Authorization: Bearer <key>

Do not include realistic credential-like strings in examples.