Resetting Tethering-Related Privacy Permissions on a Mac

Apple’s ill-designed and negligently implemented USB tethering permission checking is responsible for 90% of the support requests we receive these days. In this post I’ll discuss how to reset these permissions to restore access to USB connected cameras.

It is ill-designed, because: a) Instead of a single, clearly defined permission, it asks users for two seemingly unrelated ones: “Photos” and “Removable Volumes” on a Mac; “Camera” and “Files and Folders” plus a third tethering confirmation prompt on iOS. This is untidy and confusing, and people tend to deny them causing trouble down the road. b) It grossly violates the “principle of least privilege” by granting apps access to resources they have nothing to do with, and even don’t need at all.

The negligent implementation is clear from the very existence of this post, as well as a former one describing how Apple’s buggy code caused months of headache, brand damage and extra support costs last year.

Before you ask, I have reported these things to Apple countless times, even offered my help, but they continue to show zero interest in cleaning up this steaming manure pile. It wouldn’t be a problem if we weren’t forced to use Apple’s frameworks for USB communication, but we are.

The privacy permissions database itself is also a fragile component that tends to get corrupted randomly. Fortunately there’s a tool called tccutil designed to manage the database. This is a command line tool, so launch Terminal before proceeding.

First, you are advised to reset permissions for a given app. The app is specified with its “bundle id”, a unique name that identifies it for macOS.

The command to use for our ShutterCount app is:

tccutil reset All com.direstudio.ShutterCount

For ShutterCount Pro:

tccutil reset All com.direstudio.ShutterCount.pro

For Kuuvik Capture 5:

tccutil reset All com.direstudio.KuuvikCapture.5

And for earlier Kuuvik Capture versions:

tccutil reset All com.direstudio.KuuvikCapture

Everything is case sensitive, so I recommend to copy and paste the command into Terminal (and of course press Enter at the end). I also recommend disconnecting your camera and rebooting your Mac before issuing the command.

If that doesn’t help, you can try resetting the database more aggressively with:

tccutil reset All
tccutil reset Photos
tccutil reset SystemPolicyRemovableVolumes

If the reset was successful, your Mac should prompt for Photos and Removable Volumes access the next time you launch the app and connect a camera via USB.

If these steps doesn’t resolve the problem then I would suggest sending a problem report from within the app: click Report a Problem in the Help menu. Then complete and send the email. I would strongly recommend that you also complain to the party responsible for the issue: Apple, via its product feedback form.

I would like to note that Wi-Fi / Ethernet connections are not affected, because those do not rely on Apple’s code, but are handled entirely by mine.