LLMs.txt Salesforce Sharing Rules: Best Ultimate Guide 2026

Salesforce Sharing Rules vs Role Hierarchy vs Permission Sets: A Complete Guide

About RizeX Labs (formerly Gradx Academy): RizeX Labs (formerly Gradx Academy) is your trusted source for valuable information and resources. We provide reliable, well-researched information content to keep you informed and help you make better decisions. This content focuses on Salesforce Sharing Rules vs Role Hierarchy vs Permission Sets: A Complete Guide and related topics.

Table of Contents

Introduction: Understanding Salesforce Access Control

When it comes to managing data access in Salesforce, understanding the platform’s security model is crucial for administrators, developers, and business analysts alike. Whether you’re just starting your Salesforce journey or looking to refine your existing implementation, mastering the differences between Salesforce Sharing RulesRole Hierarchy, and Permission Sets is essential for building a secure, scalable CRM environment.

At RizeX Labs, we’ve helped dozens of organizations optimize their Salesforce implementations, and one of the most common challenges we encounter is confusion around these three core access control mechanisms. While they may seem similar on the surface, each serves a distinct purpose in Salesforce’s multi-layered security architecture.

Descriptive alt text for image 2 - This image shows important visual content that enhances the user experience and provides context for the surrounding text.

In this comprehensive guide, we’ll break down:

  • What each feature does and how it works
  • Real-world scenarios where each should be used
  • Key differences and when to apply each mechanism
  • Best practices from our team at RizeX Labs
  • Common pitfalls to avoid

By the end of this blog, you’ll have a clear understanding of how to leverage Salesforce Sharing Rules, Role Hierarchy, and Permission Sets to create a robust, efficient security model for your organization.


Understanding Salesforce’s Security Model

Before diving into the specifics, let’s establish a foundation. Salesforce uses a layered security model that controls access at multiple levels:

  1. Organization Level – IP restrictions, login hours
  2. Object Level – Permission Sets and Profiles
  3. Field Level – Field-level security
  4. Record Level – OWD, Role Hierarchy, Sharing Rules, Manual Sharing

Think of it like a building with multiple security checkpoints. Even if you have a key to enter the building (org access), you still need proper credentials to access specific floors (objects), rooms (records), and safes (fields).

Descriptive alt text for image 3 - This image shows important visual content that enhances the user experience and provides context for the surrounding text.

The three features we’re discussing today primarily operate at different levels:

  • Permission Sets: Object and field level access
  • Role Hierarchy: Record level access (opening up access)
  • Sharing Rules: Record level access (opening up access)

Now, let’s explore each in detail.


Part 1: Salesforce Role Hierarchy Explained

What is Role Hierarchy in Salesforce?

The Role Hierarchy in Salesforce is a fundamental component that determines how users access and view records within the organization. It represents the organizational structure and automatically grants record access to users higher in the hierarchy.

Think of it as a corporate ladder. If your manager can see your reports, the director above them can too, and so on up the chain. This mirrors real-world business structures where senior leadership typically has visibility into their team’s work.

How Role Hierarchy Works

The Role Hierarchy operates on a simple principle: data flows upward.

Here’s what happens:

  • Users can access records owned by or shared with users below them in the hierarchy
  • Users cannot automatically access records owned by peers or superiors at the same or higher levels
  • The hierarchy only grants read access by default (edit access requires additional permissions)
  • Role Hierarchy only works when the Organization-Wide Default (OWD) for an object is set to Public Read Only or Private
Salesforce Sharing Rules

Important Note: Role Hierarchy does NOT grant object-level permissions. A user still needs proper profile or permission set access to even see an object, regardless of their role.

Setting Up Role Hierarchy

At RizeX Labs, we recommend following these steps:

  1. Map Your Organization Structure
    • Document reporting relationships
    • Identify who needs visibility into whose records
    • Consider both current and future organizational needs
  2. Create Roles in Salesforce
    • Navigate to Setup → Roles
    • Create roles that reflect your business structure
    • Use clear, descriptive naming conventions
  3. Assign Roles Strategically
    • Assign users to appropriate roles
    • Remember: Not every user needs a role
    • Service Cloud users and Community users often don’t require roles

Real-World Use Case: Role Hierarchy

Scenario: A mid-sized sales organization with the following structure:

textVP of Sales
    ├── Regional Manager (East)
    │   ├── Sales Rep 1
    │   └── Sales Rep 2
    └── Regional Manager (West)
        ├── Sales Rep 3
        └── Sales Rep 4

Implementation:

  • Set Opportunity OWD to “Private”
  • Create roles mirroring this structure
  • Assign users to appropriate roles

Result:

  • VP of Sales can view all opportunities owned by all regional managers and reps
  • Regional Manager (East) can only see opportunities owned by Sales Rep 1 and 2
  • Sales reps can only see their own opportunities
  • No sharing rules needed for vertical visibility

When to Use Role Hierarchy

✅ Use Role Hierarchy when:

  • Your organization has clear reporting relationships
  • Managers need to see their subordinates’ records
  • You want to mirror your org chart in Salesforce
  • You need to grant upward visibility automatically

❌ Don’t use Role Hierarchy when:

  • You need lateral (peer-to-peer) sharing
  • Your organization is flat with minimal hierarchy
  • You need complex sharing logic based on criteria
  • You want to limit what managers can see

Best Practices for Role Hierarchy

From our experience at RizeX Labs, here are key best practices:

  1. Keep It Simple: Don’t create unnecessary role layers. Each additional layer adds complexity and can impact performance.
  2. Name Consistently: Use a clear naming convention (e.g., “Sales – Regional Manager – East” rather than just “RM East”).
  3. Plan for Scale: Consider future organizational growth when designing your hierarchy.
  4. Avoid Over-Complexity: Generally, try to keep your role hierarchy under 500 roles for optimal performance.
  5. Document Everything: Maintain documentation showing why each role exists and who should be assigned to it.
  6. Regular Audits: Quarterly reviews ensure users are in the correct roles as the organization evolves.

Part 2: Understanding Salesforce Sharing Rules

What are Salesforce Sharing Rules?

Salesforce Sharing Rules are automated mechanisms that open up record access to specific groups of users, extending beyond what Organization-Wide Defaults and Role Hierarchy provide. They’re an exception-based security tool that grants additional access without modifying base security settings.

While Role Hierarchy handles vertical (top-down) sharing, Sharing Rules excel at lateral and criteria-based sharing across your organization.

Salesforce Sharing Rules

Types of Sharing Rules

Salesforce offers two primary types of sharing rules:

1. Owner-Based Sharing Rules

These rules share records based on who owns them.

Example: Share all opportunities owned by the Sales team with the Sales Operations team.

Configuration:

  • Source: Owned by members of “Sales Team” public group
  • Target: Share with “Sales Ops” public group
  • Access Level: Read Only or Read/Write

2. Criteria-Based Sharing Rules

These rules share records based on field values, regardless of ownership.

Example: Share all accounts in the “Technology” industry with the Tech Specialist team.

Configuration:

  • Criteria: Industry equals “Technology”
  • Target: Share with “Tech Specialists” public group
  • Access Level: Read Only or Read/Write

Components Required for Sharing Rules

To implement sharing rules effectively, you need to understand these building blocks:

Public Groups: Collections of users, roles, territories, or other groups

  • Created in Setup → Public Groups
  • Can include individual users, roles, roles and subordinates, or territories

Queues: Specialized groups for managing record ownership and routing

  • Primarily used for Cases and Leads
  • Can be used in sharing rules

Territories: Used in territory-based sales organizations

  • Require Territory Management to be enabled
  • Can be included in sharing rules

How Sharing Rules Work

Here’s the critical concept: Sharing rules only expand access, never restrict it.

The access hierarchy looks like this:

textMost Restrictive → Organization-Wide Defaults (OWD)
                 → Role Hierarchy (opens access upward)
                 → Sharing Rules (opens access based on criteria)
                 → Manual Sharing (individual record sharing)
Most Permissive

Each layer can only make access more permissive, never more restrictive.

Real-World Use Cases: Sharing Rules

Use Case 1: Cross-Departmental Collaboration

Scenario: Your product management team needs to see all opportunities above $100,000 to plan inventory, but they’re not in the sales role hierarchy.

Solution: Criteria-Based Sharing Rule

textObject: Opportunity
Criteria: Amount ≥ 100,000
Share with: Product Management (Public Group)
Access: Read Only

Use Case 2: Regional Support Model

Scenario: Support cases owned by East Coast reps should be visible to an East Coast Support Specialist team for escalations.

Solution: Owner-Based Sharing Rule

textObject: Case
Owned by: East Coast Sales Reps (Public Group)
Share with: East Coast Support Specialists (Public Group)
Access: Read/Write

Use Case 3: Account Team Collaboration

Scenario: Partner accounts need visibility across the partner management team, regardless of who owns the account.

Solution: Criteria-Based Sharing Rule

textObject: Account
Criteria: Account Type = "Partner"
Share with: Partner Management Team (Public Group)
Access: Read/Write

When to Use Sharing Rules

✅ Use Sharing Rules when:

  • You need lateral (peer-to-peer) sharing across teams
  • Access depends on field values (like region, status, amount)
  • A specific group needs access to records owned by another group
  • You have cross-functional teams requiring access to specific record types

❌ Don’t use Sharing Rules when:

  • Role hierarchy already provides the necessary access
  • You need user-specific access (use manual sharing instead)
  • Requirements are extremely complex (consider custom sharing logic via Apex)
  • Performance is already degraded (too many sharing rules can impact performance)

Best Practices for Sharing Rules

Based on RizeX Labs’ implementation experience:

  1. Use Public Groups Strategically: Create well-organized public groups that reflect business functions, not just org structure.
  2. Limit Quantity: Each sharing rule adds processing overhead. Aim to solve sharing needs with the fewest rules possible.
  3. Criteria-Based Over Owner-Based: When possible, use criteria-based rules as they’re generally more maintainable.
  4. Document Business Logic: Clearly document why each sharing rule exists and what business need it serves.
  5. Test Thoroughly: Always test sharing rules in a sandbox with real-world scenarios before deploying to production.
  6. Monitor Performance: Use the Sharing Rule Performance page in Setup to identify rules causing performance issues.
  7. Regular Recalculation: Understand when sharing recalculation occurs (mass updates, role changes) and plan accordingly.
  8. Combine with Groups Wisely: Keep public groups updated; outdated group membership defeats the purpose of sharing rules.

Part 3: Salesforce Permission Sets Deep Dive

What are Permission Sets in Salesforce?

Permission Sets in Salesforce are collections of settings and permissions that extend users’ functional access without changing their profile. They work as an additive security layer, granting additional capabilities beyond what a user’s profile provides.

Think of profiles as your base job description, and permission sets as additional certifications or credentials you earn. Your profile says “Sales Rep,” but permission sets might add “Bulk Data Import Certified” or “Report Builder Authorized.”

Salesforce Sharing Rules

Permission Sets vs Profiles

This is a critical distinction:

Profiles:

  • Every user must have exactly one profile
  • Define baseline access (minimum permissions)
  • Include object permissions, field permissions, app access, and system settings
  • Historically used for all permission management (legacy approach)

Permission Sets:

  • Users can have zero to many permission sets
  • Extend permissions beyond the profile
  • Include the same types of permissions as profiles
  • Recommended modern approach for flexible permission management

What Permission Sets Control

Permission Sets in Salesforce can grant access to:

  1. Object Permissions
    • Read, Create, Edit, Delete, View All, Modify All
  2. Field Permissions
    • Read and Edit access to specific fields
  3. App Access
    • Visibility to specific Salesforce apps
  4. Apex Class Access
    • Ability to execute specific Apex classes
  5. Visualforce Page Access
    • Ability to access specific Visualforce pages
  6. Custom Permissions
    • Custom flags for business logic
  7. System Permissions
    • Administrative capabilities like “View Setup and Configuration”
  8. Tab Settings
    • Which tabs are visible or hidden

Important: Permission Sets do not control record-level access. They can’t determine which specific records a user can see—only whether they can see the object at all.

Permission Set Groups

Introduced to simplify permission management, Permission Set Groups bundle multiple permission sets together.

Benefits:

  • Assign multiple permission sets with a single assignment
  • Create logical groupings (e.g., “Sales Manager Bundle”)
  • Easier to manage complex permission scenarios
  • Muting feature allows temporary permission removal

Example Structure:

textPermission Set Group: "Account Executive Standard"
    ├── Base Sales Permissions
    ├── Advanced Reporting
    ├── Opportunity Management
    └── Contract Creation

Real-World Use Cases: Permission Sets

Use Case 1: Temporary Project Access

Scenario: A finance team member needs temporary access to marketing objects for a quarterly campaign analysis project.

Solution:

  • Profile: Finance User (no marketing object access)
  • Permission Set: “Marketing Data Analyst” (temporary)
    • Grants Read access to Campaign, Lead, Campaign Member objects
    • Assigned for project duration, then removed

Benefits: No profile change needed; easy to grant and revoke

Use Case 2: Feature Rollout

Scenario: Rolling out Einstein Analytics to select power users before company-wide deployment.

Solution:

  • Create “Einstein Analytics Early Adopter” permission set
  • Grant Analytics Studio access
  • Assign to pilot user group
  • Expand assignments as rollout progresses

Benefits: Controlled, gradual feature adoption without impacting all users

Use Case 3: Specialized Function Access

Scenario: Several sales reps across different teams need ability to import data, but not all sales users should have this capability.

Solution:

  • Base Profile: Sales User (standard permissions)
  • Permission Set: “Data Import Certified”
    • Enable “API Enabled”
    • Enable “Data Import Wizard”
    • Grant necessary object edit permissions

Benefits: Granular control without creating multiple profiles

Use Case 4: Cross-Functional Role

Scenario: A sales operations analyst needs both sales and service capabilities.

Solution:

  • Profile: Standard Employee
  • Permission Set Group: “Sales Ops Analyst Bundle”
    • Permission Set 1: Sales Object Access
    • Permission Set 2: Service Console Access
    • Permission Set 3: Advanced Reporting
    • Permission Set 4: Data Management Tools

Benefits: Flexible permission combination without custom profile creation

When to Use Permission Sets

✅ Use Permission Sets when:

  • You need to grant additional permissions to specific users
  • Managing specialized roles that don’t warrant separate profiles
  • Rolling out new features to pilot groups
  • Handling temporary access needs
  • You want to minimize the number of profiles

❌ Don’t use Permission Sets when:

  • Trying to grant record access (use sharing instead)
  • The permission is universal for a job function (include in profile)
  • Over-complicating what could be a simple profile design
  • Performance is already impacted by excessive assignments

Best Practices for Permission Sets

RizeX Labs recommends these strategies:

  1. Follow the “Minimum Profile, Maximum Permission Set” Approach
    • Keep profiles minimal (base access for job functions)
    • Use permission sets for specialized access
    • Reduces profile sprawl and simplifies maintenance
  2. Use Clear Naming Conventions
    • Name format: Function - Access Level - Object
    • Example: “Sales – Edit – PriceBook”
    • Makes purpose immediately clear
  3. Bundle Logically with Permission Set Groups
    • Group related permissions together
    • Create bundles by role or function
    • Makes assignment and maintenance easier
  4. Document Purpose and Assignment Criteria
    • Maintain documentation explaining:
      • What each permission set grants
      • Who should receive it
      • Under what circumstances
  5. Regular Access Reviews
    • Quarterly audits of permission set assignments
    • Remove unnecessary assignments
    • Verify users still need granted permissions
  6. Leverage Custom Permissions
    • Use custom permissions for feature flags
    • Enable/disable functionality in code based on permission sets
    • Provides ultra-granular control
  7. Test in Sandbox
    • Always test permission combinations before production deployment
    • Verify no unintended access is granted
    • Check for conflicts between multiple permission sets
  8. Monitor License Consumption
    • Some permissions consume additional licenses
    • Track assignments that might impact licensing costs
    • Example: Marketing User, Knowledge User

Comprehensive Comparison: Sharing Rules vs Role Hierarchy vs Permission Sets

Now that we’ve explored each feature in detail, let’s compare them side by side:

Quick Reference Comparison Table

FeatureRole HierarchySharing RulesPermission Sets
Primary PurposeGrant record access based on org structureExtend record access based on ownership or criteriaGrant object and field level permissions
Access LevelRecord LevelRecord LevelObject/Field Level
DirectionOnly upward (vertical)Lateral and cross-functionalN/A (permission-based)
Can Restrict Access?No (only opens)No (only opens)No (only grants)
Configuration ComplexityLow to MediumMedium to HighMedium
Performance ImpactLowMedium (can be high with many rules)Low to Medium
Typical Use CaseManager needs to see team recordsCross-team collaboration neededUser needs additional functional capabilities
Maintenance EffortLow (stable structure)Medium (rules need review)Medium (assignment management)
Requires OWD SettingYes (must be Private or Public Read Only)Yes (must be more restrictive than desired access)No
Number per Org Limit500 (best practice)300 per object2,000 (1,500 permission sets + 500 groups)
Automatic for Users?Based on role assignmentBased on group membership or ownershipBased on explicit assignment

Detailed Feature Comparison

1. Scope of Control

Role Hierarchy:

  • Controls: Which records users can view
  • Does NOT control: Object access, field access, or record actions
  • Scope: Entire organization’s vertical structure

Sharing Rules:

  • Controls: Which records specific groups can access
  • Does NOT control: Object access, field access (beyond record visibility)
  • Scope: Specific objects and record sets

Permission Sets:

  • Controls: Object access, field access, system capabilities
  • Does NOT control: Which specific records users can see
  • Scope: Individual user’s functional capabilities

2. Access Grant Methodology

Role Hierarchy:

textIF User.Role is above Record.Owner.Role
THEN grant read access to record

Sharing Rules:

textIF Record meets criteria OR Record.Owner in specified group
THEN grant specified access to target group

Permission Sets:

textIF User has Permission Set assigned
THEN grant specified object/field permissions

3. Business Alignment

Role Hierarchy aligns with:

  • Organizational chart
  • Reporting relationships
  • Management structure
  • Visibility based on position

Sharing Rules align with:

  • Cross-functional teams
  • Project-based collaboration
  • Regional or business unit structures
  • Record characteristics (value, type, status)

Permission Sets align with:

  • Job functions and specializations
  • Training and certifications
  • Temporary project needs
  • Feature access control

4. Change Management

Role Hierarchy:

  • Changes infrequently (when org restructures)
  • Major impact when roles change
  • Triggers sharing recalculation
  • Requires careful planning before modification

Sharing Rules:

  • May change with business process evolution
  • Modification triggers recalculation for affected records
  • Can be added/removed with moderate impact
  • Should be reviewed quarterly

Permission Sets:

  • Can change frequently (assignments)
  • Low impact on system performance
  • Easy to assign and revoke
  • Good for agile permission management

When to Use What: Decision Framework

At RizeX Labs, we’ve developed a simple decision tree to help determine which mechanism to use:

Step 1: What type of access do you need to grant?

If it’s about WHAT a user can do (create records, edit fields, run reports):
→ Use Permission Sets (or Profile)

If it’s about WHICH records a user can see:
→ Continue to Step 2

Step 2: What’s the pattern of access needed?

If managers need to see subordinates’ records (vertical visibility):
→ Use Role Hierarchy

If different teams/groups need to share records (lateral visibility):
→ Use Sharing Rules

If it’s one-off or user-specific:
→ Use Manual Sharing

Step 3: Validate with OWD Settings

Check your Object’s Organization-Wide Default:

  • If OWD is Public Read/Write: Neither Role Hierarchy nor Sharing Rules are needed
  • If OWD is Public Read Only: Role Hierarchy and Sharing Rules can grant edit access
  • If OWD is Private: Both Role Hierarchy and Sharing Rules are essential

Real-World Scenario Examples

Scenario 1: New Sales Operations Role

Requirement: Sales Ops team member needs to:

  • View all opportunities (regardless of owner)
  • Edit opportunity forecast fields
  • Cannot delete opportunities
  • Needs access to custom forecasting app

Solution:

  1. Permission Set: “Sales Operations Analyst”
    • Grants: Read access to Opportunity object
    • Grants: Edit access to forecast-related fields
    • Grants: Access to Forecasting app
    • Does NOT grant: Delete permission
  2. Sharing Rule: “All Opportunities to Sales Ops”
    • Type: Criteria-based
    • Criteria: All opportunities (no filter)
    • Share with: Sales Operations public group
    • Access: Read Only (edit controlled by field-level security)
  3. Role Hierarchy: Not needed (unless they manage a team)

Scenario 2: Partner Account Management

Requirement: Partner management team needs to:

  • See all accounts marked as “Partner Type”
  • Access partner-specific custom objects
  • Edit partnership fields
  • Manager needs to see team’s activities

Solution:

  1. Permission Set Group: “Partner Manager Bundle”
    • Permission Set 1: Partner Object Access (read/edit custom objects)
    • Permission Set 2: Partner Field Access (edit partner-specific fields)
  2. Sharing Rule: “Partner Accounts to Partner Team”
    • Type: Criteria-based
    • Criteria: Account Type = “Partner”
    • Share with: Partner Management Team public group
    • Access: Read/Write
  3. Role Hierarchy:
    • Create “Partner Manager” role
    • Create “Partner Specialist” role (reporting to Partner Manager)
    • Enables manager to see team activities

Scenario 3: Temporary Campaign Analyst

Requirement: Finance user needs to:

  • Analyze campaign ROI for Q4 (3-month project)
  • Read access to Campaign and Opportunity objects
  • Cannot edit any marketing data
  • No permanent permission change

Solution:

  1. Permission Set: “Campaign Analyst – Read Only”
    • Grants: Read access to Campaign, Campaign Member objects
    • Grants: Read access to Opportunity (if not already available)
    • Assign for project duration, then remove
  2. Sharing Rule: Potentially not needed if:
    • Campaign OWD is Public Read Only or Public Read/Write
    • If Campaign OWD is Private, create temporary sharing rule
  3. Role Hierarchy: Not applicable (temporary, cross-functional need)

Common Pitfalls and How to Avoid Them

Through our work at RizeX Labs, we’ve seen organizations make these common mistakes:

Pitfall 1: Over-Reliance on Profiles

Mistake: Creating a unique profile for every slight variation in access needs.

Result: Profile explosion (50+ profiles), maintenance nightmare, confusion.

Solution:

  • Limit profiles to core job functions (Sales User, Service User, etc.)
  • Use permission sets for specialized access
  • Aim for fewer than 10-15 profiles if possible

Pitfall 2: Ignoring OWD Settings

Mistake: Setting OWD to Public Read/Write “to make things easier.”

Result: Anyone can see and edit any record; sharing rules and role hierarchy become useless.

Solution:

  • Start with the most restrictive OWD that makes sense
  • Use Role Hierarchy and Sharing Rules to open access as needed
  • Never use OWD as a band-aid for poor security design

Pitfall 3: Too Many Sharing Rules

Mistake: Creating dozens of sharing rules instead of simplifying access model.

Result: Performance degradation, complex troubleshooting, slow record saves.

Solution:

  • Consolidate rules where possible
  • Consider if OWD should be less restrictive
  • Use criteria-based rules to combine multiple owner-based rules
  • Regular audits to identify redundant rules

Pitfall 4: Not Understanding the Access Layers

Mistake: Trying to use permission sets to grant record access, or sharing rules to grant object access.

Result: Frustration, access issues, security gaps.

Solution:

  • Remember the layer hierarchy:
    1. Profile/Permission Sets (Can I see this object?)
    2. OWD (What’s the baseline record access?)
    3. Role Hierarchy (What records do I see based on hierarchy?)
    4. Sharing Rules (What additional records do I see?)
    5. Manual Sharing (Any special one-off access?)

Pitfall 5: Neglecting Field-Level Security

Mistake: Granting object access without considering field-level security.

Result: Users can see records but not the fields they need, or see sensitive fields they shouldn’t.

Solution:

  • Always consider field-level security in permission sets
  • Use field-level security to hide sensitive data
  • Review field access when creating permission sets

Pitfall 6: Poor Documentation

Mistake: Implementing complex sharing and permission structures without documentation.

Result: Future admins can’t understand why access is configured a certain way; fear of making changes leads to band-aid solutions.

Solution:

  • Document every sharing rule’s business purpose
  • Maintain a permission set catalog
  • Create visual diagrams of role hierarchy
  • Include decision rationale in descriptions

Best Practices: The RizeX Labs Approach

Based on our extensive Salesforce implementation experience, here are our top-level best practices:

1. Design with Security First

  • Start with the principle of least privilege
  • Grant only the access users need to do their jobs
  • Design your security model before building customizations
  • Make OWD as restrictive as practical

2. Follow the Modern Permission Model

Recommended Approach:

textMinimal Profiles + Extensive Permission Sets + Strategic Sharing Rules

Implementation:

  • 5-10 base profiles maximum
  • 30-50 focused permission sets
  • 10-20 well-designed sharing rules per critical object

3. Name Everything Consistently

Examples:

  • Roles: [Department] - [Level] - [Region] → “Sales – Manager – West”
  • Permission Sets: [Function] - [Access Level] - [Object] → “Marketing – Edit – Campaign”
  • Sharing Rules: [Object] - [Criteria/Owner] to [Target Group] → “Opportunity – High Value to Executives”
  • Public Groups: [Function] - [Region/Type] → “Sales Reps – East Coast”

4. Implement Regular Reviews

Quarterly Review Checklist:

  •  Audit role hierarchy assignments (users in correct roles?)
  •  Review sharing rule necessity (still needed? can be consolidated?)
  •  Audit permission set assignments (users still need access?)
  •  Check for unused public groups
  •  Review OWD settings (still appropriate?)
  •  Validate field-level security (aligned with business needs?)

5. Test Thoroughly Before Deployment

Testing Protocol:

  1. Create test users representing each major use case
  2. Verify object and field access as expected
  3. Confirm record visibility aligns with requirements
  4. Test edge cases (user in multiple groups, multiple permission sets)
  5. Validate in sandbox with production data refresh
  6. User acceptance testing with actual end users

6. Monitor Performance

Key Metrics:

  • Sharing rule recalculation times
  • User login times
  • Record save times
  • Number of sharing entries per record
  • Apex Sharing Reason usage

Warning Signs:

  • Record saves taking >3 seconds
  • Sharing recalculation taking hours
  • Users reporting slow loading times
  • Role hierarchy over 500 roles

7. Plan for Scale

Scalability Considerations:

  • Will this design work with 10x users?
  • What happens when we expand to new regions?
  • Can new products/business lines fit this model?
  • Is the sharing rule logic sustainable long-term?

8. Document Everything

Essential Documentation:

  • Security model overview diagram
  • Role hierarchy visual chart
  • Sharing rule inventory with business justification
  • Permission set catalog with assignment criteria
  • OWD settings with rationale
  • Onboarding guide for new admins

Advanced Considerations

For organizations with complex needs, consider these advanced concepts:

Apex Managed Sharing

When sharing rules and role hierarchy aren’t sufficient, Apex managed sharing allows programmatic control of record access.

Use Cases:

  • Complex sharing logic based on multiple criteria
  • Dynamic sharing based on real-time calculations
  • Integration with external systems for access control
  • Temporary sharing with automatic expiration

Example: Share accounts with users in the same territory as the account’s custom Territory__c field value.

Territory Management

An alternative to role hierarchy for sales organizations:

Benefits:

  • More flexible than role hierarchy
  • Supports matrix organizations
  • Multiple territory assignments per user
  • Territory-based forecasting

Considerations:

  • Additional license costs
  • More complex to implement
  • Requires ongoing territory maintenance

Teams (Account Teams, Opportunity Teams, etc.)

Built-in Salesforce functionality for record-specific sharing:

Use Cases:

  • Cross-functional deal teams
  • Account-specific support teams
  • Default teams for automatic assignment

Benefits:

  • Record-specific granular sharing
  • Default team templates for consistency
  • User-managed (with proper permissions)

Troubleshooting Common Access Issues

“Why can’t User X see Record Y?”

Diagnostic Checklist:

  1. Check Object-Level Access
    • Profile/Permission Sets: Does the user have Read access to the object?
    • App Visibility: Is the object tab visible in their apps?
  2. Check Organization-Wide Default
    • What’s the OWD setting for this object?
    • If Private/Public Read Only, does sharing exist?
  3. Check Role Hierarchy
    • Is the user’s role above the record owner’s role?
    • Is the user even assigned a role?
  4. Check Sharing Rules
    • Are there sharing rules that should apply?
    • Is the user in the target group?
    • Does the record meet the criteria?
  5. Check Manual Sharing
    • Has the record been manually shared with this user?
    • Check in the record’s “Sharing” button
  6. Use “Sharing Hierarchy” Button
    • On the record, click “Sharing” to see all sharing sources
    • Verify what sharing exists

Common Resolutions:

  • Add user to appropriate public group (for sharing rule access)
  • Assign permission set (for object access)
  • Adjust role hierarchy (for vertical access)
  • Create new sharing rule (if systematic need exists)

“Why can User X see Record Y when they shouldn’t?”

Diagnostic Checklist:

  1. Check OWD Setting
    • If Public Read/Write or Public Read Only, all users can see records
  2. Check Role Hierarchy
    • Is Record Y owned by someone below User X in hierarchy?
  3. Check Sharing Rules
    • Are there sharing rules granting access?
    • Is User X in a group receiving access?
  4. Check Manual Sharing
    • Has someone manually shared the record?
  5. Check Team Membership
    • Is User X on the Account Team, Opportunity Team, etc.?
  6. Check “View All” and “Modify All”
    • Does User X’s profile/permission sets include “View All” for this object?

Common Resolutions:

  • Remove user from public group
  • Remove manual sharing
  • Adjust sharing rule criteria
  • Make OWD more restrictive
  • Remove “View All” permission

Real-World Implementation: Complete Example

Let’s walk through a complete implementation for a fictional company to tie everything together.

Company Profile: TechSolutions Inc.

Business:

  • B2B SaaS company
  • 200 employees
  • Sales, Marketing, Support, Professional Services departments
  • Regional sales structure (North, South, East, West)

Requirements

  1. Sales reps can only see their own accounts and opportunities
  2. Regional managers can see all accounts/opportunities in their region
  3. VP of Sales can see everything
  4. Support can see all accounts, but only cases assigned to them
  5. Professional Services needs to see opportunities over $50K
  6. Marketing needs to see all leads, but only edit their own campaigns
  7. Sales Ops needs to view all opportunities and edit forecast data
  8. Account Executives need additional forecasting capabilities

Implementation Design

Organization-Wide Defaults

textAccount: Private
Contact: Controlled by Parent
Opportunity: Private
Case: Private
Lead: Public Read/Write
Campaign: Public Read Only

Rationale:

  • Private for sensitive sales data
  • Leads are Public Read/Write (team can collaborate on qualification)
  • Campaigns Public Read Only (marketing controls, but visibility is good)

Role Hierarchy

textVP of Sales
    ├── Regional Manager - North
    │   ├── Account Executive - North 1
    │   └── Account Executive - North 2
    ├── Regional Manager - South
    │   ├── Account Executive - South 1
    │   └── Account Executive - South 2
    ├── Regional Manager - East
    │   ├── Account Executive - East 1
    │   └── Account Executive - East 2
    └── Regional Manager - West
        ├── Account Executive - West 1
        └── Account Executive - West 2

VP of Support
    ├── Support Manager
    │   ├── Support Agent 1
    │   └── Support Agent 2

VP of Marketing
    ├── Marketing Manager
        ├── Marketing Specialist 1
        └── Marketing Specialist 2

Note: Professional Services and Sales Ops don’t need roles (access via sharing rules)

Permission Sets

  1. “Account Executive – Standard”
    • Read/Create/Edit: Account, Contact, Opportunity
    • Read: Case, Campaign
    • App Access: Sales Console
  2. “Account Executive – Advanced Forecasting”
    • Edit: Opportunity forecast fields
    • Access: Forecasting app
    • Custom Permission: Advanced_Forecasting
  3. “Sales Operations Analyst”
    • Read: All sales objects
    • Edit: Opportunity forecast fields
    • System Permission: View Setup and Configuration (limited)
    • App Access: Analytics Studio
  4. “Support Agent – Standard”
    • Read: Account, Contact
    • Read/Create/Edit: Case
    • App Access: Service Console
  5. “Marketing User – Standard”
    • Read: Lead
    • Read/Create/Edit: Campaign, Campaign Member
    • App Access: Marketing Console
  6. “Professional Services – Opportunity Access”
    • Read: Opportunity
    • Read: Account (related to opportunities)

Permission Set Groups

  1. “Sales – Account Executive Bundle”
    • Includes: “Account Executive – Standard”
    • Includes: “Mobile App Access”
    • Includes: “Standard Report Builder”
  2. “Sales – Senior Account Executive Bundle”
    • Includes: All from “Sales – Account Executive Bundle”
    • Includes: “Account Executive – Advanced Forecasting”

Sharing Rules

  1. “Accounts to Support Team”
    • Type: Criteria-based
    • Criteria: All Accounts
    • Share with: Support Team (public group)
    • Access: Read Only
  2. “High Value Opportunities to Professional Services”
    • Type: Criteria-based
    • Criteria: Amount >= 50,000
    • Share with: Professional Services Team (public group)
    • Access: Read Only
  3. “All Opportunities to Sales Operations”
    • Type: Criteria-based
    • Criteria: All Opportunities
    • Share with: Sales Operations (public group)
    • Access: Read Only
  4. “Marketing Campaigns – Full Access”
    • Type: Owner-based
    • Owned by: Marketing Team (public group)
    • Share with: Marketing Team (public group)
    • Access: Read/Write

Public Groups

  1. “Sales Team – All”: All sales users
  2. “Sales Team – North”: North region sales
  3. “Sales Team – South”: South region sales
  4. “Sales Team – East”: East region sales
  5. “Sales Team – West”: West region sales
  6. “Support Team”: All support agents and managers
  7. “Marketing Team”: All marketing users
  8. “Professional Services Team”: All PS consultants
  9. “Sales Operations”: Sales ops analysts

Result: Access Matrix

User TypeAccount AccessOpportunity AccessCase AccessLead Access
Account ExecOwn + below in hierarchyOwn + below in hierarchyRead-only via sharingRead/Write (OWD)
Regional ManagerTeam’s (via hierarchy)Team’s (via hierarchy)Read-only via sharingRead/Write (OWD)
VP SalesAll (via hierarchy)All (via hierarchy)Read-only via sharingRead/Write (OWD)
Support AgentAll (via sharing rule)NoneOwn + below in hierarchyRead/Write (OWD)
Marketing UserNoneNoneNoneRead/Write (OWD)
PS ConsultantRelated to $50K+ opps$50K+ (via sharing rule)NoneNone
Sales OpsVia sharing to view allAll (via sharing rule)NoneRead/Write (OWD)

This implementation satisfies all requirements while maintaining security, performance, and maintainability.


Conclusion: Building a Robust Salesforce Security Model

Understanding the differences between Salesforce Sharing RulesRole Hierarchy in Salesforce, and Permission Sets in Salesforce is fundamental to creating a secure, scalable, and efficient Salesforce org.

Key Takeaways

  1. They Work Together, Not in Isolation
    • Role Hierarchy provides vertical, organizational visibility
    • Sharing Rules enable lateral, cross-functional access
    • Permission Sets grant functional capabilities
    • Together, they form a comprehensive security model
  2. Each Has a Specific Purpose
    • Don’t try to make one feature do another’s job
    • Use the right tool for the right access need
    • Understand the layer each operates on
  3. Start Restrictive, Open as Needed
    • Begin with the most restrictive OWD that makes sense
    • Use profiles to grant baseline access
    • Extend with permission sets for specialized needs
    • Open record access via hierarchy and sharing rules
  4. Simplicity Wins
    • Fewer profiles are better
    • Consolidate sharing rules where possible
    • Clear naming and documentation
    • Regular reviews to remove complexity
  5. Think Long-Term
    • Design for scale
    • Consider future organizational changes
    • Build flexibility into your model
    • Document for future administrators

About RizeX Labs

We’re Pune’s leading IT training institute specializing in emerging technologies like Salesforce and data analytics. At RizeX Labs, we help professionals master the complexities of the Salesforce ecosystem—from core security architecture to advanced automation—through hands-on training, real-world projects, and expert mentorship. Our programs are designed to transform learners into job-ready Salesforce professionals with the deep technical knowledge required to manage secure and scalable CRM environments.


Internal Links:


External Links:

What services does RizeX Labs (formerly Gradx Academy) provide?

RizeX Labs (formerly Gradx Academy) provides practical services solutions designed around customer needs. Our team focuses on clear communication, reliable support, and outcomes that help people make informed decisions quickly.

How can customers get help quickly?

Customers can contact our team directly for fast support, clear next steps, and timely follow-up. We prioritize responsiveness so questions are answered quickly and issues are resolved without unnecessary delays.

Why choose RizeX Labs (formerly Gradx Academy) over alternatives?

Customers choose us for trusted expertise, transparent guidance, and consistent results. We focus on practical recommendations, personalized service, and long-term relationships built on reliability and accountability.

Scroll to Top