We actively maintain and provide security updates for the following versions:
| Version | Supported |
|---|---|
| 1.0.x | ✅ |
qSHA256 is designed with security as a primary concern:
- Vetted Libraries: All cryptographic operations use well-established libraries (
hashlib,cryptography,hmac) - No Custom Crypto: We do not implement custom cryptographic algorithms
- Secure by Default: All functions include proper input validation and secure defaults
- Input Validation: Strict type checking and size limits (1 MB default)
- Constant-Time Operations: HMAC verification uses constant-time comparison to prevent timing attacks
- Secure Random: Key generation uses cryptographically secure random number generation
- Error Handling: Secure error handling that doesn't leak sensitive information
While qSHA256 is built on vetted cryptographic libraries, we recommend:
- Independent Security Audits: Before using in production environments handling sensitive data
- Regular Updates: Keep dependencies updated to latest secure versions
- Security Testing: Include qSHA256 in your security testing procedures
We take security vulnerabilities seriously. If you discover a security vulnerability in qSHA256, please follow these steps:
- Do NOT create a public GitHub issue
- Email security details to:
security@qsha256.org(placeholder - update with actual contact) - Include the following information:
- Description of the vulnerability
- Steps to reproduce
- Potential impact
- Suggested fix (if any)
- Initial Response: Within 48 hours
- Status Update: Within 7 days
- Resolution: Within 30 days (or coordinated disclosure timeline)
- Confirmation: We'll confirm receipt of your report
- Investigation: We'll investigate and verify the vulnerability
- Fix Development: We'll develop and test a fix
- Coordinated Disclosure: We'll coordinate public disclosure with you
- Release: We'll release a security update
- Responsible Disclosure: Please allow us reasonable time to address the issue before public disclosure
- Good Faith: Report vulnerabilities in good faith without attempting to access data beyond what's necessary
- No Malicious Use: Do not use the vulnerability for malicious purposes
- Credit: We'll credit you in security advisories (unless you prefer to remain anonymous)
- Responsiveness: We'll keep you informed of our progress
- Recognition: We'll acknowledge your contribution to improving qSHA256's security
- Keep Updated: Always use the latest version of qSHA256
- Validate Inputs: Validate all inputs before passing to qSHA256 functions
- Secure Key Management: Store cryptographic keys securely
- Use HTTPS: Always use secure channels for key exchange
- Regular Audits: Include qSHA256 in your security audit procedures
- Input Validation: Always validate inputs before cryptographic operations
- Error Handling: Implement proper error handling without information leakage
- Key Management: Follow secure key management practices
- Testing: Include security testing in your development process
- Default maximum input size is 1 MB to prevent memory exhaustion attacks
- This can be configured but should be carefully considered
- qSHA256 provides secure key generation but not key storage
- Implementers must handle key storage securely
- All random operations use
secrets.token_bytes()for cryptographic security - Ensure your system has sufficient entropy
- Security Email:
security@qsha256.org(placeholder - update with actual contact) - Maintainer: qSHA256 Contributors
- GitHub Issues: Use for non-security bugs only
- Initial secure release
- Built on vetted cryptographic libraries
- Comprehensive input validation
- Security-focused design
We thank the security researchers and community members who help make qSHA256 more secure through responsible disclosure and security feedback.
This security policy is provided for informational purposes only and does not constitute legal advice. Users are responsible for ensuring their use of qSHA256 complies with applicable laws and regulations.