Please report vulnerabilities privately via GitHub's built-in reporting: Security tab → "Report a vulnerability" on this repository. Do not open a public issue for security problems.
You can expect an acknowledgement within a few days. Once fixed, the report and fix are disclosed in the release notes.
Only the latest release receives fixes. There is no backporting.
What Corner does — and deliberately does not do — from a security standpoint:
- No network attack surface in normal use. The app makes no network requests except a single user-initiated HTTPS GET to GitHub's API when you click "Check for updates" (see PRIVACY.md).
- No third-party dependencies. 100% Apple frameworks. There is no supply chain beyond Apple's SDK and the build tooling (XcodeGen, GitHub Actions).
- Memory safety: written entirely in Swift 6 strict-concurrency mode.
- No elevated privileges. Corner requests no accessibility permissions, no
screen recording, no input monitoring. Global hotkeys use Carbon's
RegisterEventHotKey(no permissions needed); the hot corner reads the cursor position only — Corner cannot see your keystrokes or your screen. - Hardened Runtime: enabled.
- App Sandbox: not yet. Documented decision: enabling it relocates the data store into a sandbox container, which requires a data migration for existing users. It is on the roadmap together with notarization; the attack surface it would mitigate is already small (no untrusted input, no network, no file access outside its own support folder).
- Code signing: releases are ad-hoc signed and not notarized yet (no paid Apple Developer account). macOS Gatekeeper will warn on first open. If this concerns you, build from source — the release workflow is reproducible (see docs/DEVELOPMENT.md) and CI builds are public in the Actions tab.
In scope: anything that could expose or corrupt user data, escalate privileges, or make Corner perform network/file activity beyond what is documented above. Out of scope: the Gatekeeper warning itself (known, documented), and issues requiring an already-compromised machine.