Grounded is a multi-tenant RAG platform. Security mistakes can expose customer documents, generated answers, citations, usage records, and provider credentials.
| Version | Supported |
|---|---|
0.1.x |
Yes |
Report vulnerabilities privately to the project owner. Do not create public issues for exploitable security problems.
Include:
- Affected component.
- Reproduction steps.
- Expected impact.
- Logs or request examples with secrets removed.
- Suggested fix if known.
- Tenant isolation is mandatory.
- PostgreSQL is the source of truth for authorization-relevant state.
- Qdrant searches must include tenant filters.
- MinIO object access must be mediated by backend authorization.
- RabbitMQ messages must not carry raw document payloads.
- Secrets must never be committed.
- Public errors must not disclose cross-tenant resource existence.
- Internal service URLs must not be exposed to the frontend.
- Provider credentials must stay server-side.
- Authentication and authorization code must be easy to audit.
Never commit:
- JWT secrets.
- Database credentials for shared or production systems.
- Object storage credentials for shared or production systems.
- LLM provider API keys.
- OAuth client secrets.
- Private keys.
- Session signing keys.
Example files may contain development-only dummy values.
Every tenant-owned read, write, search, citation, usage lookup, and job operation must carry tenant context.
Protected data includes:
- Tenants.
- Users and memberships.
- Documents.
- Document versions.
- Chunks.
- Vectors.
- Chat sessions.
- Messages.
- Citations.
- Usage ledger entries.
- Raw objects.
- Ingestion jobs.
New dependencies require review when they affect:
- Authentication.
- Authorization.
- Cryptography.
- File parsing.
- Network calls.
- Serialization.
- Database access.
- Provider SDKs.
Do not run automatic major-version security fixes without reviewing the resulting dependency graph.
Request security review for changes that touch:
- Token creation or validation.
- Password hashing.
- Tenant filters.
- Qdrant payloads.
- MinIO object keys or access.
- Error responses.
- API gateway proxy logic.
- Queue payloads.
- Environment variable handling.
- CI secrets.