Security
MacPeek runs as you, asks for nothing it does not need, and never trusts a stale process ID.
Open source
The whole app is public under the MIT license: read it, build it, audit it.
Permission model
- MacPeek runs as your user. It never requests administrator privileges and never elevates silently.
- It can only see and terminate what your user can. Root and system processes are marked protected.
- It does not bypass macOS privacy controls. Where a detail needs a permission, the utility says so.
- No network access: nothing is sent anywhere.
Process termination safety
Every utility that can end a process uses one shared service with these rules:
- Re-check the resource (for example the exact socket) when you click Kill.
- Verify the same process is still there: name and start time. If identity cannot be proven, nothing is killed. This protects against PID reuse.
- Send SIGTERM first and wait. Confirm the process exited and the resource was released.
- Force kill (SIGKILL) only if you explicitly choose it, after another re-check.
- PID 1 and MacPeek itself are never signalled.
Details: how PortPeek kills safely.
Releases
Releases are built by GitHub Actions from a tagged commit, signed with a Developer ID with the Hardened Runtime enabled, notarized by Apple and stapled. The pipeline fails, and publishes nothing, if signing or notarization fails. Each release ships a SHA256SUMS file. Signing credentials live only in repository secrets, never in the code.
Reporting a vulnerability
Please do not open a public issue. Use GitHub's private security advisory form. We aim to acknowledge reports within 7 days and credit reporters who want it. The full policy is in SECURITY.md.