What is tccd on a Mac? The process that guards your privacy permissions
tccd decides which apps may use your camera, microphone, files and screen. Two copies ran on our Mac. How to see and reset its permissions from Terminal.
What is tccd?
tccd is the daemon for TCC, Transparency, Consent and Control. It keeps the database of which app may use your camera, microphone, contacts, files, screen and more, shows the permission prompts, and answers when an app asks. It lives in /System/Library/PrivateFrameworks/TCC.framework. Two copies ran on our Mac, one as root and one as us, at under 1.2% CPU.
How do I reset an app's permissions?
tccutil reset All com.example.app
tccutil reset ScreenCapture com.example.app
tccutil reset MicrophoneThe first clears every permission for one app, by bundle identifier; the second one kind for one app; the third one kind for every app. The app asks again next time. Removing an app does not remove its entries, so permissions outlive uninstalls; see uninstalling LICEcap for an example.
Why does an app keep asking for permission?
Usually the app changed: an update signed differently, or a copy run from a different location. TCC ties permission to the app's identity, so to macOS it is a new app. Reset its entries and grant it once more.
Full Disk Access is a TCC permission too; it is why Terminal cannot measure some folders, see du shows nothing in Library.
See it live
Free Mac's System tab ranks every process by processor use and energy impact, once a second, and marks the ones macOS will not let you quit as protected. See also syspolicyd.
Related: duetexpertd and identityservicesd.
Common questions
What is tccd on a Mac?
The macOS daemon that enforces privacy permissions such as camera, microphone, screen recording and Full Disk Access.
How do I reset privacy permissions on a Mac?
tccutil reset All <bundle id> for one app, or tccutil reset <service> for one kind of permission for every app.
Do permissions get removed when I delete an app?
No. They stay until you remove them in Privacy & Security or reset them with tccutil.