The following versions of with are currently supported with security updates:
| Version | Supported |
|---|---|
| 0.1.1+ | ✅ |
We take security vulnerabilities seriously. If you discover a security issue, please report it responsibly.
- DO NOT create a public GitHub issue for security vulnerabilities
- Email security reports to amanak3170@gmail.com
- Include the following information:
- Description of the vulnerability
- Steps to reproduce the issue
- Potential impact assessment
- Any suggested fixes (optional)
- Acknowledgment: We will acknowledge your report within 48 hours
- Initial Assessment: We will provide an initial assessment within 7 days
- Regular Updates: We will provide updates on the progress of fixing the vulnerability
- Disclosure: We will coordinate disclosure with you before any public announcement
| Phase | Timeline |
|---|---|
| Initial Response | Within 48 hours |
| Severity Assessment | Within 7 days |
| Fix Development | Based on severity |
| Security Advisory Release | After fix is ready |
- Critical: Patch released within 24-48 hours
- High: Patch released within 7 days
- Medium: Patch released within 30 days
- Low: Patch released in next scheduled release
- Argon2id key derivation (64MiB memory, t=3, p=1)
- AES-256-GCM encryption with random nonces
- OS keychain integration for credential storage
- Memory locking to prevent swapping
- File permissions enforcement (0600)
- Subprocess-only environment variable injection
- Use strong master passwords: At least 12 characters with mixed case, numbers, and symbols
- Never share master passwords: Each user should have their own vault
- Store master passwords securely: Use a password manager like 1Password, Bitwarden, or KeePassXC
- Verify file permissions: Vault files should have
0600permissions, directories0700 - Never commit vault files: Add
*.vaultfiles to.gitignore - Avoid password files in production: If using
--password-file, set permissions to0600and delete after use
- Regularly rotate API keys: Update keys periodically to limit exposure from potential leaks
- Remove unused keys: Periodically review and delete deprecated keys
- Use minimal key permissions: Request only the permissions your application needs
- Prefer
with exec: This isolates keys to the subprocess environment - Avoid
with getin scripts: This prints keys to stdout which may be logged - Be aware of process listing: Other users on shared systems may see running processes
- Each user has a separate vault file with restricted permissions
- File permissions prevent cross-user access
- Consider OS keychain integration for additional protection
- Monitor for unauthorized access attempts