Profile and Permission Set
Term 61 of 80 · Technology
In one sentence
Profiles and permission sets are the two Salesforce mechanisms that define what a user can see and do. The profile is the required baseline (one per user), and permission sets add extra access without duplicating profiles.
Reviewed by Juan Manuel Garrido
Co-founder of VantegrateLinkedIn
In Salesforce, a profile and a permission set are the two mechanisms that control what each user can see and do on the platform. They define access to objects, fields, tabs, apps, records and administrative functions, and they are the foundation of any well-built security model. This is part of what is designed and managed under Security.
The profile is required and unique: each user has exactly one, and it works as the minimum permission baseline (license type, login settings, defaults). The permission set is optional and cumulative: it is assigned on top of the profile to add extra access for specific users, without having to clone an entire profile. The practical rule is simple: the profile defines the common floor, permission sets add the exceptions. They never take anything away: they only grant.
Salesforce has long pushed customers to minimize profiles and rely on permission sets, because maintaining dozens of nearly identical profiles is an administrative nightmare. A good design uses a few base profiles and many modular permission sets that are combined according to each person's real role.
How the access model works
Access control in Salesforce is built in layers. The profile sets the floor: it defines the user license, the login hours and IP ranges, the defaults for creating records and a first level of object and field permissions. On top of that floor, permission sets add specific capabilities. Since both are additive, a person's final access is the sum of what their profile grants plus every permission set assigned to them. If something is not enabled in any of those layers, the user cannot do it.
It is essential to understand what this layer controls and what it does not. The profile and permission sets decide access to objects (create, read, edit, delete), to fields (which properties each person can see or edit) and to functions (exporting reports, using the API, managing users). On the other hand, who can access which individual records within an object is handled by another layer: organization-wide defaults, the role hierarchy and sharing rules. Confusing the two layers is one of the most common mistakes when designing permissions.
Profile vs permission set
The difference is easiest to understand with a direct comparison:
| Aspect | Profile | Permission set |
|---|---|---|
| Number per user | Only one (required) | Zero or several (optional) |
| Effect | Defines the access floor | Adds extra access |
| Defines the license | Yes | No |
| Login settings (IP, hours) | Yes | No |
| Reusable across roles | No (it is one to one) | Yes (modular) |
| Maintenance at scale | Heavy if there are many | Light and combinable |
The practical takeaway: use the profile for what is structural and mandatory (license, login, defaults) and handle everything functional and variable with permission sets.
Why it matters for the business
A clean permission architecture is not just a technical topic: it is security, compliance and agility. It defines who can see sensitive customer data, who can export the entire database, who can touch critical configuration. A poorly built model leaves doors open (a sales rep who exports the whole customer portfolio the day they resign) or, the other way around, slows down operations because nobody has the access they need. In security audits or compliance processes, the first thing reviewed is what each person can do and why.
Concrete best practices
- Apply the principle of least privilege: each user gets only what their job requires, nothing more.
- Keep a few base profiles and delegate the variations to modular permission sets by function.
- Bundle related sets into a permission set group so you can assign them all at once.
- Document what each set grants: a name like "Export Sales Reports" is worth more than "PS_07".
- Review access periodically, especially when someone changes roles or leaves the company.
A concrete example (Argentina)
A consumer goods distributor in Buenos Aires has 40 sales reps, 5 supervisors and 2 administrators. Instead of creating three different profiles, it builds a single base profile, "Sales", with the standard license and login. On top of it, it assigns permission sets: supervisors get "View Team Pipeline" and "Approve Discounts", and administrators get "Manage Users" and "Export Reports". The day a rep is promoted to supervisor, the administrator does not touch their profile: they simply assign the two extra sets. A change that takes minutes, with zero risk of breaking everyone else's configuration.
Common mistakes
The most typical one is cloning profiles for every new nuance, until you end up with 30 nearly identical profiles that are impossible to maintain. Another is confusing this layer with the record layer: granting an object permission when the real problem was sharing. It is also common to forget to revoke access when someone leaves or changes departments, leaving orphaned permissions that are exactly what an audit flags. And the classic: granting "Modify All" or "View All" for convenience, wiping out all record-level security in one stroke.
FAQs about Profile and Permission Set
What are a profile and a permission set in Salesforce?
What are a profile and a permission set in Salesforce?
They are the two mechanisms that control what a user can see and do in Salesforce. The profile is required and unique per user: it defines the access baseline, the license and the login settings. The permission set is optional and is assigned on top of the profile to add extra access for specific users, without duplicating entire profiles. Both are additive: the final access is the sum of what the profile grants plus every set assigned.
What is the difference between a profile and a permission set?
What is the difference between a profile and a permission set?
The profile is required, unique per user and defines the access floor, including the license and the login settings (IP ranges, hours). The permission set is optional, can be assigned to many users and only adds extra access on top of the profile. The best practice is to keep a few base profiles for what is structural and handle all functional variations with modular, reusable permission sets.
Can a user have more than one profile in Salesforce?
Can a user have more than one profile in Salesforce?
No. Each user has exactly one profile, no more and no less, and it is required. To add more access you use permission sets, of which a user can have zero, one or several at the same time. That is precisely why Salesforce recommends relying on permission sets: they let you combine access without being tied to a single profile per person.
Do profiles and permission sets control access to individual records?
Do profiles and permission sets control access to individual records?
Not directly. Profiles and permission sets control access to objects, fields and functions, that is, what type of data and actions a user can touch. Who can access each individual record within an object is handled by another layer: organization-wide defaults, the role hierarchy and sharing rules. Confusing the two layers is one of the most common mistakes when designing security.
Why does Salesforce recommend permission sets instead of many profiles?
Why does Salesforce recommend permission sets instead of many profiles?
Because maintaining dozens of nearly identical profiles is hard to manage and error-prone. Permission sets are modular and reusable: the same set can be assigned to many users, and sets are combined according to each person's real role. So when someone changes jobs, you add or remove a set without touching their base profile, which reduces the risk of breaking configurations and makes periodic access reviews easier.
Your data, with this handled from day one
Every implementation runs on the certified infrastructure of Salesforce and AWS, with permissions and audit trails defined before a single record moves. We will walk you through the controls that apply to your case.
Related terms
- Salesforce AdministratorA Salesforce Administrator is the person who configures, maintains and customizes the platform without coding: they manage users, permissions, objects, automations and reports so that sales, marketing and service teams work on reliable data.
- Einstein Trust LayerThe Einstein Trust Layer is Salesforce's security and trust layer that protects generative AI: it masks sensitive data, does not train the models on your information and logs every interaction for auditing.
- GroundingGrounding is the technique that anchors an AI model's answers in real, verifiable data from your company (CRM, documents, databases) instead of letting it make things up, which reduces hallucinations and makes the system more reliable.
Security
How your data is protected in every implementation, on the certified infrastructure of Salesforce and AWS.
How we handle it in every implementationNow that you know what it is, see how it gets solved
Five AI products that work on top of the CRM you already use. They don't replace your system: they add the layer you do by hand today.





