| Version | Supported |
|---|---|
| latest | Yes |
| < 1.0.0 | Best effort |
If you discover a security vulnerability in the Open Integration Platform, please report it responsibly.
Do NOT open a public GitHub issue for security vulnerabilities.
Instead, please email: security@pinquark.com
Include:
- A description of the vulnerability
- Steps to reproduce
- Potential impact
- Suggested fix (if any)
- Acknowledgment: within 48 hours
- Initial assessment: within 5 business days
- Fix or mitigation: depends on severity, typically within 30 days for critical issues
- Always run
setup.shto generate unique, random secrets. Never use default or example values in production. - Back up your
ENCRYPTION_KEY— if lost, all stored credentials become permanently unreadable. - Do not expose PostgreSQL or Redis ports to the public network. The default
docker-compose.prod.ymlbinds them to127.0.0.1. - Use a reverse proxy (nginx, Traefik) with TLS for all external traffic.
- Set
CORS_ALLOWED_ORIGINSto your specific domain(s). Do not use*in production. - Keep
ADMIN_SECRETprivate — it is not injected into the dashboard frontend. Enter it via the session prompt when admin features are needed. - Rotate secrets periodically — API keys, JWT secrets, and admin secrets can be rotated without data loss.
ENCRYPTION_KEYmust NOT be changed without re-encrypting all stored credentials.
All external system credentials are encrypted at rest using AES-256-GCM with per-tenant envelope encryption. The encryption key is derived from the ENCRYPTION_KEY environment variable and never logged or exposed via API responses.
- Connectors communicate with the platform via an internal Docker network
- Only the API Gateway and Dashboard are exposed externally
/internal/*endpoints are protected byINTERNAL_SECRETheader authentication- Row-Level Security (RLS) enforces tenant isolation at the PostgreSQL level