We release patches for security vulnerabilities for the following versions:
| Version | Supported |
|---|---|
| 1.x.x | ✅ Yes |
| < 1.0 | ❌ No |
We take security issues seriously. If you discover a security vulnerability in EnSim, please report it responsibly.
Please do NOT report security vulnerabilities through public GitHub issues.
Instead, please report them via one of these methods:
- Email: Send details to security@ensim.io (preferred)
- GitHub Security Advisories: Use the Security tab to privately report vulnerabilities
Please include the following information in your report:
- Description: A clear description of the vulnerability
- Impact: What an attacker could potentially achieve
- Steps to Reproduce: Detailed steps to reproduce the issue
- Affected Versions: Which versions are affected
- Possible Fix: If you have suggestions for fixing the vulnerability
- Initial Response: Within 48 hours of receiving your report
- Status Update: Within 7 days with our assessment
- Resolution: We aim to release a fix within 30 days for critical issues
- Acknowledgment: We'll confirm receipt of your report
- Assessment: We'll investigate and assess the severity
- Communication: We'll keep you informed of our progress
- Credit: With your permission, we'll acknowledge your contribution in our release notes
- Download from Official Sources: Only download EnSim from the official GitHub repository
- Verify Releases: Check release signatures when available
- Keep Updated: Always use the latest stable version
- Virtual Environments: Run EnSim in a Python virtual environment
- Project Files:
.ensimproject files are JSON-based and may contain your simulation parameters - No Network: EnSim does not send data over the network by default
- Local Storage: All data is stored locally on your machine
- No Remote Code Execution: EnSim does not execute remote code
- No Network Requests: Core functionality works fully offline
- Input Validation: User inputs are validated before processing
- Dependency Management: Dependencies are pinned to specific versions
- Numba JIT Compilation: Numba compiles Python to machine code; we use
cache=Truefor security - File Operations: Project save/load operations use Python's
jsonmodule - PyQt6: UI framework with its own security considerations
EnSim uses the following major dependencies:
| Package | Security Notes |
|---|---|
| NumPy | Widely audited scientific library |
| Numba | JIT compiler; uses cached compilation |
| PyQt6 | Qt framework with active security patches |
| Matplotlib | Plotting library; no network operations |
| PyVista | VTK-based 3D visualization |
We regularly update dependencies and monitor for security advisories.
We thank the security researchers who have helped improve EnSim's security:
No security issues have been reported yet.
This security policy is adapted from industry best practices and may be updated as needed.