A step-by-step blueprint for RevOps and Admin teams to achieve the least privilege gold standard.
Executive Overview
A well-architected security model is the backbone of any scalable Salesforce environment. This guide empowers RevOps and Admin teams to achieve the "least privilege" gold standard—safeguarding sensitive data while ensuring users have the exact access required to drive revenue. By mastering these configurations, you eliminate unauthorized data exposure, streamline compliance, and deliver a frictionless user experience tailored to your unique business hierarchy.
Key Takeaways
- Implement granular, record-level security tailored to role hierarchies.
- Reduce administrative overhead by adopting a permission set-centric architecture.
- Ensure organizational compliance with robust audit-ready sharing protocols.
- Optimize system performance by mitigating data skew and complex sharing limits.
Architecture & Prerequisites
- Required Licenses/Editions: Enterprise, Unlimited, or Performance Edition.
- Required User Permissions: Manage Users, View Setup and Configuration, Customize Application.
- Objects & Relationships: Account, Contact, Opportunity, Lead, and any Custom Objects requiring tailored access.
- Pre-configuration Checklist:
- Defined organizational hierarchy and user roles.
- Clear understanding of data visibility requirements for each user group.
- List of standard and custom objects requiring restricted access.
The Build Blueprint
Phase 1: Organization-Wide Defaults (OWD)
The foundation of the security model, establishing the baseline access level for all users.
- Navigate to Setup > Security > Sharing Settings.
- Click Edit in the Organization-Wide Defaults section.
- Configure the default access for each object based on business requirements. Key options include:
- Private: Users can only access records they own or are shared with them.
- Public Read Only: All users can view, but only owners can edit.
- Public Read/Write: All users can view and edit.
- Controlled by Parent: Access is inherited from the parent record (e.g., Contacts controlled by Accounts).
- Ensure Grant Access Using Hierarchies is checked for objects where leadership requires visibility into their subordinates' records.
- Click Save.
Phase 2: Profile Configuration
Profiles determine baseline object and field-level permissions, as well as access to specific apps and tabs.
- Navigate to Setup > Users > Profiles.
- Recommended Practice: Enable the Enhanced Profile User Interface for a more streamlined experience (Setup > User Management Settings > Enhanced Profile User Interface).
- Select the desired profile to configure (e.g., Standard User, System Administrator).
- Modify Object Permissions as required:
- Read: Allows users to view records. Note: This is subject to OWD settings.
- Create: Allows users to create new records.
- Edit: Allows users to modify records they have access to.
- Delete: Allows users to delete records they have access to.
- View All / Modify All: Overrides OWD and sharing rules, granting full access to all records of that object (typically reserved for admins).
- Configure additional settings such as Field-Level Security, Tab Settings, and Administrative Permissions.
- Click Save.
Phase 3: Sharing Rules Configuration
Sharing rules expand access beyond OWD for specific groups of users based on record ownership or criteria.
- Navigate to Setup > Security > Sharing Settings.
- Scroll to the sharing rules section for the target object (e.g., Lead Sharing Rules).
- Click New.
- Provide a Label and Rule Name.
- Select the Rule Type:
- Based on record owner: Shares records owned by a specific group/role with another group/role.
- Based on criteria: Shares records meeting specific field criteria (e.g., custom sensitivity flags).
- Define the criteria or ownership parameters.
- Select the users to share with (Public Groups, Roles, or Roles and Subordinates).
- Select the access level: Read Only or Read/Write.
- Click Save.
Phase 4: Permission Sets Configuration
Permission Sets provide a flexible way to grant additional access to specific users without modifying their baseline Profile.
- Navigate to Setup > Users > Permission Sets.
- Click New to create a new Permission Set or select an existing one.
- Configure Object Settings to grant additional Read, Create, Edit, or Delete permissions for specific objects.
- Configure Field Permissions to grant Read or Edit access to specific fields not available on the user's Profile.
- Recommended Practice: Utilize Permission Set Groups to bundle multiple permission sets for easier assignment.
- Assign the Permission Set to the appropriate users by clicking Manage Assignments > Add Assignments.
Logic, Automation, & Formulas
This configuration primarily relies on declarative security settings rather than custom logic or formulas. However, when utilizing criteria-based sharing rules, ensure that the fields used for filtering are appropriately populated.
Recommended Practice: If using custom fields (e.g., a "Sensitivity Level" Number field) to drive sharing rules, consider implementing validation rules or before-save flows to ensure these fields are consistently and accurately populated during record creation or update.
Testing & QA Validation Protocol
Thorough testing in a Sandbox environment is crucial before deploying security changes to Production.
- Impersonation: Utilize the "Login as Any User" feature to log in as users with different profiles and roles.
- Visibility Check: Verify that a standard user can only see records permitted by the OWD and sharing rules.
- Hierarchy Check: Verify that a manager can see and edit the records owned by their direct reports.
- Permission Set Check: Verify that users assigned a specific permission set have the additional access granted by that set (e.g., access to a specific field or object).
- Reporting Check: Run reports as different users to ensure data visibility within reports aligns with the configured security model.
Edge Cases & Maintenance
- Over-Permissioning: A common pitfall is granting "View All" or "Modify All" object permissions at the profile level instead of using sharing rules or permission sets, leading to excessive access.
- Maintenance Overhead: Relying heavily on profiles instead of permission sets can lead to "profile proliferation," making the environment difficult to manage. Adopt a permission set-centric approach for granting granular access.
- Data Skew: Complex sharing rules involving large volumes of records or public groups can impact system performance and reporting. Regularly review and optimize sharing rules.
- Criteria-Based Sharing Limits: Salesforce imposes limits on the number of criteria-based sharing rules per object. Plan accordingly if extensive criteria-based sharing is required.