Przykłady własnego pakietu danych Privacy Preferences Policy Control
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"><plist version="1.0"> <dict> <key>PayloadContent</key> <array> <dict> <key>PayloadDescription</key> <string>Corporate policy for Privacy preferences</string> <key>PayloadDisplayName</key> <string>Privacy Preferences Control</string> <key>PayloadIdentifier</key> <string>com.betterbag.1A2B3C4D-5E6F-7G8H-9I0J-1A2B3C4D5E6F.privacy.3C4D5E6F-9I0J-7G8H-5E6F-2B3C4D3C4D5E</string> <key>PayloadUUID</key> <string>3C4D5E6F-9I0J-7G8H-5E6F-2B3C4D3C4D5E</string> <key>PayloadType</key> <string>com.apple.TCC.configuration-profile-policy</string> <key>PayloadOrganization</key> <string>Example Org</string> <key>Services</key> <dict> <key>SystemPolicySysAdminFiles</key> <array> <dict> <key>Identifier</key> <string>com.apple.Terminal</string> <key>IdentifierType</key> <string>bundleID</string> <key>CodeRequirement</key> <string>identifier "com.apple.Terminal" and anchor apple</string> <key>Allowed</key> <true/> <key>Comment</key> <string>Allows specified apps access to some files used by system administrators. Get the CodeRequirement with 'codesign --display -r - /Applications/Utilities/Terminal.app'</string> </dict> </array> <key>SystemPolicyAllFiles</key> <array> <dict> <key>Identifier</key> <string>/usr/bin/mdutil</string> <key>IdentifierType</key> <string>path</string> <key>CodeRequirement</key> <string>identifier "com.apple.mdutil" and anchor apple</string> <key>Allowed</key> <true/> <key>Comment</key> <string>Allows specified apps access to data like Mail, Messages, Safari, Home, Time Machine backups, and certain administrative settings for all users on the Mac. Get the CodeRequirement with 'codesign --display -r - /usr/bin/mdutil'</string> </dict> </array> <key>Accessibility</key> <array> <dict> <key>Identifier</key> <string>com.betterbag.Test</string> <key>IdentifierType</key> <string>bundleID</string> <key>CodeRequirement</key> <string>... output of 'codesign --display -r - <app>' ...</string> <key>Allowed</key> <true/> <key>Comment</key> <string>Allows specified apps to control the Mac via Accessibility APIs. The CodeRequirement can be obtained via 'codesign --display -r - /Applications/ExampleTest.app'</string> </dict> </array> </dict> </dict> </array> <key>PayloadDisplayName</key> <string>Privacy Preferences Configuration Profile</string> <key>PayloadIdentifier</key> <string>com.betterbag.1A2B3C4D-5E6F-7G8H-9I0J-1A2B3C4D5E6F.privacy</string> <key>PayloadUUID</key> <string>1A2B3C4D-5E6F-7G8H-9I0J-1A2B3C4D5E6F</string> <key>PayloadType</key> <string>Configuration</string> <key>PayloadScope</key> <string>System</string> </dict></plist>
Przykład pakietu danych pozwalającego na nagrywanie ekranu przez daną aplikację
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"><plist version="1.0"> <dict> <key>PayloadDisplayName</key> <string>Privacy Preferences Configuration Profile</string> <key>PayloadUUID</key> <string>1A2B3C4D-5E6F-7G8H-9I0J-1A2B3C4D5E6F</string> <key>PayloadIdentifier</key> <string>com.betterbag.1A2B3C4D-5E6F-7G8H-9I0J-1A2B3C4D5E6F.privacy</string> <key>PayloadType</key> <string>Configuration</string> <key>PayloadScope</key> <string>System</string> <key>PayloadContent</key> <array> <dict> <key>PayloadDescription</key> <string>Corporate policy for privacy preferences</string> <key>PayloadDisplayName</key> <string>Privacy Preferences Control</string> <key>PayloadIdentifier</key> <string>com.betterbag.1A2B3C4D-5E6F-7G8H-9I0J-1A2B3C4D5E6F.privacy.3C4D5E6F-9I0J-7G8H-5E6F-2B3C4D3C4D5E</string> <key>PayloadUUID</key> <string>3C4D5E6F-9I0J-7G8H-5E6F-2B3C4D3C4D5E</string> <key>PayloadType</key> <string>com.apple.TCC.configuration-profile-policy</string> <key>PayloadOrganization</key> <string>Example Org</string> <key>Services</key> <dict> <key>ListenEvent</key> <array> <dict> <key>Identifier</key> <string>com.apple.Terminal</string> <key>IdentifierType</key> <string>bundleID</string> <key>CodeRequirement</key> <string>identifier "com.apple.Terminal" and anchor apple</string> <key>Authorization</key> <string>AllowStandardUserToSetSystemService</string> <key>Comment</key> <string>Test: after installing the profile, open Terminal.app and run 'ls ~/Library/Application Support/com.apple.TCC'. If ls returns a directory listing and exits with 0, this override is working. Without the override, ls should return "Operation not permitted" and exit with non-zero.</string> </dict> </array> <key>ScreenCapture</key> <array> <dict> <key>Identifier</key> <string>com.apple.Terminal</string> <key>IdentifierType</key> <string>bundleID</string> <key>CodeRequirement</key> <string>identifier "com.apple.Terminal" and anchor apple</string> <key>Authorization</key> <string>AllowStandardUserToSetSystemService</string> </dict> </array> <key>ScreenCapture</key> <array> <dict> <key>Identifier</key> <string>com.apple.Terminal</string> <key>IdentifierType</key> <string>bundleID</string> <key>CodeRequirement</key> <string>identifier "com.apple.Terminal" and anchor apple</string> <key>Authorization</key> <string>AllowStandardUserToSetSystemService</string> <key>Comment</key> <string>Test: Install this profile and log in as a standard (non-administrator) user. Open Terminal.app and run 'screencapture -c'. You should receive a prompt that says '"Terminal" would like to record this computer's screen'. Click "Open System Settings". You should see an entry for Terminal in the Screen Recording preferences that you can modify even though you are not an administrator.</string> </dict> </array> </dict> </dict> </array> </dict></plist>