Permissions
Gatecaster needs exactly two macOS permissions. Both are standard toggles — there is no kernel extension and no third prompt.
Accessibility
Lets Gatecaster post events: cursor moves, clicks, drags, phase-tagged scroll, keystrokes and the animated magnify/rotate gesture events that make pinch-zoom and rotate feel native.
Input Monitoring
Lets Gatecaster read the raw HID reports streaming from the touchscreen — the contacts that everything else is built from.
Grant both to the app (or to Terminal, if you launched the bare binary from there), then relaunch. macOS only applies a grant to a freshly started process.
Grants and rebuilds
macOS ties permission grants to the app’s signing identity:
- Developer ID / Apple Development signed builds keep their grants across rebuilds — the identity is stable.
- Ad-hoc signed builds change identity on every build, so macOS re-prompts. The release build script prefers a real certificate for exactly this reason.
If a previously granted app suddenly behaves as if unpermitted, remove its entry from Privacy & Security, then grant the new build and relaunch.