# tccd

Canonical page: https://vitalsmac.com/glossary/tccd

Activity Monitor glossary, Processes you will see. What is tccd on Mac?

Also: privacy permissions

**Short answer:** tccd is the macOS process that manages privacy permissions: which apps may use the camera, microphone, screen recording, your files and folders, contacts, Full Disk Access and Accessibility. TCC stands for Transparency, Consent and Control, the system behind every "would like to access" prompt.

Every time an app reaches for something protected, macOS asks tccd whether it is allowed. tccd keeps the answers in a database and shows the permission prompt when there is no answer yet. What you switch on and off in System Settings → Privacy & Security is tccd's database.

There are two instances: one for your own account and one for the system. Both are normally idle and cost almost nothing.

## Why tccd is using so much CPU

An app is asking for a permission over and over, often because it was denied and keeps trying, or because it was updated and its signature no longer matches what tccd approved. Screen recording and Accessibility permissions are the common ones.

Less often the permissions database is in a bad state after a migration or an interrupted update, and tccd keeps failing to read it.

## How to fix it

Open System Settings → Privacy & Security, find the permission the app needs, and switch it off and on again, or remove the app from the list with the minus button and let it ask again.

To reset one permission for every app, Terminal has `tccutil reset` followed by the service name, for example `tccutil reset ScreenCapture`. Apps will ask again the next time they need it.

## How to see which app keeps asking tccd

When tccd is busy, the useful question is who is asking and for what. Its own log says both.

1. Open Activity Monitor, choose View → All Processes and type `tccd` in the search field. The User column shows root for the system instance and your name for yours. Note which one has the CPU.
2. Open Terminal and run `log stream --predicate 'process == "tccd" AND eventMessage CONTAINS "AUTHREQ"'`. Press Control-C to stop.
3. Read the lines that repeat. `service=` names the permission, such as `kTCCServiceScreenCapture`, and `identifier=` names the app, such as `com.example.app`.
4. Look at `authValue=` in the result lines. `0` means denied and `2` means allowed. An app that gets `0` again and again is the loop.
5. Reset that one permission for that one app. The part of the service name after `kTCCService` is what `tccutil` expects, so `tccutil reset ScreenCapture com.example.app` clears the answer for that app alone. `tccutil reset All com.example.app` clears every permission for it.
6. Open the app again and answer its prompt, or grant the permission in System Settings → Privacy & Security.

## Normal tccd use vs a problem

Normal: near zero, with a small blip each time an app asks for something protected. Apps ask often, but most answers come from the database in a moment.

Worth looking into: tccd stays in the CPU list for minutes at a time, or a permission you granted keeps asking again. The usual causes:

- An app that was updated or re-signed, so tccd no longer sees it as the app you approved.
- An app you denied that does not stop asking.
- A permissions database that did not move over cleanly during a migration.

## Why a permission you granted does not work

Some permissions only take effect when the app starts. Screen Recording and Full Disk Access are the common ones: when you switch them on, macOS offers to quit and reopen the app. If you choose Later, the app keeps running as if it had no access until you quit it yourself.

If the switch is on and the app still cannot use the feature after a restart of the app, switch it off, remove the app from the list with the minus button, and add it again. That replaces the old record in tccd's database with one that matches the app as it is now.

## Questions people ask

### What is tccd on Mac?

The macOS process that manages privacy permissions, such as camera, microphone, screen recording and file access. It shows the permission prompts and remembers your answers.

### Why is tccd using high CPU?

Usually an app is requesting a permission repeatedly, often after an update changed its signature. Re-granting the permission in Privacy & Security, or resetting it with tccutil, stops the loop.

### Is it safe to reset privacy permissions with tccutil?

Yes. It only clears the saved answers for that permission, so apps ask again. It removes nothing else, but you will need to re-approve apps that need it.

### Can I disable tccd?

No. It is part of macOS and protected by System Integrity Protection, and without it no app could be given or refused access to your camera, microphone or files. To stop a prompt, answer it or change the app's permission in System Settings → Privacy & Security.

### Where is the TCC database on Mac?

Your own permissions are in `~/Library/Application Support/com.apple.TCC/TCC.db`, and system-wide ones are in the same path under `/Library`. macOS protects both files, so change permissions in System Settings or with `tccutil` instead of editing them.

## In Vitals

Vitals shows tccd's CPU with macOS's own processes. Vitals itself asks tccd for one optional permission, Files & Folders, to find the project folders dev servers run in.

## Related

- [syspolicyd](https://vitalsmac.com/glossary/syspolicyd)
- [trustd](https://vitalsmac.com/glossary/trustd)
- [launchd](https://vitalsmac.com/glossary/launchd)
- [% CPU](https://vitalsmac.com/glossary/cpu-percent)

Looking for something better than Activity Monitor? See [the best Activity Monitor alternatives for Mac](https://vitalsmac.com/best-activity-monitor-alternatives), or [every term in the glossary](https://vitalsmac.com/glossary).
