Skip to main content

Why macOS asks tty7 for permission

Panes are forked from tty7’s own bundled executable, so when a program you run asks macOS for a protected resource, macOS attributes the request to tty7.app — not to the program. If tty7 declared no usage strings, that request would be denied outright with no prompt at all, and the program would look broken for no visible reason. So tty7 declares the matching usage strings, and you get the normal one-time prompt:

Devices

Camera · microphone · Bluetooth · location · motion

Personal data

Contacts · calendars · reminders · photo library

System

Local network · Apple Events · speech recognition · system administration
Declaring a usage string is not the same as holding the permission. tty7.app itself is granted none of these. Every prompt you see belongs to whatever you ran in the pane, and you can revoke it under System Settings → Privacy & Security.

Full Disk Access

Apple defines no usage-string key for it. Reaching ~/Library/Mail, ~/Library/Messages, ~/Library/Safari, or ~/Library/Containers needs a manual grant in System Settings → Privacy & Security → Full Disk Access.

What leaves your machine

All of the above honour http_proxy. Updates → The GitHub tab stores no credential of its own. It asks GH_TOKEN, GITHUB_TOKEN or gh auth token each time it connects, keeps the answer in memory only, and never writes it to disk or to the log. Images in issue and pull request text are fetched only when GitHub hosts them (screenshots pasted into an issue, *.githubusercontent.com); any other image is shown as a link, so opening an issue does not tell a third-party image host that you read it. The GitHub tab →

What is stored, and where