Skip to main content

SF-0058 · Concept · Medium

What is 'Controlled by Parent' in OWD settings?

✓ Verified by Vikas Singhal · Last reviewed 5/17/2026

Controlled by Parent is an OWD value that says, “Don’t compute sharing for this object — copy access from the master record.” It’s the only OWD value where the child object has no independent record-access setting; whatever access a user has to the parent record is mirrored on the child. It only applies to objects that are the detail side of a master-detail relationship, and to standard objects that have a built-in parent-child relationship (Contact under Account, in some configurations).

What it actually does

When OWD on the detail object is Controlled by Parent:

  • A user who has Read on the parent record gets Read on every child record.
  • A user who has Read/Write on the parent gets Read/Write on every child.
  • A user who can’t see the parent record can’t see any child records.
  • Sharing rules, manual sharing, Apex sharing on the child object are not allowed — Salesforce won’t let you create them. All access flows through the parent.

This is the standard Salesforce pattern for “this child only makes sense in the context of its parent” — line items on a sale, photos attached to an inspection, comments on a case.

Where Controlled by Parent appears

Master-detail child objects always have Controlled by Parent as their OWD — it’s not just an option, it’s the default and (for master-detail) the only available OWD. You configure it via Setup → Sharing Settings → Default Sharing Settings → Edit, where the child object’s OWD dropdown is locked to Controlled by Parent.

For some standard objects (notably Contact, which has a quasi-parent relationship to Account), you can choose between Controlled by Parent and an independent OWD (Private / Public Read Only / Public Read/Write). Most orgs leave Contact on Controlled by Parent so account access governs contact access automatically.

A concrete example

Imagine an Inspection__c object (custom) with a master-detail field to Property__c:

  • OWD on Property__c: Private.
  • OWD on Inspection__c: Controlled by Parent (forced by the master-detail).

Alice owns Property #1 and Property #2. She sees Inspection records linked to those two properties — no separate sharing required. If a sharing rule grants Bob Read on Property #1, Bob automatically gets Read on every Inspection of Property #1. If Bob is removed from the sharing rule, his access to the Inspections vanishes the next time sharing recalculates.

What you give up

Choosing master-detail (and therefore Controlled by Parent) comes with constraints:

  • No independent sharing. You can’t share an Inspection without sharing its Property.
  • Cascade delete. Deleting the parent deletes all children automatically.
  • Required parent. Every child must have a parent at all times.
  • Field-level recalc. Roll-up summary fields on the parent depend on this relationship.

If you need children with independent owners and sharing, switch to lookup instead, and set the child’s OWD independently (Private, Public Read Only, etc.).

Common interview follow-up

“Can I make a master-detail child’s OWD Private instead?”

No. As long as the relationship is master-detail, the child’s OWD is forced to Controlled by Parent. To get an independent OWD, change the relationship to a lookup — at which point you can choose any standard OWD, but you also lose roll-up summaries and cascade delete.

Verified against: Salesforce Help — Organization-Wide Sharing Defaults and Sharing & Visibility Architect resources. Last reviewed 2026-05-17.