authorization.plist   [plain text]


<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
	<key>comment</key>
	<string>The name of the requested right is matched against the keys.  An exact match has priority, otherwise the longest match from the start is used.	Note that the right will only match wildcard rules (ending in a ".") during this reduction.

allow rule: this is always allowed
&lt;key&gt;com.apple.TestApp.benign&lt;/key&gt;
&lt;string&gt;allow&lt;/string&gt;

deny rule: this is always denied
&lt;key&gt;com.apple.TestApp.dangerous&lt;/key&gt;
&lt;string&gt;deny&lt;/string&gt;

user rule: successful authentication as a user in the specified group(5) allows the associated right.

The shared property specifies whether a credential generated on success is shared with other apps (i.e., those in the same "session"). This property defaults to false if not specified.

The timeout property specifies the maximum age of a (cached/shared) credential accepted for this rule.

The allow-root property specifies whether a right should be allowed automatically if the requesting process is running with uid == 0.  This defaults to false if not specified.

See remaining rules for examples.
</string>
	<key>rights</key>
	<dict>
		<key></key>
		<dict>
			<key>class</key>
			<string>rule</string>
			<key>comment</key>
			<string>Matches otherwise unmatched rights (i.e., is a default).</string>
			<key>rule</key>
			<string>default</string>
		</dict>
		<key>com.apple.</key>
		<dict>
			<key>rule</key>
			<string>default</string>
		</dict>
		<key>com.apple.AOSNotification.FindMyMac.modify</key>
		<dict>
			<key>allow-root</key>
			<true/>
			<key>class</key>
			<string>rule</string>
			<key>k-of-n</key>
			<integer>1</integer>
			<key>rule</key>
			<array>
				<string>is-root</string>
				<string>is-admin</string>
				<string>default</string>
			</array>
		</dict>
		<key>com.apple.AOSNotification.FindMyMac.remove</key>
		<dict>
			<key>allow-root</key>
			<true/>
			<key>class</key>
			<string>user</string>
			<key>group</key>
			<string>admin</string>
		</dict>
		<key>com.apple.DiskManagement.</key>
		<dict>
			<key>class</key>
			<string>rule</string>
			<key>comment</key>
			<string>Used by diskmanagementd to allow access to its privileged functions</string>
			<key>k-of-n</key>
			<integer>1</integer>
			<key>rule</key>
			<array>
				<string>is-root</string>
				<string>is-admin</string>
				<string>on-console</string>
				<string>default</string>
			</array>
		</dict>
		<key>com.apple.DiskManagement.internal.</key>
		<dict>
			<key>class</key>
			<string>rule</string>
			<key>comment</key>
			<string>Used by diskmanagementd to allow access to its privileged functions</string>
			<key>k-of-n</key>
			<integer>1</integer>
			<key>rule</key>
			<array>
				<string>is-root</string>
				<string>is-admin</string>
				<string>default</string>
			</array>
		</dict>
		<key>com.apple.DiskManagement.reserveKEK</key>
		<dict>
			<key>allow-root</key>
			<true/>
			<key>class</key>
			<string>user</string>
			<key>comment</key>
			<string>Used by diskmanagementd to allow use of the reserve KEK.</string>
			<key>group</key>
			<string>admin</string>
			<key>shared</key>
			<false/>
		</dict>
		<key>com.apple.KerberosAgent</key>
		<dict>
			<key>class</key>
			<string>evaluate-mechanisms</string>
			<key>comment</key>
			<string>Used to acquire Kerberos credentials.</string>
			<key>mechanisms</key>
			<array>
				<string>KerberosAgent:kerberos-dialog</string>
				<string>KerberosAgent:kerberos-authenticate,privileged</string>
			</array>
		</dict>
		<key>com.apple.OpenScripting.additions.send</key>
		<dict>
			<key>allow-root</key>
			<true/>
			<key>class</key>
			<string>user</string>
			<key>comment</key>
			<string>Used to send restricted scripting addition commands to processes that require authorization to handle the events.</string>
			<key>group</key>
			<string>admin</string>
		</dict>
		<key>com.apple.ReportPanic.fixRight</key>
		<dict>
			<key>allow-root</key>
			<true/>
			<key>authenticate-user</key>
			<true/>
			<key>class</key>
			<string>user</string>
			<key>group</key>
			<string>admin</string>
			<key>require-apple-signed</key>
			<true/>
			<key>shared</key>
			<false/>
			<key>timeout</key>
			<integer>10</integer>
		</dict>
		<key>com.apple.Safari.parental-controls</key>
		<dict>
			<key>allow-root</key>
			<true/>
			<key>class</key>
			<string>rule</string>
			<key>comment</key>
			<string>Checked when changing parental controls for Safari.</string>
			<key>k-of-n</key>
			<integer>1</integer>
			<key>rule</key>
			<array>
				<string>is-admin</string>
				<string>authenticate-admin</string>
			</array>
			<key>shared</key>
			<false/>
			<key>timeout</key>
			<integer>60</integer>
		</dict>
		<key>com.apple.Safari.show-credit-card-numbers</key>
		<dict>
			<key>class</key>
			<string>user</string>
			<key>comment</key>
			<string>This right is used by Safari to show credit card numbers.</string>
			<key>session-owner</key>
			<true/>
			<key>shared</key>
			<false/>
			<key>timeout</key>
			<integer>10</integer>
		</dict>
		<key>com.apple.Safari.show-passwords</key>
		<dict>
			<key>class</key>
			<string>user</string>
			<key>comment</key>
			<string>This right is used by Safari to show passwords.</string>
			<key>session-owner</key>
			<true/>
			<key>shared</key>
			<false/>
			<key>timeout</key>
			<integer>10</integer>
		</dict>
		<key>com.apple.Safari.install-ephemeral-extensions</key>
		<dict>
			<key>class</key>
			<string>user</string>
			<key>comment</key>
			<string>This is the right used by Safari to install an ephemeral extension without a developer certificate present.</string>
			<key>session-owner</key>
			<true/>
			<key>shared</key>
			<false/>
			<key>timeout</key>
			<integer>0</integer>
		</dict>
        <key>com.apple.Safari.allow-apple-events-to-run-javascript</key>
        <dict>
            <key>class</key>
            <string>user</string>
            <key>comment</key>
            <string>This right is used by Safari to allow Apple Events to run JavaScript on web pages.</string>
            <key>session-owner</key>
            <true/>
            <key>shared</key>
            <false/>
        </dict>
        <key>com.apple.Safari.allow-unsigned-app-extensions</key>
        <dict>
            <key>class</key>
            <string>user</string>
            <key>comment</key>
            <string>This right is used by Safari to allow unsigned extensions in the Develop Menu.</string>
            <key>session-owner</key>
            <true/>
            <key>shared</key>
            <false/>
        </dict>
        <key>com.apple.Safari.allow-javascript-in-smart-search-field</key>
        <dict>
            <key>class</key>
            <string>user</string>
            <key>comment</key>
            <string>This right is used by Safari to allow JavaScript to be used in the Smart Search Field.</string>
            <key>session-owner</key>
            <true/>
            <key>shared</key>
            <false/>
        </dict>
		<key>com.apple.ServiceManagement.blesshelper</key>
		<dict>
			<key>allow-root</key>
			<true/>
			<key>class</key>
			<string>user</string>
			<key>comment</key>
			<string>Used by the ServiceManagement framework to add a privileged helper tool to the system launchd.</string>
			<key>group</key>
			<string>admin</string>
			<key>timeout</key>
			<integer>30</integer>
			<key>version</key>
			<integer>1</integer>
		</dict>
		<key>com.apple.ServiceManagement.daemons.modify</key>
		<dict>
			<key>class</key>
			<string>rule</string>
			<key>comment</key>
			<string>Used by the ServiceManagement framework to make changes to the system launchd's set of daemons.</string>
			<key>k-of-n</key>
			<integer>1</integer>
			<key>rule</key>
			<array>
				<string>is-root</string>
				<string>entitled-admin-or-authenticate-admin-nonshared</string>
			</array>
			<key>version</key>
			<integer>1</integer>
		</dict>
		<key>com.apple.SoftwareUpdate.modify-settings</key>
		<dict>
			<key>class</key>
			<string>rule</string>
			<key>comment</key>
			<string>Checked by the Admin framework when making changes to the Software Update preference pane.</string>
			<key>rule</key>
			<string>root-or-entitled-admin-or-app-specific-admin</string>
		</dict>
		<key>com.apple.SoftwareUpdate.scan</key>
		<dict>
			<key>class</key>
			<string>rule</string>
			<key>comment</key>
			<string>Checked when user is updating software.</string>
			<key>rule</key>
			<string>root-or-entitled-admin-or-authenticate-admin</string>
		</dict>
		<key>com.apple.XType.fontmover.install</key>
		<dict>
			<key>allow-root</key>
			<true/>
			<key>class</key>
			<string>user</string>
			<key>group</key>
			<string>admin</string>
			<key>shared</key>
			<true/>
			<key>timeout</key>
			<integer>300</integer>
		</dict>
		<key>com.apple.XType.fontmover.remove</key>
		<dict>
			<key>allow-root</key>
			<true/>
			<key>class</key>
			<string>user</string>
			<key>group</key>
			<string>admin</string>
			<key>shared</key>
			<true/>
			<key>timeout</key>
			<integer>300</integer>
		</dict>
		<key>com.apple.XType.fontmover.restore</key>
		<dict>
			<key>class</key>
			<string>rule</string>
			<key>rule</key>
			<string>root-or-entitled-admin-or-authenticate-admin</string>
		</dict>
		<key>com.apple.activitymonitor.kill</key>
		<dict>
			<key>class</key>
			<string>rule</string>
			<key>comment</key>
			<string>Used by Activity Monitor to authorize killing processes not owned by the user.</string>
			<key>rule</key>
			<string>entitled-admin-or-authenticate-admin</string>
			<key>shared</key>
			<false/>
			<key>timeout</key>
			<integer>0</integer>
		</dict>
		<key>com.apple.appserver.privilege.admin</key>
		<dict>
			<key>class</key>
			<string>rule</string>
			<key>comment</key>
			<string>For administrative access to the Application Server management tool.</string>
			<key>rule</key>
			<string>appserver-admin</string>
		</dict>
		<key>com.apple.appserver.privilege.user</key>
		<dict>
			<key>class</key>
			<string>rule</string>
			<key>comment</key>
			<string>For user access to the Application Server management tool.</string>
			<key>k-of-n</key>
			<integer>1</integer>
			<key>rule</key>
			<array>
				<string>appserver-admin</string>
				<string>appserver-user</string>
			</array>
		</dict>
		<key>com.apple.builtin.confirm-access</key>
		<dict>
			<key>class</key>
			<string>evaluate-mechanisms</string>
			<key>mechanisms</key>
			<array>
				<string>builtin:confirm-access</string>
			</array>
			<key>tries</key>
			<integer>1</integer>
		</dict>
		<key>com.apple.builtin.confirm-access-password</key>
		<dict>
			<key>class</key>
			<string>evaluate-mechanisms</string>
			<key>mechanisms</key>
			<array>
				<string>builtin:confirm-access-password</string>
			</array>
		</dict>
		<key>com.apple.builtin.generic-new-passphrase</key>
		<dict>
			<key>class</key>
			<string>evaluate-mechanisms</string>
			<key>mechanisms</key>
			<array>
				<string>builtin:generic-new-passphrase</string>
			</array>
		</dict>
		<key>com.apple.builtin.generic-unlock</key>
		<dict>
			<key>class</key>
			<string>evaluate-mechanisms</string>
			<key>mechanisms</key>
			<array>
				<string>builtin:generic-unlock</string>
			</array>
		</dict>
		<key>com.apple.builtin.sc-kc-new-passphrase</key>
		<dict>
			<key>class</key>
			<string>evaluate-mechanisms</string>
			<key>mechanisms</key>
			<array>
				<string>builtin:generic-new-passphrase</string>
			</array>
		</dict>
		<key>com.apple.container-repair</key>
		<dict>
			<key>class</key>
			<string>user</string>
			<key>group</key>
			<string>admin</string>
			<key>shared</key>
			<false/>
			<key>timeout</key>
			<integer>30</integer>
		</dict>
		<key>com.apple.dashboard.advisory.allow</key>
		<dict>
			<key>class</key>
			<string>user</string>
			<key>group</key>
			<string>admin</string>
			<key>shared</key>
			<false/>
			<key>timeout</key>
			<integer>300</integer>
		</dict>
		<key>com.apple.desktopservices</key>
		<dict>
			<key>class</key>
			<string>user</string>
			<key>comment</key>
			<string>For privileged file operations from within the Finder.</string>
			<key>group</key>
			<string>admin</string>
			<key>shared</key>
			<false/>
			<key>timeout</key>
			<integer>0</integer>
		</dict>
		<key>com.apple.desktopservices.scripted</key>
		<dict>
			<key>class</key>
			<string>user</string>
			<key>comment</key>
			<string>For scripting-initiated privileged file operations from within the Finder.</string>
			<key>group</key>
			<string>admin</string>
			<key>shared</key>
			<false/>
			<key>timeout</key>
			<integer>0</integer>
		</dict>
		<key>com.apple.docset.install</key>
		<dict>
			<key>class</key>
			<string>user</string>
			<key>comment</key>
			<string>Used by Xcode to restrict access to a daemon it uses to install and update documentation sets.</string>
			<key>group</key>
			<string>admin</string>
			<key>shared</key>
			<false/>
		</dict>
		<key>com.apple.iBooksX.ParentalControl</key>
		<dict>
			<key>class</key>
			<string>user</string>
			<key>comment</key>
			<string>Checked when making changes to the Parental Controls for iBooks.</string>
			<key>group</key>
			<string>admin</string>
			<key>shared</key>
			<false/>
		</dict>
		<key>com.apple.icloud.passwordreset</key>
		<dict>
			<key>class</key>
			<string>user</string>
			<key>comment</key>
			<string>Authenticate as the session owner to reset iCloud password</string>
			<key>session-owner</key>
			<true/>
			<key>timeout</key>
			<integer>0</integer>
			<key>password-only</key>
			<true/>
			<key>version</key>
			<integer>1</integer>
		</dict>
		<key>com.apple.library-repair</key>
		<dict>
			<key>class</key>
			<string>user</string>
			<key>group</key>
			<string>admin</string>
		</dict>
		<key>com.apple.lldb.LaunchUsingXPC</key>
		<dict>
			<key>class</key>
			<string>user</string>
			<key>group</key>
			<string>admin</string>
		</dict>
		<key>com.apple.opendirectoryd.linkidentity</key>
		<dict>
			<key>class</key>
			<string>rule</string>
			<key>rule</key>
			<string>entitled-session-owner-or-authenticate-session-owner</string>
		</dict>
		<key>com.apple.ctk.pair</key>
		<dict>
			<key>class</key>
			<string>rule</string>
			<key>rule</key>
			<string>kcunlock</string>
		</dict>
		<key>com.apple.ctkbind.admin</key>
		<dict>
			<key>class</key>
			<string>user</string>
			<key>group</key>
			<string>admin</string>
			<key>shared</key>
			<false/>
		</dict>
		<key>com.apple.pf.rule</key>
		<dict>
			<key>authenticate-user</key>
			<true/>
			<key>class</key>
			<string>user</string>
			<key>group</key>
			<string>admin</string>
			<key>timeout</key>
			<integer>0</integer>
		</dict>
		<key>com.apple.security.assessment.update</key>
		<dict>
			<key>class</key>
			<string>rule</string>
			<key>rule</key>
			<string>root-or-entitled-admin-or-authenticate-admin</string>
		</dict>
		<key>com.apple.server.admin.streaming</key>
		<dict>
			<key>allow-root</key>
			<true/>
			<key>class</key>
			<string>rule</string>
			<key>comment</key>
			<string>For making administrative requests to the QuickTime Streaming Server.</string>
			<key>k-of-n</key>
			<integer>1</integer>
			<key>rule</key>
			<array>
				<string>is-admin</string>
				<string>authenticate-admin</string>
			</array>
			<key>shared</key>
			<false/>
			<key>timeout</key>
			<integer>0</integer>
		</dict>
		<key>com.apple.trust-settings.admin</key>
		<dict>
			<key>allow-root</key>
			<true/>
			<key>class</key>
			<string>user</string>
			<key>comment</key>
			<string>For modifying Trust Settings in the Local Admin domain.</string>
			<key>group</key>
			<string>admin</string>
		</dict>
		<key>com.apple.trust-settings.user</key>
		<dict>
			<key>comment</key>
			<string>For modifying per-user Trust Settings.</string>
			<key>rule</key>
			<string>entitled-session-owner-or-authenticate-session-owner</string>
		</dict>
		<key>com.apple.uninstalld.uninstall</key>
		<dict>
			<key>class</key>
			<string>rule</string>
			<key>rule</key>
			<string>entitled-admin-or-authenticate-admin</string>
		</dict>
		<key>config.add.</key>
		<dict>
			<key>class</key>
			<string>allow</string>
			<key>comment</key>
			<string>Wildcard right for adding rights.  Anyone is allowed to add any (non-wildcard) rights.</string>
		</dict>
		<key>config.config.</key>
		<dict>
			<key>class</key>
			<string>deny</string>
			<key>comment</key>
			<string>Wildcard right for any change to meta-rights for db modification.  Not allowed programmatically (just edit this file).</string>
		</dict>
		<key>config.modify.</key>
		<dict>
			<key>class</key>
			<string>rule</string>
			<key>comment</key>
			<string>Wildcard right for modifying rights.  Admins are allowed to modify any (non-wildcard) rights.  Root does not require authentication.</string>
			<key>k-of-n</key>
			<integer>1</integer>
			<key>rule</key>
			<array>
				<string>is-root</string>
				<string>authenticate-admin</string>
			</array>
		</dict>
		<key>config.remove.</key>
		<dict>
			<key>class</key>
			<string>rule</string>
			<key>comment</key>
			<string>Wildcard right for deleting rights.  Admins are allowed to delete any (non-wildcard) rights.  Root does not require authentication.</string>
			<key>k-of-n</key>
			<integer>1</integer>
			<key>rule</key>
			<array>
				<string>is-root</string>
				<string>authenticate-admin</string>
			</array>
		</dict>
		<key>config.remove.system.</key>
		<dict>
			<key>class</key>
			<string>deny</string>
			<key>comment</key>
			<string>Wildcard right for deleting system rights.</string>
		</dict>
		<key>sys.openfile.</key>
		<dict>
			<key>class</key>
			<string>user</string>
			<key>comment</key>
			<string>See authopen(1) for information on the use of this right.</string>
			<key>group</key>
			<string>admin</string>
			<key>shared</key>
			<false/>
			<key>timeout</key>
			<integer>300</integer>
		</dict>
		<key>system.</key>
		<dict>
			<key>rule</key>
			<string>default</string>
		</dict>
		<key>system.burn</key>
		<dict>
			<key>class</key>
			<string>allow</string>
			<key>comment</key>
			<string>For burning media.</string>
		</dict>
		<key>system.csfde.requestpassword</key>
		<dict>
			<key>class</key>
			<string>rule</string>
			<key>comment</key>
			<string>Used by CoreStorage Full Disk Encryption to request the user's password.</string>
			<key>rule</key>
			<array>
				<string>authenticate-admin-or-staff-extract</string>
			</array>
			<key>version</key>
			<integer>1</integer>
		</dict>
		<key>system.device.dvd.setregion.initial</key>
		<dict>
			<key>class</key>
			<string>user</string>
			<key>comment</key>
			<string>Used by the DVD player to set the region code the first time.  Note that changing the region code after it has been set requires a different right (system.device.dvd.setregion.change).</string>
			<key>group</key>
			<string>admin</string>
			<key>shared</key>
			<true/>
		</dict>
		<key>system.disk.unlock</key>
		<dict>
			<key>class</key>
			<string>evaluate-mechanisms</string>
			<key>comment</key>
			<string>Do not modify.</string>
			<key>mechanisms</key>
			<array>
				<string>DiskUnlock:prompt</string>
				<string>DiskUnlock:unlock,privileged</string>
			</array>
		</dict>
		<key>system.global-login-items.</key>
		<dict>
			<key>class</key>
			<string>rule</string>
			<key>k-of-n</key>
			<integer>1</integer>
			<key>rule</key>
			<array>
				<string>default</string>
			</array>
			<key>version</key>
			<integer>1</integer>
		</dict>
		<key>system.hdd.smart</key>
		<dict>
			<key>class</key>
			<string>allow</string>
			<key>comment</key>
			<string>For modifying SMART settings.</string>
		</dict>
		<key>system.identity.write.</key>
		<dict>
			<key>class</key>
			<string>rule</string>
			<key>comment</key>
			<string>For creating, changing or deleting local user accounts and groups.</string>
			<key>k-of-n</key>
			<integer>1</integer>
			<key>rule</key>
			<array>
				<string>is-admin</string>
				<string>authenticate-admin</string>
			</array>
		</dict>
		<key>system.identity.write.credential</key>
		<dict>
			<key>class</key>
			<string>rule</string>
			<key>comment</key>
			<string>Checked when changing authentication credentials (password or certificate) for a local user account.</string>
			<key>rule</key>
			<string>default</string>
		</dict>
		<key>system.identity.write.self</key>
		<dict>
			<key>authenticate-user</key>
			<false/>
			<key>class</key>
			<string>user</string>
			<key>comment</key>
			<string>Checked when changing authentication credentials (password or certificate) for the current user's account.</string>
			<key>session-owner</key>
			<true/>
		</dict>
		<key>system.install.app-store-software</key>
		<dict>
			<key>class</key>
			<string>rule</string>
			<key>comment</key>
			<string>Checked when user is installing software from the App Store.</string>
			<key>rule</key>
			<string>entitled-appstore-or-entitled-authenticate-appstore</string>
		</dict>
		<key>system.install.app-store-software.standard-user</key>
		<dict>
			<key>authenticate-user</key>
			<true/>
			<key>class</key>
			<string>user</string>
			<key>comment</key>
			<string>Checked when user is installing new software.</string>
			<key>entitled</key>
			<true/>
			<key>group</key>
			<string>admin</string>
			<key>timeout</key>
			<integer>10</integer>
		</dict>
		<key>system.install.software.mdm-provided</key>
		<dict>
			<key>allow-root</key>
			<true/>
			<key>version</key>
			<integer>1</integer>
			<key>class</key>
			<string>rule</string>
			<key>rule</key>
			<string>entitled</string>
		</dict>
		<key>system.install.apple-config-data</key>
		<dict>
			<key>allow-root</key>
			<true/>
			<key>class</key>
			<string>rule</string>
			<key>rule</key>
			<string>entitled</string>
		</dict>
		<key>system.install.apple-software</key>
		<dict>
			<key>class</key>
			<string>rule</string>
			<key>comment</key>
			<string>Checked when user is installing Apple-provided software.</string>
			<key>rule</key>
			<string>root-or-entitled-admin-or-authenticate-admin</string>
		</dict>
		<key>system.install.apple-software.standard-user</key>
		<dict>
			<key>authenticate-user</key>
			<true/>
			<key>class</key>
			<string>user</string>
			<key>comment</key>
			<string>Checked when user is installing new software.</string>
			<key>entitled</key>
			<true/>
			<key>group</key>
			<string>admin</string>
			<key>timeout</key>
			<integer>10</integer>
		</dict>
		<key>system.install.software</key>
		<dict>
			<key>allow-root</key>
			<true/>
			<key>class</key>
			<string>user</string>
			<key>comment</key>
			<string>Checked when user is installing new software.</string>
			<key>group</key>
			<string>admin</string>
			<key>shared</key>
			<false/>
			<key>timeout</key>
			<integer>300</integer>
		</dict>
		<key>system.install.software.iap</key>
		<dict>
			<key>allow-root</key>
			<true/>
			<key>authenticate-user</key>
			<false/>
			<key>class</key>
			<string>user</string>
			<key>entitled</key>
			<true/>
		</dict>
		<key>system.keychain.create.loginkc</key>
		<dict>
			<key>allow-root</key>
			<false/>
			<key>class</key>
			<string>evaluate-mechanisms</string>
			<key>comment</key>
			<string>Used by the Security framework when you add an item to an unconfigured default keychain.</string>
			<key>mechanisms</key>
			<array>
				<string>loginKC:queryCreate</string>
				<string>loginKC:showPasswordUI</string>
			</array>
			<key>version</key>
			<integer>1</integer>
			<key>session-owner</key>
			<true/>
			<key>shared</key>
			<false/>
		</dict>
		<key>system.keychain.modify</key>
		<dict>
			<key>class</key>
			<string>user</string>
			<key>comment</key>
			<string>Used by Keychain Access when editing a system keychain.</string>
			<key>group</key>
			<string>admin</string>
			<key>shared</key>
			<true/>
			<key>timeout</key>
			<integer>30</integer>
		</dict>
		<key>system.login.console</key>
		<dict>
			<key>class</key>
			<string>evaluate-mechanisms</string>
			<key>comment</key>
			<string>Login mechanism based rule.  Not for general use, yet.</string>
			<key>mechanisms</key>
			<array>
				<string>builtin:policy-banner</string>
				<string>loginwindow:login</string>
				<string>builtin:login-begin</string>
				<string>builtin:reset-password,privileged</string>
				<string>loginwindow:FDESupport,privileged</string>
				<string>builtin:forward-login,privileged</string>
				<string>builtin:auto-login,privileged</string>
				<string>builtin:authenticate,privileged</string>
				<string>PKINITMechanism:auth,privileged</string>
				<string>builtin:login-success</string>
				<string>loginwindow:success</string>
				<string>HomeDirMechanism:login,privileged</string>
				<string>HomeDirMechanism:status</string>
				<string>MCXMechanism:login</string>
				<string>CryptoTokenKit:login</string>
				<string>loginwindow:done</string>
			</array>
			<key>version</key>
			<integer>7</integer>
		</dict>
		<key>system.login.fus</key>
		<dict>
			<key>class</key>
			<string>evaluate-mechanisms</string>
			<key>comment</key>
			<string>Login mechanism based rule.  Not for general use, yet.</string>
			<key>mechanisms</key>
			<array>
				<string>builtin:smartcard-sniffer,privileged</string>
				<string>loginwindow:login</string>
				<string>builtin:reset-password,privileged</string>
				<string>builtin:auto-login,privileged</string>
				<string>builtin:authenticate-nocred,privileged</string>
				<string>loginwindow:success</string>
				<string>loginwindow:done</string>
			</array>
			<key>version</key>
			<integer>1</integer>
		</dict>
		<key>system.login.done</key>
		<dict>
			<key>class</key>
			<string>evaluate-mechanisms</string>
			<key>mechanisms</key>
			<array/>
		</dict>
		<key>system.login.screensaver</key>
		<dict>
			<key>class</key>
			<string>rule</string>
			<key>comment</key>
			<string>The owner or any administrator can unlock the screensaver, set rule to "authenticate-session-owner-or-admin" to enable SecurityAgent.</string>
			<key>rule</key>
			<string>use-login-window-ui</string>
			<key>version</key>
			<integer>1</integer>
		</dict>
		<key>system.login.tty</key>
		<dict>
			<key>class</key>
			<string>rule</string>
			<key>rule</key>
			<array>
				<string>default</string>
			</array>
			<key>version</key>
			<integer>1</integer>
		</dict>
		<key>system.preferences</key>
		<dict>
			<key>allow-root</key>
			<true/>
			<key>class</key>
			<string>user</string>
			<key>comment</key>
			<string>Checked by the Admin framework when making changes to certain System Preferences.</string>
			<key>group</key>
			<string>admin</string>
			<key>shared</key>
			<true/>
		</dict>
		<key>system.preferences.accessibility</key>
		<dict>
			<key>class</key>
			<string>user</string>
			<key>comment</key>
			<string>Checked when making changes to the Accessibility Preferences.</string>
			<key>group</key>
			<string>admin</string>
			<key>shared</key>
			<false/>
			<key>timeout</key>
			<integer>0</integer>
		</dict>
		<key>system.preferences.accounts</key>
		<dict>
			<key>allow-root</key>
			<true/>
			<key>class</key>
			<string>user</string>
			<key>comment</key>
			<string>Checked by the Admin framework when making changes to the Users &amp; Groups preference pane.</string>
			<key>group</key>
			<string>admin</string>
			<key>shared</key>
			<false/>
		</dict>
		<key>system.preferences.datetime</key>
		<dict>
			<key>allow-root</key>
			<true/>
			<key>class</key>
			<string>user</string>
			<key>comment</key>
			<string>Checked by the Admin framework when making changes to the Date &amp; Time preference pane.</string>
			<key>group</key>
			<string>admin</string>
			<key>shared</key>
			<false/>
			<key>version</key>
			<integer>1</integer>
		</dict>
		<key>system.preferences.energysaver</key>
		<dict>
			<key>allow-root</key>
			<true/>
			<key>class</key>
			<string>user</string>
			<key>comment</key>
			<string>Checked by the Admin framework when making changes to the Energy Saver preference pane.</string>
			<key>group</key>
			<string>admin</string>
			<key>shared</key>
			<true/>
		</dict>
		<key>system.preferences.location</key>
		<dict>
			<key>class</key>
			<string>rule</string>
			<key>comment</key>
			<string>For changing the network location from the Apple menu.</string>
			<key>k-of-n</key>
			<integer>1</integer>
			<key>rule</key>
			<array>
				<string>on-console</string>
				<string>is-admin</string>
				<string>is-root</string>
			</array>
		</dict>
		<key>system.preferences.network</key>
		<dict>
			<key>allow-root</key>
			<true/>
			<key>class</key>
			<string>user</string>
			<key>comment</key>
			<string>Checked by the Admin framework when making changes to the Network preference pane.</string>
			<key>group</key>
			<string>admin</string>
			<key>shared</key>
			<true/>
		</dict>
		<key>system.preferences.nvram</key>
		<dict>
			<key>class</key>
			<string>rule</string>
			<key>k-of-n</key>
			<integer>1</integer>
			<key>rule</key>
			<array>
				<string>entitled</string>
				<string>admin</string>
			</array>
		</dict>
		<key>system.preferences.parental-controls</key>
		<dict>
			<key>class</key>
			<string>user</string>
			<key>comment</key>
			<string>Checked when making changes to the Parental Controls preference pane.</string>
			<key>group</key>
			<string>admin</string>
			<key>shared</key>
			<false/>
		</dict>
		<key>system.preferences.printing</key>
		<dict>
			<key>allow-root</key>
			<true/>
			<key>class</key>
			<string>user</string>
			<key>comment</key>
			<string>Checked by the Admin framework when making changes to the Printing preference pane.</string>
			<key>group</key>
			<string>admin</string>
			<key>shared</key>
			<true/>
		</dict>
		<key>system.preferences.security</key>
		<dict>
			<key>allow-root</key>
			<true/>
			<key>class</key>
			<string>user</string>
			<key>comment</key>
			<string>Checked by the Admin framework when making changes to the Security preference pane.</string>
			<key>group</key>
			<string>admin</string>
			<key>shared</key>
			<false/>
		</dict>
		<key>system.preferences.security.remotepair</key>
		<dict>
			<key>class</key>
			<string>user</string>
			<key>comment</key>
			<string>Used by Bezel Services to gate IR remote pairing.</string>
			<key>entitled-group</key>
			<true/>
			<key>group</key>
			<string>admin</string>
			<key>shared</key>
			<true/>
			<key>timeout</key>
			<integer>30</integer>
			<key>version</key>
			<integer>1</integer>
		</dict>
		<key>system.preferences.sharing</key>
		<dict>
			<key>allow-root</key>
			<true/>
			<key>class</key>
			<string>user</string>
			<key>comment</key>
			<string>Checked by the Admin framework when making changes to the Sharing preference pane.</string>
			<key>group</key>
			<string>admin</string>
			<key>shared</key>
			<true/>
		</dict>
		<key>system.preferences.softwareupdate</key>
		<dict>
			<key>allow-root</key>
			<true/>
			<key>class</key>
			<string>user</string>
			<key>comment</key>
			<string>Checked by the Admin framework when making changes to the Software Update preference pane.</string>
			<key>group</key>
			<string>admin</string>
			<key>shared</key>
			<true/>
		</dict>
		<key>system.preferences.startupdisk</key>
		<dict>
			<key>allow-root</key>
			<true/>
			<key>class</key>
			<string>user</string>
			<key>comment</key>
			<string>Checked by the Admin framework when making changes to the Startup Disk preference pane.</string>
			<key>group</key>
			<string>admin</string>
			<key>shared</key>
			<false/>
			<key>version</key>
			<integer>1</integer>
		</dict>
		<key>system.preferences.timemachine</key>
		<dict>
			<key>allow-root</key>
			<true/>
			<key>class</key>
			<string>user</string>
			<key>comment</key>
			<string>Checked by the Admin framework when making changes to the Time Machine preference pane.</string>
			<key>group</key>
			<string>admin</string>
			<key>shared</key>
			<true/>
		</dict>
		<key>system.preferences.version-cue</key>
		<dict>
			<key>class</key>
			<string>rule</string>
			<key>comment</key>
			<string>For gating modifications to Adobe Version Cue preferences.</string>
			<key>rule</key>
			<string>authenticate-admin</string>
		</dict>
		<key>system.print.admin</key>
		<dict>
			<key>class</key>
			<string>rule</string>
			<key>rule</key>
			<string>root-or-lpadmin</string>
		</dict>
		<key>system.print.operator</key>
		<dict>
			<key>allow-root</key>
			<true/>
			<key>class</key>
			<string>user</string>
			<key>group</key>
			<string>_lpoperator</string>
			<key>shared</key>
			<true/>
		</dict>
		<key>system.printingmanager</key>
		<dict>
			<key>class</key>
			<string>rule</string>
			<key>comment</key>
			<string>For printing to locked printers.</string>
			<key>k-of-n</key>
			<integer>1</integer>
			<key>rule</key>
			<array>
				<string>is-admin</string>
				<string>authenticate-admin</string>
			</array>
		</dict>
		<key>system.privilege.admin</key>
		<dict>
			<key>allow-root</key>
			<true/>
			<key>class</key>
			<string>user</string>
			<key>comment</key>
			<string>Used by AuthorizationExecuteWithPrivileges(...).
		AuthorizationExecuteWithPrivileges() is used by programs requesting
		to run a tool as root (e.g., some installers).</string>
			<key>group</key>
			<string>admin</string>
			<key>shared</key>
			<false/>
			<key>timeout</key>
			<integer>300</integer>
		</dict>
		<key>system.privilege.taskport</key>
		<dict>
			<key>allow-root</key>
			<false/>
			<key>class</key>
			<string>user</string>
			<key>comment</key>
			<string>Used by task_for_pid(...).
		Task_for_pid is called by programs requesting full control over another program
		for things like debugging or performance analysis. This authorization only applies
		if the requesting and target programs are run by the same user; it will never
		authorize access to the program of another user.  WARNING: administrators are advised not to modify this right.</string>
			<key>group</key>
			<string>_developer</string>
			<key>shared</key>
			<true/>
			<key>timeout</key>
			<integer>36000</integer>
		</dict>
		<key>system.privilege.taskport.debug</key>
		<dict>
			<key>allow-root</key>
			<false/>
			<key>class</key>
			<string>user</string>
			<key>comment</key>
			<string>For use by Apple.  WARNING: administrators are advised
            not to modify this right.</string>
			<key>group</key>
			<string>_developer</string>
			<key>shared</key>
			<true/>
			<key>timeout</key>
			<integer>36000</integer>
		</dict>
		<key>system.privilege.taskport.safe</key>
		<dict>
			<key>class</key>
			<string>allow</string>
			<key>comment</key>
			<string>For use by Apple.</string>
		</dict>
		<key>system.restart</key>
		<dict>
			<key>class</key>
			<string>evaluate-mechanisms</string>
			<key>comment</key>
			<string>Checked if the foreground console user tries to restart the system while other users are logged in via fast-user switching.</string>
			<key>mechanisms</key>
			<array>
				<string>RestartAuthorization:restart</string>
				<string>builtin:authenticate,privileged</string>
				<string>RestartAuthorization:success</string>
			</array>
		</dict>
		<key>system.services.directory.configure</key>
		<dict>
			<key>class</key>
			<string>rule</string>
			<key>k-of-n</key>
			<integer>1</integer>
			<key>rule</key>
			<array>
				<string>is-root</string>
				<string>entitled</string>
				<string>authenticate-admin-nonshared</string>
			</array>
			<key>comment</key>
			<string>For making Directory Services changes.</string>
			<key>version</key>
			<integer>3</integer>
		</dict>
		<key>system.services.networkextension.filtering</key>
		<dict>
			<key>allow-root</key>
			<true/>
			<key>class</key>
			<string>user</string>
			<key>comment</key>
			<string>For making changes to the Content Filtering configuration using NetworkExtension.</string>
			<key>entitled-group</key>
			<true/>
			<key>group</key>
			<string>admin</string>
			<key>vpn-entitled-group</key>
			<true/>
		</dict>
		<key>system.services.networkextension.vpn</key>
		<dict>
			<key>allow-root</key>
			<true/>
			<key>class</key>
			<string>user</string>
			<key>comment</key>
			<string>For making changes to the VPN configuration using NetworkExtension.</string>
			<key>entitled-group</key>
			<true/>
			<key>group</key>
			<string>admin</string>
			<key>vpn-entitled-group</key>
			<true/>
		</dict>
		<key>system.services.systemconfiguration.network</key>
		<dict>
			<key>allow-root</key>
			<true/>
			<key>class</key>
			<string>user</string>
			<key>comment</key>
			<string>For making change to network configuration via System Configuration.</string>
			<key>entitled-group</key>
			<true/>
			<key>group</key>
			<string>admin</string>
			<key>version</key>
			<integer>1</integer>
			<key>vpn-entitled-group</key>
			<true/>
		</dict>
		<key>system.sharepoints.</key>
		<dict>
			<key>allow-root</key>
			<true/>
			<key>class</key>
			<string>user</string>
			<key>comment</key>
			<string>Checked when making changes to the Sharepoints.</string>
			<key>group</key>
			<string>admin</string>
			<key>shared</key>
			<true/>
		</dict>
		<key>system.shutdown</key>
		<dict>
			<key>class</key>
			<string>evaluate-mechanisms</string>
			<key>comment</key>
			<string>Checked if the foreground console user tries to shut down the system while other users are logged in via fast-user switching.</string>
			<key>mechanisms</key>
			<array>
				<string>RestartAuthorization:shutdown</string>
				<string>builtin:authenticate,privileged</string>
				<string>RestartAuthorization:success</string>
			</array>
		</dict>
		<key>system.volume.</key>
		<dict>
			<key>class</key>
			<string>rule</string>
			<key>comment</key>
			<string>system.volume.(external|internal|removable).(adopt|encode|mount|rename|unmount)</string>
			<key>k-of-n</key>
			<integer>1</integer>
			<key>rule</key>
			<array>
				<string>is-root</string>
				<string>is-admin</string>
				<string>authenticate-admin-30</string>
			</array>
		</dict>
		<key>system.volume.external.</key>
		<dict>
			<key>class</key>
			<string>rule</string>
			<key>comment</key>
			<string>system.volume.(external|internal|removable).(adopt|encode|mount|rename|unmount)</string>
			<key>k-of-n</key>
			<integer>1</integer>
			<key>rule</key>
			<array>
				<string>is-root</string>
				<string>is-admin</string>
				<string>on-console</string>
				<string>authenticate-admin-30</string>
			</array>
		</dict>
		<key>system.volume.external.adopt</key>
		<dict>
			<key>class</key>
			<string>rule</string>
			<key>comment</key>
			<string>system.volume.(external|internal|removable).(adopt|encode|mount|rename|unmount)</string>
			<key>k-of-n</key>
			<integer>1</integer>
			<key>rule</key>
			<array>
				<string>is-root</string>
				<string>is-admin</string>
				<string>authenticate-admin-30</string>
			</array>
		</dict>
		<key>system.volume.network.</key>
		<dict>
			<key>class</key>
			<string>rule</string>
			<key>comment</key>
			<string>system.volume.network.unmount</string>
			<key>k-of-n</key>
			<integer>1</integer>
			<key>rule</key>
			<array>
				<string>is-root</string>
				<string>is-admin</string>
				<string>on-console</string>
				<string>authenticate-admin-30</string>
			</array>
		</dict>
		<key>system.volume.optical.</key>
		<dict>
			<key>class</key>
			<string>rule</string>
			<key>comment</key>
			<string>system.volume.optical.(adopt|encode|mount|rename|unmount)</string>
			<key>k-of-n</key>
			<integer>1</integer>
			<key>rule</key>
			<array>
				<string>is-root</string>
				<string>is-admin</string>
				<string>on-console</string>
				<string>authenticate-admin-30</string>
			</array>
		</dict>
		<key>system.volume.optical.adopt</key>
		<dict>
			<key>class</key>
			<string>rule</string>
			<key>comment</key>
			<string>system.volume.optical.adopt</string>
			<key>k-of-n</key>
			<integer>1</integer>
			<key>rule</key>
			<array>
				<string>is-root</string>
				<string>is-admin</string>
				<string>authenticate-admin-30</string>
			</array>
		</dict>
		<key>system.volume.removable.</key>
		<dict>
			<key>class</key>
			<string>rule</string>
			<key>comment</key>
			<string>system.volume.(external|internal|removable).(adopt|encode|mount|rename|unmount)</string>
			<key>k-of-n</key>
			<integer>1</integer>
			<key>rule</key>
			<array>
				<string>is-root</string>
				<string>is-admin</string>
				<string>on-console</string>
				<string>authenticate-admin-30</string>
			</array>
		</dict>
		<key>system.volume.removable.adopt</key>
		<dict>
			<key>class</key>
			<string>rule</string>
			<key>comment</key>
			<string>system.volume.(external|internal|removable).(adopt|encode|mount|rename|unmount)</string>
			<key>k-of-n</key>
			<integer>1</integer>
			<key>rule</key>
			<array>
				<string>is-root</string>
				<string>is-admin</string>
				<string>authenticate-admin-30</string>
			</array>
		</dict>
		<key>com.apple.security.syntheticinput</key>
		<dict>
		    <key>class</key>
		    <string>rule</string>
		    <key>rule</key>
		    <string>authenticate-session-owner</string>
		</dict>
		<key>com.apple.security.sudo</key>
		<dict>
			<key>class</key>
			<string>rule</string>
			<key>k-of-n</key>
			<integer>2</integer>
			<key>rule</key>
			<array>
				<string>entitled</string>
				<string>authenticate-session-owner</string>
			</array>
		</dict>
		<key>system.preferences.continuity</key>
		<dict>
			<key>class</key>
			<string>rule</string>
			<key>comment</key>
			<string>Used by Password And Continuity PrefPane to request the user's password.</string>
			<key>rule</key>
			<array>
				<string>authenticate-staff-extract-context</string>
			</array>
		</dict>
		<key>com.apple.configurationprofiles.userprofile.trustcert</key>
		<dict>
			<key>class</key>
			<string>rule</string>
			<key>comment</key>
			<string>Install user configuration profile with certificate requiring trust change.</string>
			<key>rule</key>
			<array>
				<string>authenticate-session-owner-or-admin</string>
			</array>
		</dict>
		<key>com.apple.safaridriver.allow</key>
		<dict>
			<key>comment</key>
			<string>This right is used by safaridriver to allow running it.</string>
			<key>class</key>
			<string>rule</string>
			<key>k-of-n</key>
			<integer>1</integer>
			<key>rule</key>
			<array>
				<string>is-admin</string>
				<string>is-webdeveloper</string>
				<string>authenticate-webdeveloper</string>
			</array>
			<key>version</key>
			<integer>1</integer>
		</dict>
		<key>com.apple.app-sandbox.create-symlink</key>
		<dict>
			<key>comment</key>
			<string>Authorize an app-sandboxed application to install a symlink into /usr/local/bin.</string>
			<key>class</key>
			<string>rule</string>
			<key>rule</key>
			<string>authenticate-admin-nonshared</string>
			<key>shared</key>
			<false/>
			<key>timeout</key>
			<integer>60</integer>
		</dict>
		<key>com.apple.app-sandbox.set-attributes</key>
		<dict>
			<key>comment</key>
			<string>Authorize an app-sandboxed application to change permissions on a privileged file.</string>
			<key>class</key>
			<string>rule</string>
			<key>rule</key>
			<string>authenticate-admin-nonshared</string>
			<key>shared</key>
			<false/>
			<key>timeout</key>
			<integer>60</integer>
		</dict>
		<key>com.apple.app-sandbox.replace-file</key>
		<dict>
			<key>comment</key>
			<string>Authorize an app-sandboxed application to save (overwrite) a file in a privileged location.</string>
			<key>class</key>
			<string>rule</string>
			<key>rule</key>
			<string>authenticate-admin-nonshared</string>
			<key>shared</key>
			<false/>
			<key>timeout</key>
			<integer>60</integer>
		</dict>
	</dict>
	<key>rules</key>
	<dict>
		<key>admin</key>
		<dict>
			<key>class</key>
			<string>user</string>
			<key>group</key>
			<string>admin</string>
			<key>shared</key>
			<true/>
		</dict>
		<key>allow</key>
		<dict>
			<key>class</key>
			<string>allow</string>
			<key>comment</key>
			<string>Allow anyone.</string>
		</dict>
		<key>app-specific-admin</key>
		<dict>
			<key>class</key>
			<string>user</string>
			<key>group</key>
			<string>admin</string>
		</dict>
		<key>appserver-admin</key>
		<dict>
			<key>class</key>
			<string>user</string>
			<key>group</key>
			<string>appserveradm</string>
		</dict>
		<key>appserver-user</key>
		<dict>
			<key>class</key>
			<string>user</string>
			<key>group</key>
			<string>appserverusr</string>
		</dict>
		<key>authenticate</key>
		<dict>
			<key>class</key>
			<string>evaluate-mechanisms</string>
			<key>mechanisms</key>
			<array>
				<string>builtin:authenticate</string>
				<string>builtin:reset-password,privileged</string>
				<string>builtin:authenticate,privileged</string>
				<string>PKINITMechanism:auth,privileged</string>
			</array>
		</dict>
		<key>kcunlock</key>
		<dict>
			<key>class</key>
			<string>evaluate-mechanisms</string>
			<key>extract-password</key>
			<true/>
			<key>mechanisms</key>
			<array>
				<string>builtin:unlock-keychain</string>
				<string>builtin:kc-verify,privileged</string>
			</array>
			<key>version</key>
			<integer>1</integer>
		</dict>
		<key>authenticate-admin</key>
		<dict>
			<key>class</key>
			<string>user</string>
			<key>comment</key>
			<string>Authenticate as an administrator.</string>
			<key>group</key>
			<string>admin</string>
			<key>shared</key>
			<true/>
			<key>timeout</key>
			<integer>0</integer>
		</dict>
		<key>authenticate-admin-nonshared</key>
		<dict>
			<key>class</key>
			<string>user</string>
			<key>comment</key>
			<string>Authenticate as an administrator.</string>
			<key>group</key>
			<string>admin</string>
			<key>timeout</key>
			<integer>30</integer>
			<key>version</key>
			<integer>1</integer>
		</dict>
		<key>authenticate-admin-30</key>
		<dict>
			<key>class</key>
			<string>user</string>
			<key>comment</key>
			<string>Like the default rule, but
            credentials remain valid for only 30 seconds after they've
            been obtained.  An acquired credential is shared by all clients.
			</string>
			<key>group</key>
			<string>admin</string>
			<key>shared</key>
			<true/>
			<key>timeout</key>
			<integer>30</integer>
		</dict>
		<key>authenticate-admin-extract</key>
		<dict>
			<key>class</key>
			<string>user</string>
			<key>comment</key>
			<string>Authenticate as an administrator + allow password extraction.</string>
			<key>extract-password</key>
			<true/>
			<key>password-only</key>
			<true/>
			<key>group</key>
			<string>admin</string>
			<key>require-apple-signed</key>
			<true/>
			<key>timeout</key>
			<integer>0</integer>
			<key>version</key>
			<integer>1</integer>
		</dict>
		<key>authenticate-staff-extract</key>
		<dict>
			<key>class</key>
			<string>user</string>
			<key>comment</key>
			<string>Authenticate as group staff + allow password to be extracted.</string>
			<key>extract-password</key>
			<true/>
			<key>password-only</key>
			<true/>
			<key>group</key>
			<string>staff</string>
			<key>require-apple-signed</key>
			<true/>
			<key>timeout</key>
			<integer>0</integer>
			<key>version</key>
			<integer>1</integer>
		</dict>
		<key>authenticate-staff-extract-context</key>
		<dict>
			<key>class</key>
			<string>rule</string>
			<key>k-of-n</key>
			<integer>2</integer>
			<key>rule</key>
			<array>
				<string>authenticate-staff-extract</string>
				<string>localauthentication-context</string>
			</array>
		</dict>
		<key>authenticate-admin-or-staff-extract</key>
		<dict>
			<key>class</key>
			<string>rule</string>
			<key>k-of-n</key>
			<integer>1</integer>
			<key>rule</key>
			<array>
				<string>authenticate-admin-extract</string>
				<string>authenticate-staff-extract</string>
			</array>
		</dict>
		<key>authenticate-appstore-30</key>
		<dict>
			<key>class</key>
			<string>user</string>
			<key>group</key>
			<string>_appstore</string>
			<key>shared</key>
			<true/>
			<key>timeout</key>
			<integer>30</integer>
		</dict>
		<key>authenticate-developer</key>
		<dict>
			<key>class</key>
			<string>user</string>
			<key>comment</key>
			<string>Authenticate as a developer.</string>
			<key>group</key>
			<string>_developer</string>
			<key>shared</key>
			<true/>
			<key>timeout</key>
			<integer>36000</integer>
		</dict>
		<key>authenticate-session-owner</key>
		<dict>
			<key>class</key>
			<string>user</string>
			<key>comment</key>
			<string>Authenticate as the session owner.</string>
			<key>session-owner</key>
			<true/>
		</dict>
		<key>authenticate-session-owner-or-admin</key>
		<dict>
			<key>allow-root</key>
			<false/>
			<key>class</key>
			<string>user</string>
			<key>comment</key>
			<string>Authenticate either as the owner or as an administrator.</string>
			<key>group</key>
			<string>admin</string>
			<key>session-owner</key>
			<true/>
			<key>shared</key>
			<false/>
		</dict>
		<key>authenticate-session-user</key>
		<dict>
			<key>class</key>
			<string>user</string>
			<key>comment</key>
			<string>Same as authenticate-session-owner.</string>
			<key>session-owner</key>
			<true/>
		</dict>
		<key>default</key>
		<dict>
			<key>class</key>
			<string>user</string>
			<key>comment</key>
			<string>Default rule.
            Credentials remain valid for 5 minutes after they've been obtained.
            An acquired credential is shared by all clients.
			</string>
			<key>group</key>
			<string>admin</string>
			<key>shared</key>
			<true/>
			<key>timeout</key>
			<integer>300</integer>
		</dict>
		<key>entitled</key>
		<dict>
			<key>class</key>
			<string>evaluate-mechanisms</string>
			<key>mechanisms</key>
			<array>
				<string>builtin:entitled,privileged</string>
			</array>
			<key>tries</key>
			<integer>1</integer>
		</dict>
		<key>entitled-admin</key>
		<dict>
			<key>class</key>
			<string>rule</string>
			<key>k-of-n</key>
			<integer>2</integer>
			<key>rule</key>
			<array>
				<string>is-admin</string>
				<string>entitled</string>
			</array>
		</dict>
		<key>entitled-admin-nonshared</key>
		<dict>
			<key>class</key>
			<string>rule</string>
			<key>k-of-n</key>
			<integer>2</integer>
			<key>rule</key>
			<array>
				<string>is-admin-nonshared</string>
				<string>entitled</string>
			</array>
		</dict>
		<key>entitled-admin-or-authenticate-admin-nonshared</key>
		<dict>
			<key>class</key>
			<string>rule</string>
			<key>k-of-n</key>
			<integer>1</integer>
			<key>rule</key>
			<array>
				<string>entitled-admin-nonshared</string>
				<string>authenticate-admin-nonshared</string>
			</array>
		</dict>
		<key>entitled-admin-or-authenticate-admin</key>
		<dict>
			<key>class</key>
			<string>rule</string>
			<key>k-of-n</key>
			<integer>1</integer>
			<key>rule</key>
			<array>
				<string>entitled-admin</string>
				<string>authenticate-admin-30</string>
			</array>
		</dict>
		<key>entitled-appstore</key>
		<dict>
			<key>class</key>
			<string>rule</string>
			<key>k-of-n</key>
			<integer>2</integer>
			<key>rule</key>
			<array>
				<string>is-appstore</string>
				<string>entitled</string>
			</array>
		</dict>
		<key>entitled-appstore-or-entitled-authenticate-appstore</key>
		<dict>
			<key>class</key>
			<string>rule</string>
			<key>k-of-n</key>
			<integer>1</integer>
			<key>rule</key>
			<array>
				<string>entitled-appstore</string>
				<string>entitled-authenticate-appstore</string>
			</array>
		</dict>
		<key>entitled-authenticate-admin</key>
		<dict>
			<key>class</key>
			<string>rule</string>
			<key>k-of-n</key>
			<integer>2</integer>
			<key>rule</key>
			<array>
				<string>entitled</string>
				<string>authenticate-admin-30</string>
			</array>
		</dict>
		<key>entitled-authenticate-appstore</key>
		<dict>
			<key>class</key>
			<string>rule</string>
			<key>k-of-n</key>
			<integer>2</integer>
			<key>rule</key>
			<array>
				<string>entitled</string>
				<string>authenticate-appstore-30</string>
			</array>
		</dict>
		<key>entitled-session-owner</key>
		<dict>
			<key>class</key>
			<string>rule</string>
			<key>k-of-n</key>
			<integer>2</integer>
			<key>rule</key>
			<array>
				<string>is-session-owner</string>
				<string>entitled</string>
			</array>
		</dict>
		<key>entitled-session-owner-or-authenticate-session-owner</key>
		<dict>
			<key>class</key>
			<string>rule</string>
			<key>k-of-n</key>
			<integer>1</integer>
			<key>rule</key>
			<array>
				<string>entitled-session-owner</string>
				<string>authenticate-session-owner</string>
			</array>
		</dict>
		<key>is-admin</key>
		<dict>
			<key>authenticate-user</key>
			<false/>
			<key>class</key>
			<string>user</string>
			<key>comment</key>
			<string>Verify that the user asking for authorization is an administrator.</string>
			<key>group</key>
			<string>admin</string>
			<key>shared</key>
			<true/>
		</dict>
		<key>is-admin-nonshared</key>
		<dict>
			<key>authenticate-user</key>
			<false/>
			<key>class</key>
			<string>user</string>
			<key>comment</key>
			<string>Verify that the user asking for authorization is an administrator - nonshared right.</string>
			<key>group</key>
			<string>admin</string>
		</dict>
		<key>is-appstore</key>
		<dict>
			<key>authenticate-user</key>
			<false/>
			<key>class</key>
			<string>user</string>
			<key>group</key>
			<string>_appstore</string>
			<key>shared</key>
			<true/>
		</dict>
		<key>is-developer</key>
		<dict>
			<key>authenticate-user</key>
			<false/>
			<key>class</key>
			<string>user</string>
			<key>comment</key>
			<string>Verify that the user asking for authorization is a developer.</string>
			<key>group</key>
			<string>_developer</string>
		</dict>
		<key>is-lpadmin</key>
		<dict>
			<key>authenticate-user</key>
			<false/>
			<key>class</key>
			<string>user</string>
			<key>group</key>
			<string>_lpadmin</string>
		</dict>
		<key>is-root</key>
		<dict>
			<key>allow-root</key>
			<true/>
			<key>authenticate-user</key>
			<false/>
			<key>class</key>
			<string>user</string>
			<key>comment</key>
			<string>Verify that the process that created this AuthorizationRef is running as root.</string>
		</dict>
		<key>is-session-owner</key>
		<dict>
			<key>allow-root</key>
			<false/>
			<key>authenticate-user</key>
			<false/>
			<key>class</key>
			<string>user</string>
			<key>comment</key>
			<string>Verify that the requesting process is running as the session owner.</string>
			<key>session-owner</key>
			<true/>
		</dict>
		<key>lpadmin</key>
		<dict>
			<key>class</key>
			<string>user</string>
			<key>group</key>
			<string>_lpadmin</string>
			<key>shared</key>
			<true/>
		</dict>
		<key>on-console</key>
		<dict>
			<key>class</key>
			<string>evaluate-mechanisms</string>
			<key>mechanisms</key>
			<array>
				<string>builtin:on-console</string>
			</array>
			<key>tries</key>
			<integer>1</integer>
		</dict>
		<key>root-or-entitled-admin-or-admin</key>
		<dict>
			<key>class</key>
			<string>rule</string>
			<key>k-of-n</key>
			<integer>1</integer>
			<key>rule</key>
			<array>
				<string>is-root</string>
				<string>entitled-admin</string>
				<string>admin</string>
			</array>
		</dict>
		<key>root-or-entitled-admin-or-app-specific-admin</key>
		<dict>
			<key>class</key>
			<string>rule</string>
			<key>k-of-n</key>
			<integer>1</integer>
			<key>rule</key>
			<array>
				<string>is-root</string>
				<string>entitled-admin</string>
				<string>app-specific-admin</string>
			</array>
		</dict>
		<key>root-or-entitled-admin-or-authenticate-admin</key>
		<dict>
			<key>class</key>
			<string>rule</string>
			<key>k-of-n</key>
			<integer>1</integer>
			<key>rule</key>
			<array>
				<string>is-root</string>
				<string>entitled-admin-or-authenticate-admin</string>
			</array>
		</dict>
		<key>root-or-lpadmin</key>
		<dict>
			<key>class</key>
			<string>rule</string>
			<key>k-of-n</key>
			<integer>1</integer>
			<key>rule</key>
			<array>
				<string>is-root</string>
				<string>is-lpadmin</string>
				<string>lpadmin</string>
			</array>
		</dict>
		<key>use-login-window-ui</key>
		<dict>
			<key>allow-root</key>
			<false/>
			<key>class</key>
			<string>user</string>
			<key>comment</key>
			<string>Authenticate either as the owner or as an administrator.</string>
			<key>group</key>
			<string>admin</string>
			<key>session-owner</key>
			<true/>
			<key>shared</key>
			<false/>
		</dict>
		<key>localauthentication-context</key>
		<dict>
			<key>class</key>
			<string>evaluate-mechanisms</string>
			<key>comment</key>
			<string>Used by LocalAuthentication to pass externalized context.</string>
			<key>mechanisms</key>
			<array>
				<string>LocalAuthentication:context</string>
			</array>
		</dict>
		<key>is-webdeveloper</key>
		<dict>
			<key>authenticate-user</key>
			<false/>
			<key>class</key>
			<string>user</string>
			<key>comment</key>
			<string>Verify that the user asking for authorization is a web developer.</string>
			<key>group</key>
			<string>_webdeveloper</string>
		</dict>
		<key>authenticate-webdeveloper</key>
		<dict>
			<key>class</key>
			<string>user</string>
			<key>comment</key>
			<string>Authenticate as a web developer.</string>
			<key>group</key>
			<string>_webdeveloper</string>
			<key>shared</key>
			<true/>
			<key>timeout</key>
			<integer>36000</integer>
		</dict>
	</dict>
</dict>
</plist>