We actively support the following versions with security updates:
| Version | Supported |
|---|---|
| 1.x.x | ✅ Yes |
| < 1.0 | ❌ No |
Please do NOT report security vulnerabilities through public GitHub issues.
Instead, please report them via one of these channels:
- Go to the Security tab of this repository
- Click "Report a vulnerability"
- Fill in the details privately
Send details to: piyushsenjaliya1999@gmail.com
Please provide as much information as possible:
- Description of the vulnerability
- Impact assessment (what could an attacker do?)
- Steps to reproduce the issue
- Affected versions (if known)
- Suggested fix (if you have one)
- Your contact information for follow-up
| Phase | Timeline |
|---|---|
| Acknowledgment | Within 48 hours |
| Initial Assessment | Within 5 business days |
| Fix Development | Within 30 days (critical), 90 days (non-critical) |
| Public Disclosure | After fix is deployed + 14 days |
- Keep your dependencies updated
- Use strong, unique passwords
- Enable 2FA on your Firebase/Google account
- Don't share API keys or service account credentials
- Report suspicious activity immediately
- Never commit secrets, API keys, or credentials
- Use environment variables for all configuration
- Validate and sanitize all user inputs
- Follow OWASP Top 10 guidelines
- Run
npm auditregularly - Keep dependencies updated (Dependabot helps with this)
- Firebase ID tokens stored in localStorage (client-side)
- Tokens transmitted via HTTPS only
- Backend verifies tokens with Firebase Admin SDK
- No refresh token storage on client
- User data isolated by UID in Firestore
- Resume files processed in memory (not stored permanently)
- No PII logged in application logs
- CORS restricted to configured frontend URL
- Gemini API key stored in backend environment only
- Prompts sanitized before sending to AI
- AI responses validated before returning to client
- No user data used for model training
- Only PDF and DOCX files accepted
- File size limited (10MB default)
- Files processed in memory, not written to disk
- MIME type validation
The following security headers are set via Helmet.js:
Content-Security-PolicyX-Content-Type-Options: nosniffX-Frame-Options: DENYX-XSS-Protection: 1; mode=blockReferrer-Policy: strict-origin-when-cross-originPermissions-Policy
- Dependabot configured for weekly updates
- npm audit runs in CI pipeline
- Snyk integration available (optional)
- Major version updates require manual review
We follow responsible disclosure:
- Vulnerability reported privately
- We acknowledge and assess
- We develop and test a fix
- We deploy the fix
- We publish a security advisory (after 14 days)
- Credit given to reporter (if desired)
Thank you to security researchers who have helped improve Resuvio-AI:
- No reports yet - be the first!
- Security Email: piyushsenjaliya1999@gmail.com
- General Contact: piyushsenjaliya1999@gmail.com
- PGP Key: Available on request
Last updated: 2024-01-15