We release patches for security vulnerabilities. Which versions are eligible for receiving such patches depends on the CVSS v3.0 Rating:
| Version | Supported |
|---|---|
| latest | ✅ |
| < 1.0 | ❌ |
The StateSet team takes security vulnerabilities seriously. We appreciate your efforts to responsibly disclose your findings, and will make every effort to acknowledge your contributions.
Please do not report security vulnerabilities through public GitHub issues.
Instead, please report security vulnerabilities by emailing: [email protected]
If possible, encrypt your message with our PGP key (available upon request).
Please include the following information in your report:
- Type of issue (e.g., buffer overflow, SQL injection, cross-site scripting, etc.)
- Full paths of source file(s) related to the manifestation of the issue
- The location of the affected source code (tag/branch/commit or direct URL)
- Any special configuration required to reproduce the issue
- Step-by-step instructions to reproduce the issue
- Proof-of-concept or exploit code (if possible)
- Impact of the issue, including how an attacker might exploit it
- Acknowledgment: We will acknowledge receipt of your vulnerability report within 48 hours
- Initial Assessment: Within 7 days, we will provide an initial assessment and expected timeline
- Updates: We will keep you informed about the progress towards a fix
- Fix: We will notify you when the vulnerability is fixed
- Disclosure: We will coordinate public disclosure with you
- The security report is received and assigned to a primary handler
- The problem is confirmed and a list of affected versions is determined
- Code audit is performed to find any similar problems
- Fixes are prepared for all supported releases
- Security advisory is prepared
- Fixes are released and security advisory is published
When deploying StateSet API, please ensure:
-
Change all default credentials:
# NEVER use these defaults in production DATABASE_URL=postgres://postgres:postgres@localhost:5432/stateset_db # ❌ Change this JWT_SECRET=your_secure_jwt_secret_key_please_change_in_production # ❌ Change this
-
Use strong, unique values:
# Use environment variables with strong values DATABASE_URL=postgres://produser:${STRONG_PASSWORD}@your-db-host:5432/stateset_prod JWT_SECRET=${RANDOM_256_BIT_SECRET}
-
Secure your Redis instance:
- Enable Redis AUTH
- Use TLS for Redis connections
- Restrict network access
-
API Key Management:
- Rotate API keys regularly
- Use different keys for different environments
- Monitor API key usage for anomalies
-
Rate Limiting:
- Configure appropriate rate limits
- Monitor for abuse patterns
- Implement IP-based restrictions if needed
-
Authentication & Authorization:
- Enforce strong password policies
- Implement proper session timeout
- Use HTTPS exclusively
- Enable CORS only for trusted domains
-
Access Control:
- Use least-privilege database users
- Separate read/write permissions
- Restrict database network access
-
Data Protection:
- Enable encryption at rest
- Use TLS for database connections
- Regular security updates
-
Security Monitoring:
- Monitor failed authentication attempts
- Track API usage patterns
- Set up alerts for suspicious activities
-
Audit Logging:
- Log all administrative actions
- Maintain logs in secure, tamper-proof storage
- Regular log reviews
-
Network Security:
- Use firewalls to restrict access
- Implement network segmentation
- Regular security scans
-
Container Security (if using Docker):
- Use official base images
- Regularly update dependencies
- Scan images for vulnerabilities
- Don't run containers as root
StateSet API includes several security features:
- Rate Limiting: Configurable per-endpoint rate limits
- API Key Authentication: Secure API key management with permissions
- JWT Authentication: Industry-standard token-based auth
- RBAC: Role-based access control for fine-grained permissions
- Audit Logging: Comprehensive audit trail of all actions
- Input Validation: Strict input validation on all endpoints
- SQL Injection Protection: Parameterized queries throughout
While StateSet API provides security features, compliance with specific standards (PCI-DSS, HIPAA, etc.) depends on your deployment and configuration. Please ensure:
- Regular security assessments
- Proper configuration following this guide
- Additional controls as required by your compliance needs
- Security issues: [email protected]
- General support: [email protected]
- Documentation: https://docs.stateset.com
Note: This security policy is subject to change. Please check back regularly for updates.