Defining your Experience Cloud data sharing model
One of the hardest parts of Salesforce to understand and stay on top of is the nature of record sharing and object visibility, as it is done declaratively… but can also be influenced or even overwritten by coding practices. The essence of Salesforce Security is profiles and roles, but they extend out to permission sets and sharing rules. Additionally, developers can write Apex code to respect sharing or not, meaning Apex code can override native Salesforce user security mechanisms in certain situations. Every now and then, Salesforce gloms these things together into a license-granted setting buried somewhere deep in Salesforce Setup or custom metadata.
For Experience Cloud purposes, we will stick with the declarative tools, as those should be the basis for your security design. At a high level, let’s review how profiles, roles, permission sets, and sharing rules work, while looking at the concepts of Field Level Security...