AppleGate does one thing: it gives you a simple macOS preferences window where you can permanently disable macOS's authoritarian gatekeeper features.
I made AppleGate because I hate macOS's authoritarian gatekeeping features, which block running applications from developers not authorized by Apple; and lie and gaslight the user by saying apps are corrupt and should be moved to the Trash when they are merely not signed by an Apple-authorized developer. I disabled Apple's Gatekeeper, but it kept turning back on automatically and silently, maybe during system updates. So I made AppleGate: a gatekeeper on the gatekeepers.
- Shows the main macOS execution gatekeeping features in one straightforward window.
- Detects the real current state of each item so the checkboxes match reality.
- Lets you disable the protections that macOS still allows a normal system to disable.
- Marks the protections we recommend leaving on.
- Warns you before disabling a protection, including the real downside and the minimal or nonexistent benefit.
- Lists protections that cannot be disabled from a normal running macOS installation.
- Re-applies your chosen settings automatically if macOS silently turns them back on later.
- Handles the usual Gatekeeper "Allow applications from: Anywhere" step without making you dig through System Settings by hand when macOS allows that path.
- It is not a general Mac utility suite.
- It is not a malware scanner.
- It is not a developer tool for people who want to think about Apple's security model all day.
It is a small finished app for people who want Apple to stop deciding what software they are allowed to run.
sh scripts/render-native-desktop.sh
sh tools/release/build-macos-app.shAppleGate is macOS-only by design.
Local packaging defaults keep checkout cruft out of the repo:
- Generated native package source:
${XDG_STATE_HOME:-$HOME/.local/state}/applegate/generated/ - SwiftPM packaging scratch:
${XDG_STATE_HOME:-$HOME/.local/state}/applegate/build/swiftpm/ - Built
.appand zip artifacts:${XDG_STATE_HOME:-$HOME/.local/state}/applegate/dist/