We release patches for security vulnerabilities. Which versions are eligible for receiving such patches depends on the CVSS v3.0 Rating:
| Version | Supported |
|---|---|
| Latest | ✅ |
| < Latest | ❌ |
If you discover a security vulnerability, please do not open a public issue. Instead, please report it via one of the following methods:
- Email: Send details to the repository maintainers
- Private Security Advisory: Use GitHub's Private Vulnerability Reporting
When reporting a vulnerability, please include:
- Description of the vulnerability
- Steps to reproduce the issue
- Potential impact
- Suggested fix (if any)
- Initial Response: Within 48 hours
- Status Update: Within 7 days
- Fix Timeline: Depends on severity and complexity
When using this server:
- Enable API key authentication for production: Set
API_KEYenvironment variable - Restrict CORS origins: Set
CORS_ORIGINSto specific domains (not*) - Use HTTPS in production (via reverse proxy like nginx)
- Never expose the server to the public internet without proper authentication
- Keep dependencies up to date: Run
pip install -r requirements.txt --upgraderegularly - Verify model integrity: Set
MODEL_SHA256for model verification (optional) - Monitor server logs for suspicious activity
- Use firewall rules to restrict access
- Run in isolated environments (containers, VMs) when possible
- Enable branch protection on the main branch
- Require code reviews before merging (minimum 2 approvals)
- Use signed commits for important changes
- Regularly review security alerts from GitHub
- Never commit secrets or API keys to the repository
- Set
API_KEYenvironment variable - Configure
CORS_ORIGINSwith specific allowed domains - Use HTTPS (reverse proxy with SSL/TLS)
- Set
MODEL_SHA256for model integrity verification (optional) - Configure firewall to restrict access
- Monitor logs for suspicious activity
- Keep dependencies updated
- Run in isolated environment (container/VM)
- Filename sanitization: Path traversal attacks prevented
- File type validation: Only allowed audio MIME types and extensions accepted
- File size limits: Maximum 100MB per file
- Empty file detection: Rejects empty uploads
- MIME type checking: Validates Content-Type headers
Allowed file types: .wav, .mp3, .flac, .m4a, .aac, .ogg, .opus, .webm
- Configurable origins: Set via
CORS_ORIGINSenvironment variable - Default restriction: Limited to
localhostby default (not open to all) - Production ready: Configure specific allowed origins for production
Configuration: Set CORS_ORIGINS environment variable (comma-separated list)
export CORS_ORIGINS="https://yourdomain.com,https://app.yourdomain.com"- Bearer token support: Use
Authorization: Bearer <key>header - X-API-Key header: Alternative header format supported
- Constant-time comparison: Prevents timing attacks
- Health check exemption:
/healthendpoint remains public
Configuration: Set API_KEY environment variable to enable
export API_KEY="your-secret-api-key-here"- SHA256 checksum support: Optional verification via
MODEL_SHA256environment variable - HuggingFace verification: Models downloaded from HuggingFace Hub
- Logging: Integrity checks logged for audit
Configuration: Set MODEL_SHA256 environment variable (optional)
export MODEL_SHA256="expected-sha256-checksum"X-Content-Type-Options: nosniff- Prevents MIME type sniffingX-Frame-Options: DENY- Prevents clickjackingX-XSS-Protection: 1; mode=block- XSS protectionReferrer-Policy: strict-origin-when-cross-origin- Referrer information control
Security updates will be announced via:
- GitHub Releases
- Security Advisories
- CHANGELOG.md