The following versions of ZYNC receive security updates:
| Version | Supported |
|---|---|
| 1.x.x | ✅ Active support |
| < 1.0 | ❌ No longer supported |
If you discover a security vulnerability in ZYNC, please report it responsibly:
- Email: Send details to [email protected]
- Subject: Use the format:
[SECURITY] Brief description - Include:
- Description of the vulnerability
- Steps to reproduce
- Potential impact assessment
- Suggested fix (if any)
- Your contact information
| Action | Timeline |
|---|---|
| Acknowledgment | Within 24 hours |
| Initial assessment | Within 72 hours |
| Status update | Within 7 days |
| Fix release | Within 30 days (critical) |
- We will acknowledge receipt of your report
- We will investigate and validate the vulnerability
- We will work on a fix and coordinate disclosure
- We will credit you in the security advisory (unless you prefer anonymity)
ZYNC implements the following Electron security best practices:
- Context Isolation: Enabled — renderer JavaScript cannot access Node.js
- Node Integration: Disabled in renderer — prevents direct Node.js access
- Sandbox: Enabled — renderer runs in a sandboxed environment
- Content Security Policy: Strict CSP headers limit resource loading
- WebSecurity: Enabled — enforces same-origin policy
- Preload Script: Only whitelisted APIs exposed via
contextBridge - IPC Validation: All IPC inputs validated and sanitized
- Protocol Handlers: Only
http:andhttps:URLs allowed for external links
- No sensitive data stored in plain text
- Firebase authentication tokens managed by Firebase SDK
- User preferences stored locally in the app data directory
- No telemetry or analytics data collected without consent
- Dependencies regularly audited with
npm audit - Dependabot configured for automated security updates
- Electron and Chromium kept up-to-date for security patches
When contributing code, ensure:
- No
nodeIntegration: truein any BrowserWindow - No
contextIsolation: falsein any BrowserWindow - All IPC inputs are validated and type-checked
- No
eval()orFunction()in production code - External URLs validated before opening with
shell.openExternal() - File paths sanitized to prevent directory traversal
- No secrets or API keys committed to the repository
- CSP headers not weakened without documented justification
- Security issues are disclosed after a fix is available
- CVE identifiers are requested for significant vulnerabilities
- Security advisories are published on the GitHub repository
- Users are notified through the auto-updater mechanism