You set Private at the organization-wide default level, per object, in Sharing Settings. This is an admin action that changes the baseline access for everyone who does not own the record. Test in a sandbox first, because tightening a default removes access from non-owners once recalculation completes.
- Open Sharing Settings
From Setup, type Sharing Settings in the Quick Find box and select it. This page lists the organization-wide defaults for every standard and custom object in one grid.
- Edit the Organization-Wide Defaults area
Click Edit in the Organization-Wide Defaults section. You will see a Default Internal Access column, and a Default External Access column if external defaults are enabled.
- Set the object to Private
Find the object you want to lock down and choose Private in its Default Internal Access dropdown. Set the external default to Private too unless the business needs external users to see more.
- Review Grant Access Using Hierarchies
Decide whether managers should automatically see records owned by people below them. For custom objects you can turn this off; for standard objects it stays on. Leave it on unless you have a specific reason not to.
- Save and wait for recalculation
Click Save. If you tightened access, Salesforce starts sharing recalculation and emails you when it finishes. Verify with a non-owner test user that records are now hidden as expected.
The baseline for internal users. Set to Private so only owners and their management chain see the records by default.
The baseline for Experience Cloud and other external users. Cannot be more permissive than the internal value; Private is the safe choice.
Controls whether the role hierarchy opens access upward. Disable only on custom objects where managers genuinely should not inherit subordinate records.
- Tightening a default to Private triggers sharing recalculation that can take time in large orgs; the access loss for non-owners is immediate once it completes.
- The external default can never be set higher than the internal default, so you may need to lower internal access first.
- If Apex code references sharing for a custom object, Salesforce can block changes to that object's organization-wide default.
- Private only sets the floor. Forgetting to add sharing rules or hierarchy access afterward is the usual cause of "I cannot see my team's records" tickets.