Salesforce secures data in two distinct ways:
- Record level visibility (Can you see that Bob Smith exists?)
- Field-level detail (Can you see Bob Smith’s phone number and email?)
For now, let’s focus on the first one: simply knowing that Bob Smith is a customer.
Salesforce offers three main ways to control who sees what:
- Public: Everyone can see and edit all records. No gatekeeping here—Salesforce doesn’t need to check anything before showing you a record.
- Public Read Only: Everyone can see all records, but editing requires permission.
- Private: Records are hidden unless specific access is granted. Salesforce must verify whether you’re allowed to even know a record exists.
When visibility isn’t wide open (Public Read Only or Private), Salesforce needs a way to track who can see what. That’s where Share records come in.
Let’s say you set the Contact object to Private. Salesforce quietly creates a companion object called Contact Share. This is the backstage pass system—each record in Contact Share says, “Hey, this user is allowed to see this Contact.”
So when a user logs in and searches for a Contact, Salesforce checks the Contact Share table first. No Share record? No access. It’s that simple.
Real-World Example: ALM Trust
Meet Jane and John, two employees at ALM Trust.
- John works in risk analysis. He crunches numbers but doesn’t need to know who those numbers belong to.
- Jane supports customers directly. She needs access to Contact info to return calls and provide updates
Now let’s say Bob Smith is a customer.
- When John searches for Bob in Salesforce, the system checks Contact Share. No record found. John sees… nothing.
- When Jane searches for Bob, Salesforce finds a matching Contact Share record. The door opens. Jane sees Bob’s record—just the parts she’s allowed to access.
And that’s the magic of record-level sharing.
Stay tuned—we’ll dive into how Salesforce creates those Share records next. It’s where automation, roles, and rules come into play.