Do NOT open a public issue for security vulnerabilities.
Email details privately to branchforgereporting.clang219@passmail.net. Please include a description, steps to reproduce, and the affected version.
When deploying BranchForge in production:
- Use strong, random
SESSION_SECRET(at least 32 characters) - Set
ENCRYPTION_KEYfor secure GitLab PAT storage (32-byte hex string) - Use HTTPS in production
- Keep Node.js and PostgreSQL updated
- Restrict database access to application user only
- Regularly update dependencies:
pnpm update
- Session tokens: HTTP-only cookies (
secure+SameSite=Laxin production); configurable lifetime viaSESSION_MAX_AGE(default 24h, clamped to 1h–30d) with sliding expiry (rolling sessions), so the value acts as an inactivity timeout - Password storage: Hashed with bcrypt (see package.json for version; work factor: 10+)
- API rate limiting: Configurable via rate-limiter service
- Database: Uses parameterized queries via Drizzle ORM (SQL injection protection)
- File uploads: Limited by file type and size (e.g., avatars: 500KB, images only)
Thanks for helping keep BranchForge secure! ❤️