# Metadata XML Examples: Permissions [← Back to Metadata XML Examples Index](metadata-xml-examples.md) ## Example 1: Flag ModifyAllData / ViewAllData Permissions **Problem:** Permission sets granting ModifyAllData or ViewAllData are a security risk. **Target file:** `*.permissionset-meta.xml` **Sample violating metadata:** ```xml true ModifyAllData ``` **XPath (PMD 7):** ```xpath //*[@Text='ModifyAllData' or @Text='ViewAllData']/../.. [local-name()='userPermissions'] [.//*[@Text='true']] ``` **How it works:** 1. `//*[@Text='ModifyAllData' or @Text='ViewAllData']` — find text node with dangerous permission name 2. `/../..` — navigate up: text node → `` element → `` parent 3. `[local-name()='userPermissions']` — confirm we're at the right element 4. `[.//*[@Text='true']]` — check that a descendant text node contains "true" (the `` value) **PMD ruleset:** ```xml Flags permission sets that grant ModifyAllData or ViewAllData 1 ``` --- ## Example 4: No Field Permissions in Profiles **Problem:** Field permissions should be managed via Permission Sets, not Profiles. **Target file:** `*.profile-meta.xml` **Sample violating metadata:** ```xml true Account.Revenue__c true ``` **XPath:** ```xpath //*[local-name()='Profile']/*[local-name()='fieldPermissions'] ``` **PMD ruleset:** ```xml Profiles should not contain field-level security — use Permission Sets 2 ```