Salesforce Admin Zero to Hero - Module 3: Profiles Mastery | SF Interview Pro

Salesforce Admin Zero to Hero - Module 3: Profiles Mastery | SF Interview Pro
🔐 Salesforce Admin Zero to Hero — Module 3 of 25

Profiles Mastery

Module 2 introduced Profile as one of two critical fields on a User. This module goes all the way down — every permission type, every gotcha, and how to design a Profile strategy that scales as your org grows.

Module 3 of 25 · Phase 1: Org Setup & Security Foundations
🎯 What You Will Master in This Module
A Profile is the single most powerful permission-granting object in Salesforce — it determines what objects a user can access, what they can do with each field, what system-wide capabilities they have, and even when and from where they are allowed to log in. Most real-world access problems trace back to a Profile setting, which is exactly why this module goes deep rather than broad.
The complete picture of what a Profile actually controls
Object-Level Security — CRUD permissions, View All, and Modify All
Field-Level Security — the full chain from FLS to Page Layout to Permission Set
System Permissions — the genuinely dangerous ones every Admin must understand
Login Hours and Login IP Ranges — restricting when and where users can log in
Standard vs Custom Profiles, and how to clone Profiles correctly
A practical Profile design strategy that scales as your org grows
Concept 1 of 7
What a Profile Actually Controls — The Complete Picture
A Profile is far more comprehensive than most beginners realize. It is not just "object permissions" — it is a complete bundle of permission categories that together define everything a user is capable of doing in the org, separate entirely from what they can SEE (which is Role and Sharing, covered in Modules 4 and 5).
⚡ Why This Matters
When troubleshooting "why can this user do X" or "why can't this user do Y," knowing the full scope of what Profile controls means you check the right place first, instead of guessing across Role, Sharing, Permission Sets, and Profile randomly.
A Profile bundles together SEVEN distinct permission categories: 1. Object Permissions — Create/Read/Edit/Delete/View All/Modify All per object 2. Field-Level Security — Visible / Read-Only / Hidden per field 3. System Permissions — org-wide capabilities like Manage Users, API Enabled 4. App Visibility — which Lightning/Classic Apps appear in the App Launcher 5. Tab Settings — Default On/Off/Hidden for each object's tab 6. Page Layout Assignment — which layout this profile's users see per object 7. Login Hours / IP Ranges — WHEN and FROM WHERE this profile can log in
🛠️ Hands-On: Tour a Profile End-to-End
1Setup → Quick Find → Profiles → click Standard User
2Scroll through the page noting each section in order: Custom App Settings, Tab Settings, Record Type Settings, Page Layouts, Field-Level Security, Object Settings, System Permissions, Login Hours, Login IP Ranges
3Click into Object Settings → click Account. Notice the checkboxes for Read, Create, Edit, Delete, View All, Modify All — this is Object-Level Security, covered fully in Concept 2.
4Go back → click Field-Level Security for Account → notice you can set each individual field as Visible and/or Read-Only — covered fully in Concept 3.
5Go back → scroll to System Permissions → notice dozens of org-wide capability checkboxes like "API Enabled," "Manage Users," "View Setup and Configuration" — covered fully in Concept 4.
6This single page is the entire permission surface area of a Profile — internalize that everything lives here, in one place, per Profile.
⚠️ Common Gotcha — Enhanced Profile UI vs Original UI
Salesforce has two different Profile editing interfaces: the original Profile page (long scrolling page with all settings) and the Enhanced Profile User Interface (a left-navigation, single-setting-at-a-time view), enabled via Setup → User Interface. Both control the EXACT same underlying permissions — only the navigation experience differs. If your screen looks different from a tutorial or from a colleague's screen, check Setup → User Interface → Enhanced Profile User Interface to see which mode is active.
Concept 2 of 7
Object-Level Security — CRUD, View All, and Modify All
Object-Level Security is the most fundamental layer of access control — before a user can interact with any record of a given object at all, their Profile (or a Permission Set) must grant the relevant permission on that object. There are six distinct permissions per object, and understanding the difference between basic CRUD and the two "All" permissions is essential.
⚡ Why This Matters
Object-Level Security is the FIRST gate every data access check passes through. If Read is not granted on an object, no sharing rule, no role hierarchy position, and no record ownership can override that — the user simply cannot see ANY record of that object type, full stop.
PermissionWhat It GrantsScope
ReadView records of this object (subject to sharing/visibility)Only records the user can already see via ownership/role/sharing
CreateCreate new records of this objectAlways org-wide — anyone with Create can make new records
EditModify existing records of this objectOnly records the user can already see via ownership/role/sharing
DeleteDelete existing records of this objectOnly records the user can already see via ownership/role/sharing
View AllSee EVERY record of this object, bypassing sharing rules entirelyOrg-wide — ignores Role Hierarchy and Sharing Rules completely
Modify AllEdit AND Delete every record of this object, bypassing sharing rulesOrg-wide — ignores Role Hierarchy and Sharing Rules completely
🛠️ Hands-On: See the Effect of Object-Level Security Directly
1Setup → Profiles → click Standard User → Object Settings → click Account → click Edit
2Notice Read, Create, Edit, Delete are checked by default for Standard User, but View All and Modify All are unchecked.
3Uncheck Delete for Account → Save. Any user with this Profile can no longer delete ANY Account record, regardless of ownership.
4Re-check Delete to restore the default → Save.
5Now check View All for Account → Save. Any user with this Profile can now see EVERY Account in the org, even ones owned by other users in unrelated teams, completely bypassing Role Hierarchy and Sharing Rules.
6Uncheck View All again to restore default behavior — this was just to observe the effect, not a setting you should leave enabled without genuine business justification.
⚠️ Critical Gotcha — View All / Modify All Bypass Everything
View All and Modify All are NOT just "stronger versions" of Read and Edit — they fundamentally bypass the entire sharing and visibility model covered in Module 5. A user with View All on Opportunities sees every single Opportunity in the org, including ones from completely different sales teams, regions, and business units, regardless of any sharing rule or role hierarchy restriction. These permissions should be granted extremely sparingly — typically only to specific reporting/analytics roles or System Administrators, never as a quick fix for a narrower visibility request.
Concept 3 of 7
Field-Level Security — The Full Visibility Chain
Field-Level Security (FLS) controls whether a specific field is Visible, Read-Only, or completely Hidden to users on a given Profile — independent of whether the object itself is accessible. But FLS is only ONE link in a longer chain that determines whether a user actually sees a field on screen, and confusing FLS with Page Layout placement is one of the most common Admin troubleshooting mistakes.
⚡ Why This Matters
"This field is missing from the record page" is one of the most common support tickets an Admin receives. Understanding the full chain — not just FLS alone — is what lets you diagnose the actual cause in under a minute instead of randomly checking settings.
The COMPLETE chain determining if a field appears on screen: 1. Field-Level Security (Profile or Permission Set) → If Hidden here, the field NEVER appears, regardless of anything else 2. Page Layout → If FLS allows it, but the field is not ADDED to the layout, it still won't show 3. Dynamic Forms / Lightning Page (if used instead of classic Page Layout) → Component-level visibility filters can additionally hide a visible, laid-out field Most restrictive setting ALWAYS wins. FLS Hidden overrides everything else.
FLS SettingEffect
Visible (checked) + Read-Only (unchecked)User can see AND edit this field, if it is also on their Page Layout
Visible (checked) + Read-Only (checked)User can see but NOT edit this field, even if their Page Layout allows editing
Visible (unchecked)Field is completely Hidden — does not appear anywhere for this user, regardless of Page Layout
🛠️ Hands-On: Trace the Full FLS Chain Yourself
1Setup → Object Manager → Account → Fields & Relationships → create a new Text field called Internal Notes if you do not already have a spare custom field, or use an existing one.
2During field creation, on the Field-Level Security step, UNCHECK Visible for Standard User profile → Save.
3Go to any Account record (while logged in as System Administrator, who has Visible checked by default) — confirm you can see the field.
4Now go to Setup → Profiles → Standard User → Field-Level Security → Account → confirm Internal Notes shows as not Visible.
5Check Visible but ALSO check Read-Only for this field on Standard User → Save. A user on this Profile would now see the field, but any edit attempt would be blocked.
6This exercise demonstrates exactly how to verify the FLS layer independent of Page Layout — the most common diagnostic step when a "missing field" ticket arrives.
⚠️ Common Gotcha — Page Layout Alone Cannot Override Hidden FLS
A very common beginner mistake is spending significant time re-arranging a Page Layout trying to make a field appear, when the actual problem is that Field-Level Security has the field set to Hidden for that user's Profile. No amount of Page Layout configuration can make a field appear if FLS says Hidden — FLS is always checked first and always wins if it says Hidden. Always verify FLS before troubleshooting Page Layout placement.
Concept 4 of 7
System Permissions — The Genuinely Dangerous Ones
System Permissions are org-wide capabilities that have nothing to do with any single object — they grant the ability to perform powerful, system-level actions. A small number of these permissions are powerful enough that granting them carelessly is one of the most common ways Salesforce orgs end up with serious security gaps.
⚡ Why This Matters
Unlike Object-Level Security, which is scoped to one object, a System Permission like "Modify All Data" affects literally every object and every record in the entire org simultaneously. Understanding which System Permissions are genuinely high-risk is essential knowledge for any Admin responsible for org security.
PermissionWhat It GrantsRisk Level
Modify All DataEdit, delete, and transfer ownership of EVERY record of EVERY object in the entire org, plus bypass most validation rules🔴 Extremely High — equivalent to near-Admin data access
View All DataView every record of every object in the org, bypassing all sharing🔴 Extremely High — total visibility, no restriction
Manage UsersCreate, edit, deactivate, and freeze any user; assign any Profile or Permission Set🟠 High — can grant elevated access to anyone, including themselves
Customize ApplicationModify Setup configuration — create fields, objects, automation, layouts🟠 High — can change how the entire org functions
API EnabledAllows API access (Data Loader, integrations, custom apps) for this user🟡 Medium — necessary for integrations, but expands the attack surface
Author Apex / Manage Apex ClassesCreate or modify Apex code, which runs with elevated system-level access🟠 High — Apex can bypass FLS and sharing by design
🛠️ Hands-On: Locate and Audit Dangerous System Permissions
1Setup → Profiles → click System Administrator → scroll to Administrative Permissions section → confirm Modify All Data and View All Data are checked. This is expected — System Admin is meant to have full access.
2Now click Standard User Profile → check the same section → confirm Modify All Data and View All Data are UNCHECKED. This is the correct, secure default for a regular user profile.
3A genuinely important audit habit: Setup → Quick Find → Profiles → review EVERY custom Profile in your org and check whether Modify All Data or View All Data are enabled. If a Sales Rep profile has these checked, that is almost always a red flag worth investigating.
4Setup → Quick Find → Health Check → click it. Salesforce automatically flags risky permission combinations across your org's Profiles — this tool is covered in full in Module 24, but it is worth knowing it exists from this point forward.
💡 Prefer Permission Sets for Granting Elevated Permissions
Rather than enabling a dangerous System Permission directly on a Profile (which affects every single user on that Profile), the modern best practice is to grant it via a dedicated Permission Set assigned only to the specific individuals who genuinely need it. This makes the elevated access explicit, auditable, and easy to revoke for one person without affecting an entire Profile of users. Permission Sets are covered fully in Module 6.
⚠️ Common Gotcha — "Modify All Data" Implies Almost Everything
Modify All Data is so powerful that it effectively grants most other capabilities implicitly — a user with this permission can view, edit, delete, and transfer ANY record, bypass most validation logic, and access Setup areas related to data management, even without those specific permissions individually checked. Granting Modify All Data should be treated with nearly the same caution as granting the System Administrator Profile itself.
Concept 5 of 7
Login Hours & Login IP Ranges — Controlling When and Where
Beyond controlling WHAT a user can do, a Profile can also restrict WHEN they are allowed to log in (Login Hours) and FROM WHERE (Login IP Ranges). These are powerful, often underused security controls that are particularly valuable for contractor accounts, call center shift workers, or any scenario where access should be naturally time-boxed or location-boxed.
⚡ Why This Matters
A contractor's account that can only log in during their contracted hours, from their assigned office IP range, is dramatically less risky if their credentials are ever compromised, compared to an account with unrestricted 24/7 access from anywhere in the world.
Login Hours example for a Call Center Profile: Monday 9:00 AM - 6:00 PM Tuesday 9:00 AM - 6:00 PM ... Saturday (not set — login blocked entirely) Sunday (not set — login blocked entirely) Login IP Ranges example for an Office-Only Profile: 203.0.113.0 - 203.0.113.255 (Mumbai office IP block) 198.51.100.0 - 198.51.100.255 (Bangalore office IP block) ⚠ Login attempts from any OTHER IP are blocked entirely
🛠️ Hands-On: Configure Login Hours and a Login IP Range
1Setup → Profiles → click Standard User → scroll to Login Hours → click Edit
2Set Monday through Friday to 9:00 AM6:00 PM. Leave Saturday and Sunday blank (meaning no login allowed those days). Click Save.
3Scroll to Login IP Ranges → click New. Enter a Start IP Address and End IP Address representing your office's IP block (for testing, you could enter your own current public IP as both start and end).
4Click Save. Any user on this Profile attempting to log in from outside this IP range will now be blocked, even with correct credentials.
5To revert for your learning org: delete the Login IP Range entry and reset Login Hours back to 24/7 for all days, since these restrictions would otherwise block your own future logins if your IP changes.
💡 Login IP Ranges vs Trusted IP Ranges — Important Distinction
Profile-level Login IP Ranges are STRICT — a login from outside the range is completely blocked, no exceptions. This is different from org-wide Trusted IP Ranges (Setup → Network Access), which simply skip the additional identity verification challenge (like an emailed verification code) for logins from those IPs, while still allowing login from elsewhere with extra verification. Do not confuse these two similarly-named but functionally different security mechanisms.
⚠️ Common Gotcha — Locking Yourself Out
If you set a Login IP Range on the Profile you yourself are using, and your IP address changes (common with home internet, mobile networks, or VPNs), you can be completely locked out of your own org with no way to log in through the normal UI. Before setting Login IP Ranges on any Profile, always ensure at least one System Administrator Profile remains unrestricted, so there is always a path back into the org if something goes wrong.
Concept 6 of 7
Standard vs Custom Profiles, and Cloning Correctly
Salesforce ships with a set of Standard Profiles (System Administrator, Standard User, Marketing User, Solution Manager, and others depending on edition) that CANNOT be deleted and have limited editability in some areas. Real-world implementations almost always create Custom Profiles — typically by cloning a Standard Profile as the starting point — to get full control over every permission.
⚡ Why This Matters
Standard Profiles have certain System Permissions locked and cannot be fully customized in older Salesforce editions. Cloning into a Custom Profile is the standard professional practice, giving you complete control while still starting from a sensible, tested baseline rather than building permissions from a completely blank slate.
Standard ProfileCustom Profile
Can be deleted?No, neverYes, if no users are assigned to it
Full permission control?Limited — some System Permissions are locked depending on editionYes — full control over every permission
NamingFixed names like Standard User, System AdministratorYou choose the name — should reflect the actual job function
Recommended for real users?Rarely — too generic for most real business rolesYes — this is the standard professional approach
🛠️ Hands-On: Clone a Profile to Create a Custom Sales Rep Profile
1Setup → Profiles → click Standard User → click Clone at the top of the page
2In the Profile Name field, enter XYZ Company - Sales Rep. This naming convention (Company - Job Function) is a widely used best practice that makes Profile lists self-explanatory.
3Click Save. You now have a brand new Custom Profile with the exact same starting permissions as Standard User, but fully independent — changes to one do not affect the other.
4Customize this new Profile specifically for a Sales Rep: go to Object Settings → Opportunity → ensure Create, Read, Edit are checked, Delete is unchecked (sales reps typically should not delete Opportunities directly).
5Go to your Test User from Module 2 → Edit → change their Profile to XYZ Company - Sales Rep → Save. This user is now governed by your new custom permission set.
⚠️ Common Gotcha — Too Many Near-Identical Custom Profiles
A very common anti-pattern is creating dozens of nearly-identical Custom Profiles with tiny variations (Sales Rep East, Sales Rep West, Sales Rep North differing only in one field permission), making the Profile list unmanageable over time. The modern best practice, covered fully in Module 6, is to create fewer, broader baseline Profiles and layer small variations on top using Permission Sets instead — keeping the Profile list lean while still achieving precise, individualized access control.
Concept 7 of 7
Profile Design Strategy — Building Something That Scales
With everything covered in this module, let us consolidate it into a practical strategy for designing Profiles in any real org, whether you are setting up a brand new implementation or cleaning up an existing messy one.
⚡ Why This Matters
A poorly designed Profile structure becomes a genuine liability as a company grows — every new hire becomes a guessing game of "which Profile do they need," every access request becomes a one-off Profile edit affecting unrelated users, and security audits become significantly harder. Getting this right from the start saves enormous pain later.
A practical, scalable Profile strategy: 1. Design Profiles around BROAD JOB FUNCTIONS, not individuals (e.g. "Sales Rep," "Sales Manager," "Support Agent" — not "John's Profile") 2. Keep the NUMBER of Profiles small and intentional (Aim for under 15-20 Custom Profiles even in a large org) 3. Set Object Permissions and Field-Level Security at the Profile level for things EVERYONE in that job function needs 4. Use Permission Sets (Module 6) for EXCEPTIONS and additions (e.g. "this one Sales Rep also needs Campaign access") 5. NEVER put real users on System Administrator unless they genuinely need full org-wide configuration access 6. Review Profiles periodically — remove unused custom Profiles, audit dangerous System Permissions, check Login IP/Hours are current
🛠️ Hands-On: Audit Your Org's Current Profile Structure
1Setup → Quick Find → Profiles → review the full list
2For each Custom Profile, ask: does its name clearly indicate a job function? Note any that do not follow a clear naming convention.
3Click into each Profile with users assigned and check the Administrative Permissions section — flag any non-Admin Profile with Modify All Data or View All Data enabled for review.
4Check the Users count for each Profile (visible on the Profile list page) — flag any Profile with zero users assigned as a candidate for cleanup or deletion.
5This audit exercise — performed periodically, ideally quarterly — is exactly the kind of proactive security hygiene that separates a well-maintained org from one that accumulates risk silently over time.
⚠️ Module Wrap-Up
Profiles are powerful but intentionally broad-brush — they are best used for permissions that apply to an entire job function. Module 4 covers Roles and the Role Hierarchy, which determines data VISIBILITY rather than permissions. Module 5 covers the full Sharing Model on top of that. Module 6 then introduces Permission Sets and Permission Set Groups, the modern mechanism for layering individual exceptions on top of a clean, broad Profile structure — directly solving the "too many near-identical Profiles" problem flagged in Concept 6.
💬 Module 3 Interview Questions (6)
Q1A user reports they cannot delete any Opportunity records, even ones they own. Their Profile shows Delete is checked for Opportunity. What else could cause this?
Even with Delete checked at the Object-Level Security layer, several other factors can still prevent deletion. First, a Validation Rule could be blocking the deletion indirectly by failing on a related save action, though validation rules typically affect edits more than deletes directly. Second, and more commonly, the Opportunity may have related child records, such as Orders or Contracts, that prevent deletion due to referential integrity, requiring those related records to be removed first. Third, if Apex triggers or Flow automation include explicit logic that prevents deletion under certain conditions, such as blocking deletion of Opportunities past a certain stage, that automation would override the base permission. Fourth, the record might actually not be owned by this user despite their belief, since true ownership should always be verified directly on the record rather than assumed. The diagnostic approach is to attempt the deletion and read the EXACT error message Salesforce returns, since it usually identifies the specific blocking cause.
"Beyond the base Delete permission, check for child records preventing deletion due to referential integrity, Apex triggers or Flow automation with explicit deletion-blocking logic, and confirm actual record ownership — the exact error message Salesforce returns usually identifies the specific cause."
Q2Explain the practical difference between Object-Level Security and Field-Level Security, and give an example of a situation requiring both to be configured correctly.
Object-Level Security controls whether a user can interact with a given object type AT ALL, through the Create, Read, Edit, and Delete permissions, acting as the first gate that determines whether any access to that object's records is even possible. Field-Level Security operates one layer deeper, controlling whether a SPECIFIC FIELD on an object the user already has some access to is Visible, Read-Only, or Hidden, independent of the object-level permissions. A concrete example requiring both: a Sales Rep needs Read and Edit at the Object-Level for Opportunity to access Opportunity records at all, but a sensitive field like Internal_Margin__c might need Field-Level Security set to Hidden for that same Profile, ensuring the Sales Rep can fully work with Opportunities while still never seeing the company's internal margin calculation on each deal.
"Object-Level Security is the first gate determining whether a user can access an object type at all (Create/Read/Edit/Delete); Field-Level Security is a deeper layer controlling visibility of specific fields on objects the user can already access — both must be configured correctly for scenarios like hiding a sensitive margin field from reps who still need general Opportunity access."
Q3Why is granting "Modify All Data" considered nearly as risky as granting the System Administrator Profile itself?
Modify All Data grants the ability to view, edit, delete, and transfer ownership of every single record across every single object in the entire organization, while also bypassing most validation rule enforcement during these operations. This effectively grants nearly unrestricted data-level access throughout the org, which is the vast majority of what makes the System Administrator Profile powerful in the first place, the primary difference being that Modify All Data alone does not necessarily grant Setup configuration access like creating fields or modifying automation. Because of this near-total data access, granting Modify All Data to a user who does not genuinely need full data administration capability creates essentially the same risk profile as making them a System Administrator, which is why this permission should be treated with the same level of scrutiny and should generally be granted through a tightly scoped Permission Set to specific individuals rather than broadly on a Profile.
"Modify All Data grants nearly unrestricted view, edit, delete, and ownership-transfer access across every object and record in the org while bypassing most validation rules, representing the vast majority of System Administrator's actual power even without full Setup configuration access, which is why it should be granted with the same level of caution."
Q4What is the risk of setting a Login IP Range on a Profile without first ensuring there is an unrestricted path back into the org, and how do experienced Admins protect against this?
If a Login IP Range is configured on a Profile and a user's IP address subsequently changes, due to switching networks, home internet changes, mobile data usage, or VPN configuration changes, that user can be completely blocked from logging in through the standard interface with no way to resolve it themselves, since the IP restriction is enforced before authentication even completes. If this restriction is mistakenly applied to or affects the only System Administrator account, the organization could face a complete lockout with no internal path to fix the configuration, requiring an emergency support case with Salesforce to resolve. Experienced Admins protect against this by always maintaining at least one System Administrator Profile or a dedicated break-glass admin account with NO Login IP Range restrictions, ensuring there is always a verified path back into the org regardless of what restrictions are applied to other Profiles.
"An IP address change after a Login IP Range is set can completely lock a user out with no self-service recovery path, and if this affects the only Admin account it risks a full organizational lockout requiring a Salesforce support case — experienced Admins always maintain at least one unrestricted Admin Profile or break-glass account as a safeguard."
Q5Why do most real-world Salesforce implementations clone Standard Profiles into Custom Profiles rather than assigning users directly to Standard Profiles?
Standard Profiles like Standard User have certain System Permissions that are locked or have limited editability, particularly in older Salesforce editions, meaning they cannot be fully customized to match a specific organization's exact security requirements. Cloning a Standard Profile into a Custom Profile creates a fully independent copy with complete control over every single permission, while still starting from a sensible, Salesforce-tested baseline rather than building entirely from scratch. This also allows the Profile to be renamed to reflect an actual job function within the organization, such as "XYZ Company - Sales Rep," making the Profile list self-explanatory and far easier to manage and audit compared to having many users directly on generically-named Standard Profiles that do not reflect their actual organizational role.
"Standard Profiles have some permissions locked with limited editability, so cloning into a Custom Profile provides full permission control starting from a sensible baseline, while also allowing renaming to reflect actual job functions, making the Profile list far more self-explanatory and auditable than generic Standard Profile assignments."
Q6An organization has accumulated 80 Custom Profiles over several years, many with nearly identical permissions differing in only one or two settings. What problem does this represent and what is the recommended modern approach going forward?
This represents the common anti-pattern of using Profiles to handle individual or small-group exceptions rather than broad job functions, resulting in an unmanageable Profile list where it becomes increasingly difficult to understand what each Profile actually represents, audit security settings consistently, or onboard new Admins to understand the org's access model. The recommended modern approach is to consolidate down to a small number of broad, intentional Profiles organized around genuine job functions, typically well under 20 even for a large organization, and then use Permission Sets to layer small variations and exceptions on top of these broad baseline Profiles for specific individuals or smaller groups who need slightly different access. This dramatically reduces Profile count while still achieving the same precision of access control, since Permission Sets can be assigned and removed individually without needing a dedicated Profile for every minor permission variation.
"80 near-identical Profiles represents the anti-pattern of using Profiles for individual exceptions rather than broad job functions — the modern approach consolidates to a small number of intentional, broad Profiles with Permission Sets layering individual variations on top, achieving the same precision without an unmanageable Profile list."
📝 Module 3 Recap — Profiles Mastery Achieved
✅ A Profile bundles 7 categories: Object Permissions, FLS, System Permissions, App Visibility, Tab Settings, Page Layout Assignment, Login Hours/IP
✅ Object-Level Security: basic CRUD respects sharing; View All and Modify All completely bypass Role Hierarchy and Sharing Rules
✅ Field-Level Security Hidden always wins — no Page Layout configuration can override a Hidden field
✅ Modify All Data and View All Data are near-Admin-level powerful — audit which non-Admin Profiles have these enabled
✅ Login Hours and Login IP Ranges restrict WHEN and WHERE — always keep one unrestricted Admin path to avoid lockout
✅ Clone Standard Profiles into Custom Profiles named after real job functions, not generic Standard Profile names
✅ Keep Profile count small and broad; use Permission Sets (Module 6) for individual exceptions, not more Profiles
🎯 Module 3 Practical Checklist — Complete These in Your Org
1. Clone Standard User into a Custom Profile named XYZ Company - Sales Rep.
2. On this new Profile, uncheck Delete on Opportunity, and confirm View All / Modify All remain unchecked.
3. Create or use a custom field, set its FLS to Hidden on this Profile, and verify it does not appear on a test record.
4. Review your System Administrator Profile and confirm Modify All Data and View All Data are checked there (expected) and unchecked on Standard User (expected).
5. Set Login Hours on a test Custom Profile to weekdays only, then revert it.
6. Assign your Test User from Module 2 to this new Custom Profile.

Module 4 goes deep on Roles and the Role Hierarchy — the mechanism that determines data VISIBILITY, working alongside everything you just mastered about Profile-based permissions.
Test yourself on this topic
2,244 practice MCQs across 27 quizzes — 5 quizzes free, no signup
Open Practice Zone →
RK
Written by
Rajnish Kumar
Salesforce Developer · Apex, LWC, Data Cloud & AI · Building SF Interview Pro
Connect on LinkedIn ↗
Testimonials

Real feedback from real candidates

People using SF Interview Pro to prepare for Salesforce interviews
★★★★★
"Crashed multiple interviews thanks to this. Better than the paid courses I tried."
SP
Salesforce Professional
Developer
★★★★★
"No signup, no paywall. The Apex Trigger series alone got me through two rounds."
AK
Aditya K.
Salesforce Admin
★★★★★
"LWC Zero to Hero is more practical than any paid course I found."
RM
Riya M.
LWC Developer
★★★★★
"Practice Zone MCQs matched my actual interview difficulty almost exactly."
PS
Priya S.
Business Analyst
★★★★★
"Started knowing nothing. Three weeks later I had two offers."
MK
Mohit K.
Salesforce Admin
★★★★★
"Company-wise Accenture prep was scarily accurate."
SN
Sneha N.
Consultant
★★★★★
"Explains identity resolution better than official Trailhead modules."
VR
Vikram R.
Data Cloud Consultant
★★★★★
"Free and better than the paid prep I bought earlier."
TJ
Tanvi J.
Fresher
★★★★★
"Reports and Dashboards guide made a tricky topic finally click."
KP
Karan P.
Salesforce Admin
★★★★★
"SOQL Part 2 questions came up almost word for word in my interview."
AN
Ananya N.
Developer
★★★★★
"Field Service Lightning guide is the only good free resource I found."
RD
Rohan D.
FSL Consultant