We take security seriously. If you discover a security vulnerability in bmyCure4MM, please report it responsibly.
DO NOT create a public GitHub issue for security vulnerabilities.
Instead, please send an email to:
Include in your report:
- Description of the vulnerability
- Steps to reproduce the issue
- Potential impact
- Suggested fix (if any)
- Acknowledgment: We'll acknowledge receipt within 48 hours
- Assessment: We'll assess the vulnerability and determine severity
- Fix: We'll work on a fix and keep you updated on progress
- Disclosure: Once fixed, we'll coordinate public disclosure
| Version | Supported |
|---|---|
| 1.0.x | ✅ |
| < 1.0 | ❌ |
-
Environment Variables
- Never commit
.envfiles - Use strong, random
DJANGO_SECRET_KEY - Set
DJANGO_DEBUG=0in production
- Never commit
-
Database
- Use PostgreSQL in production
- Enable SSL connections
- Regular backups
-
HTTPS
- Always use HTTPS in production
- Enable HSTS headers
- Set secure cookie flags
-
Dependencies
- Regularly update dependencies
- Monitor security advisories
- Use
pip-auditor similar tools
-
Access Control
- Implement proper authentication
- Use role-based permissions
- Enable two-factor authentication if possible
-
Local Setup
- Keep local
.envfiles secure - Don't share credentials
- Use test databases for development
- Keep local
-
Code Review
- Review all security-related changes
- Check for SQL injection vulnerabilities
- Validate all user inputs
-
Testing
- Write security tests
- Test authentication flows
- Verify permission checks
- All forms use Django's built-in validation
- Additional validation in model
clean()methods - XSS prevention through template auto-escaping
- Protected by Django ORM
- No raw SQL queries without parameterization
- Queryset filtering uses safe methods
- Enabled by default in Django
- All forms include CSRF tokens
- API endpoints use token authentication
- Built on Django's authentication system
- Passwords hashed with PBKDF2
- Session security configured
- ✅ CSRF protection
- ✅ XSS prevention
- ✅ SQL injection protection
- ✅ Secure password hashing
- ✅ Session security
- ✅ Environment-based secrets
- Rate limiting
- Two-factor authentication
- Security headers (django-csp)
- IP whitelisting for admin
- Audit logging
- Intrusion detection
- Day 0: Vulnerability reported
- Day 1-2: Acknowledgment sent
- Day 3-7: Assessment and severity determination
- Day 7-30: Fix development and testing
- Day 30: Coordinated public disclosure
Security researchers who responsibly disclose vulnerabilities will be credited in:
- Release notes
- Security advisories
- Project documentation (with permission)
For security questions that aren't vulnerabilities, please:
- Open a GitHub Discussion
- Contact maintainers via email
Thank you for helping keep bmyCure4MM secure!