Is there any API for Full Disk Access in MacOS?

From this post, it is clear there was API as such to know if the FDA was granted or not. https://developer.apple.com/forums/thread/114452

But this post is 4 years old.

I tried to find one that would ease my work, but to my surprise we are still there.

So how an Application decide to know if FDA given then proceed, otherwise show a custom message/screen etc?

Apple should expose and API in Terminal, Plist, Cocoa.

Answered by DTS Engineer in 767963022

This situation hasn’t really changed. Except in very limited circumstances [1], there’s no good way to:

  • Tell if you have the Full Disk Access privilege

  • Explicitly ask for the privilege

The only recent development I can think of is that there’s now a documented way to go to the Full Disk Access editor in System Settings. Check out the info in <EndpointSecurity/ESClient.h>.

IMO APIs for this would be very helpful. If you agree, I encourage you to file an enhancement request describing your requirements.

Please post your bug number, just for the record.

Share and Enjoy

Quinn “The Eskimo!” @ Developer Technical Support @ Apple
let myEmail = "eskimo" + "1" + "@" + "apple.com"

[1] The one that springs to mind is Endpoint Security clients, which have a specific error, ES_NEW_CLIENT_RESULT_ERR_NOT_PERMITTED, which indicates that you’re missing the privilege.

Accepted Answer

This situation hasn’t really changed. Except in very limited circumstances [1], there’s no good way to:

  • Tell if you have the Full Disk Access privilege

  • Explicitly ask for the privilege

The only recent development I can think of is that there’s now a documented way to go to the Full Disk Access editor in System Settings. Check out the info in <EndpointSecurity/ESClient.h>.

IMO APIs for this would be very helpful. If you agree, I encourage you to file an enhancement request describing your requirements.

Please post your bug number, just for the record.

Share and Enjoy

Quinn “The Eskimo!” @ Developer Technical Support @ Apple
let myEmail = "eskimo" + "1" + "@" + "apple.com"

[1] The one that springs to mind is Endpoint Security clients, which have a specific error, ES_NEW_CLIENT_RESULT_ERR_NOT_PERMITTED, which indicates that you’re missing the privilege.

Is there any API for Full Disk Access in MacOS?
 
 
Q