We take security seriously. If you discover a security vulnerability, please report it responsibly.
DO NOT open a public GitHub issue for security vulnerabilities.
Instead, please:
- GitHub Issues: Open a security issue on the relevant repo
- Subject:
[SECURITY] Brief description - Include:
- Description of the vulnerability
- Steps to reproduce
- Potential impact
- Suggested fix (if any)
- Acknowledgment: Within 48 hours
- Initial Assessment: Within 1 week
- Resolution: Depends on severity (see below)
- Credit: With your permission, we'll acknowledge your contribution
- Remote code execution
- Authentication bypass
- Data breach
- Response: Immediate hotfix
- Privilege escalation
- Significant data exposure
- Response: Fix within 48 hours
- Limited data exposure
- Denial of service
- Response: Fix within 1 week
- Minor information disclosure
- Response: Fix in next release
The following are not considered security vulnerabilities:
- Issues requiring physical access to devices
- Social engineering attacks
- Denial of service attacks requiring massive resources
- Issues in third-party dependencies (report to them directly)
- Issues in deprecated/unsupported versions
-
Never commit secrets
- API keys, tokens, passwords β
.envonly - Use environment variables
- Check
.gitignorebefore committing
- API keys, tokens, passwords β
-
Use secure dependencies
- Run
npm audit/pip auditregularly - Update vulnerable packages
- Use lockfiles
- Run
-
Follow secure coding
- Validate all inputs
- Use parameterized queries
- Implement proper authentication
- Follow principle of least privilege
-
Test security changes
- Run security scanners
- Test authentication flows
- Verify authorization checks
-
Keep software updated
- Use latest stable versions
- Subscribe to security advisories
- Apply patches promptly
-
Protect your data
- Use strong passwords
- Enable 2FA where available
- Be cautious with API keys
-
Report issues
- Report suspicious activity
- Share security concerns
- Help improve security
| Data Type | Storage | Encryption | Access |
|---|---|---|---|
| User data | PostgreSQL | At rest + transit | Role-based |
| API keys | .env files | Not committed | Environment vars |
| Models | HuggingFace Hub | At rest | Public/Private |
| Bible text | Local JSON | None | Public domain |
- Web: NextAuth.js (OAuth2 + JWT)
- API: Bearer tokens
- MCP: OAuth 2.1 (PKCE + dynamic client registration) or API-key bearer tokens
- CI/CD: GitHub Actions secrets
- HTTPS: Enforced on all endpoints
- CORS: Restricted origins
- Rate limiting: API endpoints
- Input validation: All user inputs
- Run
npm audit/pip audit - Update vulnerable dependencies
- Review authentication flows
- Test authorization checks
- Verify data encryption
- Check for hardcoded secrets
- Review error messages (no sensitive data)
- Test rate limiting
- Verify CORS configuration
- Review logging (no sensitive data)
- Threat modeling
- Input validation
- Authentication required?
- Authorization checks?
- Data encryption?
- Error handling?
- Logging & monitoring?
- Documentation?
- GitHub Dependabot: Automatic security updates
- Snyk: Vulnerability scanning
- Trivy: Container scanning (if applicable)
- Review new dependencies before adding
- Check dependency health and maintenance
- Evaluate security track record
- Consider alternatives if needed
- Data sovereignty: Community-owned data
- Privacy: No tracking without consent
- Transparency: Open-source code
- Ethics: CARE principles
- Secure coding practices
- Threat modeling
- Incident response
- Security architecture
- Immediately: Stop using affected service
- Document: What happened, when, scope
- Report: Contact maintainers immediately
- Preserve: Do not delete logs/evidence
- Communicate: If user data affected, notify users
- Triage: Assess severity and scope
- Contain: Isolate affected systems
- Eradicate: Remove threat
- Recover: Restore services
- Learn: Post-mortem and improvements
We thank security researchers who help us improve security. With permission, we'll:
- Credit you in our security page
- List you in release notes
- Provide a reference letter (if needed)
- General questions: GitHub Discussions
- GitHub Discussions: Questions, ideas, real-time chat
- 2026-09-07: Initial security policy
Thank you for helping keep Zolai-AI secure! π‘οΈ