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

87 lines
2.0 KiB
Markdown

# 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:
```bash
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:
```text
Authorization: Bearer <key>
```
Do not include realistic credential-like strings in examples.