Security
n0tch is an early developer preview built by one person. It has not had an independent security audit. This page is plain about what it can do, which private macOS features it relies on, and how to report a problem.
Report a vulnerability
Please report problems privately, not in a public issue:
Open a private security report
Include the n0tch version, your macOS version, what you did, and what happened. Remove passwords, tokens and private data.
Permissions it asks for
| Permission | What it is used for |
|---|---|
| Accessibility | Taking over the volume and brightness keys and reading scrolling over the notch. n0tch listens only for those media keys and scroll gestures, not for typing. |
| Audio capture (optional) | Measuring system audio levels for the level meter. Off by default. Audio is not recorded. |
| Automation of Music (optional) | Favoriting the current song in Apple Music when you tap the heart. |
| Downloads folder | Showing download progress. macOS may ask to allow access. |
n0tch installs no background service and no privileged helper, and never asks for an administrator password.
Private macOS features it uses
A few things have no public API on the Mac, so n0tch uses private system interfaces. Apple can change them in any macOS update, which could stop a feature working. n0tch is built so that if one is missing, only that feature switches off.
- Now playing. A small helper library loaded into Apple's own
perlreads what is playing, because macOS no longer lets other apps do it directly. - Brightness. Read and set through the system's display services.
- Lock screen. A window is shown above the lock screen using a system window-level feature. Experimental, tested on macOS 27.
The lock screen
The lock screen record is only a picture. It cannot read what you type, does not touch Touch ID or the password field, ignores the mouse, and leaves the area around the macOS clock and sign-in field clear. You can turn it off in Settings.
Local control
The n0tch command, the Claude Code and Codex hooks and the n0tch:// link scheme all talk to the app on your own Mac. The control socket lives in a folder only your account can open and checks that the caller is your account. Messages are small and limited. A click action can only open a web link, reveal a file in Finder, or open Aether. Nothing can run a shell command.
Any program running as you can ask n0tch to show a message on the notch, the same as it could run the command itself.
Updates
n0tch can update itself. It installs an update only if the download comes from n0tch's GitHub release page, matches its published checksum, is signed by the same Apple developer team as the app already running, is notarized by Apple, has the same bundle identifier and a higher version number. Anything else is discarded. You choose when to install, and you can turn automatic checks off in Settings.
Verifying a download
Every release is signed with a Developer ID certificate and notarized by Apple. The release page lists a SHA-256 checksum for each file:
shasum -a 256 n0tch-0.1.1.dmg
Last updated 4 November 2026 for n0tch 0.1.1.