Skip to content

    Salesforce Permission Auditing: Finding and Reducing Excessive Access

    Salesforce environments accumulate access over time. Users are provisioned with profiles that made sense at the time of hire, then assigned additional permission sets as their role evolves, and those permissions are rarely reduced when responsibilities change. The result is a significant number of users with more access than their current role requires — a condition that increases both insider risk and the impact of account compromise.

    Salesforce permission auditing is the process of systematically identifying where access exceeds what current roles and responsibilities require, and taking action to bring permissions into alignment with the principle of least privilege.

    Why Salesforce permissions are difficult to audit manually

    Salesforce's access model is flexible and layered — profiles define baseline access, permission sets and permission set groups add capabilities on top, and sharing rules control which records are visible. A user's effective access is the combination of all of these layers, which can be complex to assess even for a single user and becomes very difficult to manage across an organization of hundreds or thousands.

    Manual permission auditing is slow, error-prone, and typically only occurs as a periodic event rather than continuously. In the time between reviews, access can change significantly — particularly in fast-growing organizations where users change roles frequently.

    High-risk permission configurations to identify

    A Salesforce permission audit should specifically look for:

    • System Administrators who are no longer active: Dormant admin accounts represent a persistent attack surface
    • Users with Modify All Data or View All Data: These permissions bypass object-level security and grant access to every record in the org
    • API access for non-technical users: The "API Enabled" permission allows programmatic access; it should be limited to users and accounts that have a technical need for it
    • Export report and export object permission combinations: Users with both the ability to create reports and export them represent elevated data exfiltration risk
    • Manage Users permission: The ability to create, modify, and reset user accounts should be tightly controlled
    • Inactive users with active licenses: Former employees or contractors whose accounts were never deprovisioned

    Service account permission review

    Service accounts and integration users deserve specific attention in a Salesforce permission audit:

    • What profiles and permission sets does each service account hold?
    • Are those permissions proportional to the integration's functional requirements?
    • Is there documentation of what objects and fields each integration actually needs?
    • Has any integration been decommissioned, leaving a service account with active access?
    • Are service account credentials stored securely and rotated on a defined schedule?

    Conducting an ongoing permission review program

    A one-time permission audit provides a snapshot. An ongoing program maintains that state over time:

    • Schedule periodic access reviews (quarterly for privileged users, annually for standard users) and document the evidence
    • Integrate CRM user provisioning with HR lifecycle processes so that departures and role changes trigger automatic access review
    • Set up continuous monitoring for specific high-risk permission grants (Modify All Data, Manage Users) to alert when these are assigned
    • Review connected app authorizations as part of the periodic access review, not just user accounts

    Frequently Asked Questions

    What Salesforce tool shows all users' effective permissions?
    Salesforce provides the User Access and Permissions Assistant in newer orgs, and the Permission Explainer in Setup. For a comprehensive view of effective access including sharing rules, third-party tools or custom SOQL queries against the PermissionSet and PermissionSetAssignment objects are typically needed.
    How often should a Salesforce permission audit be conducted?
    For compliance purposes, annual reviews at minimum — with quarterly reviews for privileged users. Continuous automated monitoring for high-risk permission changes supplements periodic manual reviews.
    What is the difference between a profile and a permission set in Salesforce?
    Every Salesforce user has exactly one profile that defines their baseline access. Permission sets grant additional permissions on top of the profile without changing it. Permission set groups combine multiple permission sets. A user's effective access is determined by the combination of all three.
    Can CRMSentry automate Salesforce permission reviews?
    [PLACEHOLDER — founder to complete with accurate details about automation capabilities and access review workflow features.]
    What is the risk of leaving a System Administrator account active after an employee departs?
    An active System Administrator account belonging to a former employee represents a significant risk. If the account credentials are compromised — through credential stuffing, phishing, or reuse of credentials obtained from another breach — the attacker has immediate full administrative access to the Salesforce org.

    Related reading

    Secure your CRM

    CRMSentry provides continuous security monitoring, behavioral threat detection, and compliance posture management for Salesforce, Dynamics 365, and HubSpot.

    Get a CRM Security Assessment
    We use cookies to improve your experience. By continuing you accept our cookie policy.