Security checklist (must-haves)
Renderer safety
- Disable Node integration in renderer
- Enable context isolation
- Strict Content Security Policy
- Load only trusted content
Main process safety
- Validate all IPC inputs
- Least-privilege file system access
- Sanitize external URLs
- Keep dependencies updated
Treat every message from the renderer as untrusted input. Your main process is the power layer—protect it accordingly.
Secure IPC: a simple rule set
- Expose a small, versioned API surface via preload
- Never expose raw “execute” or “eval” style APIs
- Validate schema and types for every IPC message
- Return only the minimum data needed by the UI
Think of IPC as HTTP between two separate apps. Contract it, validate it, and log it with correlation IDs.
Auto-updates: reliability and trust
Users hate broken updates. Your goal is to make updates incremental, signed, and recoverable.
Signing and integrity
- Always code-sign releases
- Verify update signatures
- Separate update channels (stable/beta)
UX
- Update progress visibility
- Graceful restart prompting
- Rollback path for bad releases
Rollout strategy that prevents mass breakage
- Ship beta channel first, collect crash + install metrics
- Use staged rollouts (percentage-based)
- Monitor error rate and update success rate
- Keep a hotfix path for urgent security patches
Need an Electron app built the right way?
Share your platform needs, offline requirements, and update expectations. We'll propose a secure architecture and release process.