| Version | Supported |
|---|---|
| latest | ✅ |
If you discover a security vulnerability, please report it responsibly:
- Do NOT open a public GitHub issue
- Email the maintainer directly or use GitHub's private vulnerability reporting
- Include:
- Description of the vulnerability
- Steps to reproduce
- Potential impact
- Suggested fix (if available)
We aim to acknowledge reports within 48 hours and provide a fix timeline within 7 days.
- JWT-based authentication with configurable secret (
JWT_SECRETenv var) - Production requires
JWT_SECRETto be set (server exits on missing) - Admin routes require
adminrole
- All API inputs validated at route level
- MongoDB uses parameterized queries via Mongoose (no string concatenation)
- File uploads restricted by type and size
- Secrets stored in environment variables, never in source code
.envfiles excluded via.gitignore.env.examplefiles provided with placeholder values
- Configurable via
CORS_ORIGINSenv var - Defaults to localhost origins only
- Run
npm auditregularly to check for known vulnerabilities - Keep dependencies updated
- Never commit
.envfiles, API keys, or tokens - Use parameterized queries for any database operations
- Validate and sanitize all user input
- Follow the principle of least privilege for API endpoints
- Report any suspicious findings immediately