Hoppa till innehåll

The Building, the Offices and the File Cabinets

Det här innehållet är inte tillgängligt på ditt språk än.

Module 2 of 4 in the chapter Thinking Like a Security Architect, chapter 1 of Securing Salesforce: Sharing and Visibility. Each module stands on its own.

The question this module answers: Why does Salesforce have separate controls for getting in, for objects and fields, and for records, and what happens where they meet?

Here’s a situation you’ll meet in almost every org. A user’s permission set gives her Edit on opportunities. She opens an opportunity, and there’s no way to edit it. Her permission set says Edit. So what happened?

Nothing is broken. She’s just run into two different sets of controls, and they disagree. To see why, I use a building.

Security as a building A house labelled Your org. Step 1: a person stands outside, next to the front door on the left wall, labelled "The front door: Who are you?". Step 2: the person is at the door, and three checks appear beside it: Password, MFA and Biometrics. Step 3: inside the house are two offices. The Accounting office is open ("you may come in") and the person is inside it; the HR office is closed with a padlock ("not for you"). Caption: the offices, can you see the object, the field? Step 4: the Accounting office holds three file cabinets. Every drawer has a padlock except one in the middle cabinet, outlined: "one drawer opened for you". Caption: the file cabinets, which records? {"author": "Steve Simpson", "blueprint": "1.0.0", "builder": "concept 1.2.0", "built": "2026-10-28", "id": "DGM-SVA-SM-01", "rights": "\u00a9 2026 Twinshark LLC. All rights reserved.", "template": "building 0.3.0", "theme": "stevetecharc 1.4.0"} Your org 1 The front door Who are you? Password MFA Biometrics Accounting office you may come in one drawer opened for you HR office not for you 2 The offices: can you see the object, the field? 3 The file cabinets: which records? © 2026 Twinshark LLC · stevetecharc.com
Click to enlarge

The first set of controls is the front door. Before anything else, the building has to know who you are. That’s authentication: your username and password, your second factor, the IP ranges and hours you’re allowed to log in from. I consider authentication finished when the user has a valid session and can start making requests. From that moment on, everything is authorization: what can this person do?

The front door has its own chapter, The Front Door: Logging In to Salesforce, so here I’ll only say this: getting in tells you nothing about what someone can see once they’re inside. Those are separate decisions, made with separate tools.

The front door: who are you? The front wall of a house labelled Your org, with a tall door. A person stands outside the door. Beside the door, a panel lists the checks at the door. Who are you? Password, MFA, Biometrics. From where? IP restrictions. When? Login hours. Caption: 1, the front door, who are you? {"author": "Steve Simpson", "blueprint": "1.0.0", "builder": "concept 1.2.0", "built": "2026-10-28", "id": "DGM-SVA-SM-03", "rights": "\u00a9 2026 Twinshark LLC. All rights reserved.", "template": "building 0.3.0", "theme": "stevetecharc 1.4.0"} Your org Who are you? Password MFA Biometrics From where? IP restrictions When? Login hours 1 The front door: who are you? © 2026 Twinshark LLC · stevetecharc.com
Click to enlarge

Once you’re in the building, you’re not allowed everywhere. You’re allowed onto the first floor and the second floor. You’re allowed into the accounting office, but you’re not allowed into the HR office.

In Salesforce, that’s what I call structural security: the structure of the app. Which apps do you see? Which tabs? Which objects, and which fields on them? Which reports, page layouts and Lightning page assignments, which experience pages? Can you read, create, edit or delete this kind of data at all? To me, structural security comes down to two questions: can you see an object, and can you see a field?

The tools for the offices are profiles, permission sets and permission set groups, along with the places those settings get assigned from: the App Manager, tabs, the Lightning App Builder, report types and the Object Manager. Everything started on the profile, years ago. Today, more and more of it moves to permission sets, and the next chapters show why.

Notice what structural security doesn’t say. It says you may work with accounts. It doesn’t say which accounts.

The offices: can you see the object, the field? Inside the house: the Accounting office, open, with a person just inside its door. On its wall, four signs: Apps, Tabs, Objects, Fields. Next to it, the HR office, closed with a padlock: not for you. Caption: 2, the offices, can you see the object, the field? Set by profiles, permission sets and permission set groups. {"author": "Steve Simpson", "blueprint": "1.0.0", "builder": "concept 1.2.0", "built": "2026-10-28", "id": "DGM-SVA-SM-04", "rights": "\u00a9 2026 Twinshark LLC. All rights reserved.", "template": "building 0.3.0", "theme": "stevetecharc 1.4.0"} Accounting office you may come in Apps Tabs Objects Fields HR office not for you 2 The offices: can you see the object, the field? Set by profiles, permission sets and permission set groups © 2026 Twinshark LLC · stevetecharc.com
Click to enlarge

So now you’ve walked into the HR office. You’re allowed to be there. But all the file cabinets are locked. You say, “I need to go pull somebody’s file,” and they ask you, “Why do you get their file?”

Just because you made it into the HR office doesn’t mean you should see every file. Just because you made it into the accounting office doesn’t mean you should see every file either. That’s record access: of all the records of an object you’re allowed to work with, which ones can you see, and what can you do with each one?

Record access is a completely different set of mechanisms from the offices. The organization-wide defaults set how locked the cabinets are to begin with. Then the role hierarchy, public groups, sharing rules, manual shares, teams, territories, programmatic sharing and more each unlock particular cabinets for particular people. Many of them work by writing rows to a share table that sits behind the object, recording who has access to which record and why, though not every mechanism uses one. I organize them as Steve’s 25 ways to share a record. The 25 ways give you a comprehensive view across the spectrum of record-sharing capabilities. They aren’t a list of every setting or sub-mechanism that can affect a record, or a field, and the count has grown before: it was 17 when I first made a video about it. Chapter 5 lays out the whole map before Parts 2 and 3 walk through the ways one at a time.

One thing record access assumes: you already have the office. Sharing a record with someone who has no access to the object doesn’t let them in. The record mechanisms only decide which files in the room you can open.

The file cabinets: which records? Inside the Accounting office: three large file cabinets. Every drawer has a padlock except the middle drawer of the middle cabinet, which is pulled out with a file in it: a record shared with you. Caption: 3, the file cabinets, which records? Opened by org-wide defaults, roles, groups, sharing rules: Steve's 25 ways. {"author": "Steve Simpson", "blueprint": "1.0.1", "builder": "concept 1.4.0", "built": "2026-10-30", "id": "DGM-SVA-SM-05", "rights": "\u00a9 2026 Twinshark LLC. All rights reserved.", "template": "building 0.3.0", "theme": "stevetecharc 1.4.0"} Accounting office a record shared with you 3 The file cabinets: which records? Opened by org-wide defaults, roles, groups, sharing rules: Steve's 25 ways © 2026 Twinshark LLC · stevetecharc.com
Click to enlarge

Where they meet: the most restrictive wins

Section titled “Where they meet: the most restrictive wins”

Now back to our user with Edit on opportunities.

When the offices and the file cabinets overlap, Salesforce doesn’t add them together. The most restrictive one wins. If the profile or permission set says Edit and the record is shared with you as Read Only, you get Read. And it works the other way too: if the record is shared with you as Read/Write but your profile and permission sets only give you Read on the object, you get Read. It’s not additive. Being generous in one layer doesn’t make up for the other.

Salesforce’s own sharing guide uses almost exactly this example. Users with object permissions to read and edit opportunities, in an org where the organization-wide default is Read-Only, “can read all opportunity records, but can’t edit any unless they own the record or are granted other permissions” (Platform Sharing Architecture (opens in a new tab), checked 2026-11-01).

That’s our user. Her permission set opened the office for editing. The organization-wide default left that opportunity’s cabinet open for reading only. She gets the more restrictive of the two.

Two locks, and the tighter one decides A person on the left, then three cards in a row. The office: the object allows Edit. The file cabinet: the record is shared Read Only. She gets: Read, the more restrictive, in a dark card. Below, a grid. Down the side, what the object allows: No access, Read, Edit. Across the top, how the record is shared: Read Only, Read/Write. No access gives No access in both columns (can't get into the office, can't see the records). Read gives Read in both. Edit gives Read with Read Only, outlined as her case, and Edit with Read/Write. Under the grid, an amber band: View All or Modify All on the object, the one exception: every record of that object, whatever the sharing. {"author": "Steve Simpson", "blueprint": "1.0.0", "builder": "concept 1.2.0", "built": "2026-10-28", "id": "DGM-SVA-SM-02", "rights": "\u00a9 2026 Twinshark LLC. All rights reserved.", "template": "locks 0.1.0", "theme": "stevetecharc 1.4.0"} The officethe object allowsEdit The file cabinetthe record is sharedRead Only She getsthe more restrictiveRead The record is shared The object allows Read Only Read/Write No access No access No access can't get into the office, can't see the records Read Read Read Edit Read Edit View All or Modify All on the object the one exception: every record of that object, whatever the sharing © 2026 Twinshark LLC · stevetecharc.com
Click to enlarge

The one exception: View All and Modify All

Section titled “The one exception: View All and Modify All”

There’s one place where the office does open the cabinets. On each object, the View All Records and Modify All Records permissions, which many people still call View All and Modify All, give access to every record of that object, whatever the sharing says. In Salesforce’s words, they “ignore sharing rules and settings.” This is the one time a structural permission overrides a restrictive sharing model. Above those sit the View All Data and Modify All Data permissions, which open every record of every object in the org.

Notice what they open: the records, not the fields. Salesforce is clear that View All Data, Modify All Data, View All Records and Modify All Records “don’t override field-level security.” Users still need field permissions to see each field, or a separate object permission, View All Fields, which lets them see every field on that object “regardless of assigned field permissions” while still respecting sharing (“View All” and “Modify All” Permissions Overview (opens in a new tab) and Object Permissions (opens in a new tab), Salesforce Help, both checked 2026-11-01). So the cabinets and the fields are still two different locks, even here.

Salesforce calls the per-object permissions “often preferable alternatives” to View All Data and Modify All Data, and I agree: if someone really needs every record of one object, give them that one object, not the whole org. But treat both like the master key to the building. A View All granted to make a sharing problem go away has quietly unlocked every cabinet of that object for that user, and that’s exactly the kind of door module 1 warned about. If you’re granting it, it should be a design decision you can explain, not a fix.

I teach these as three layers because, in a real org, every access question is really a question about one of them.

When someone can’t see a record, or can see one they shouldn’t, ask in order. Did they get in, and how? What office are they in: do they have the object and the field? And which cabinets are open to them: how is this record shared with them, or why isn’t it? Most confusing access problems become simple once you know which layer you’re in. And when you design, the same order keeps you honest: lock the front door, give each person only the offices they need, and then open only the cabinets they need.

That last part matters more every year. The users coming through the door now include integration users and agents, and each one is placed in the same building, with the same three layers. Part 3 of this course has a chapter on what agents can see.

  • Which layer a requirement belongs to: getting in, the object and field, or the record.
  • How locked the cabinets start (the organization-wide default) for each object, before any sharing is added.
  • Where a user’s object access and record access must both line up for them to do their job, remembering the most restrictive wins.
  • Whether anyone truly needs View All or Modify All on an object, and never View All Data or Modify All Data as a shortcut.