function readOnly(count){ }
Starting November 20, the site will be set to read-only. On December 4, 2023,
forum discussions will move to the Trailblazer Community.
+ Start a Discussion
Pedro Pinto 3Pedro Pinto 3 

OWD vs profile (private OWD vs profile CRED)

Hi All,

I'm a bit confused on this. if we have a standard user profile with (CRED) on all objects and OWD set for private (let's say on Opportunity object)

Will the standard user be able to CRED on any opportunity record (owned or not-owned)? or will they have zero access to opportunity records they do not own?

I was under the impression that the user will have zero access to CRED any records they do not own. Unless permitted by role hierachy or sharing rules.

Thanks alot everyone

Pedro
Amit Chaudhary 8Amit Chaudhary 8
If standard profile have view all or modify all access on profile then he can modify any record even if OWD is private.

Profile level access will override the OWD. Please check below post for more information
1) http://amitsalesforce.blogspot.in/2016/02/types-of-sharing-in-salesforce.html

User-added image

Let us k now if this will help you

Thanks
Amit Chaudhary
Pedro Pinto 3Pedro Pinto 3
Hi Amit,

Yes it does help and i've found the chart helpful before. 

To push the point further. What would be the point of CRED permissions to objects then if the admin can grant the user view/modify all data under system settings compared to object settings?

do CRED permission sets apply exclusively to record YOU own and nothing else?

take reference in this video as i found the info to be contracting on OWD. That or i just might be misunderstanding the video.

https://youtu.be/tPgWtulb8s0?list=PL6747B4DAE356E17C&t=287 

according to the video, if user profile has CRED and OWD is set to private, they will not have access to any other records outside the ones they own.

According to your answer, the view/modify all data will go around this issues, correct? it just seems a bit confusing when you can open up access under both apps/system settings in the profile area.

I took the exam last week and this was a main struggle for me so i want to make sure I conceptually learning the material properly. Thank you for your blog
Amit Chaudhary 8Amit Chaudhary 8
To push the point further. What would be the point of CRED permissions to objects then if the admin can grant the user view/modify all data under system settings compared to object settings?
Amit:- If you will grand view/modify all then no meaning of OWD  for that profile

do CRED permission sets apply exclusively to record YOU own and nothing else?
Amit:- If OWD is private and your have only create, edit and delete access then he can see his own record only.

according to the video, if user profile has CRED and OWD is set to private, they will not have access to any other records outside the ones they own.
Amit:- That is true only if profile dnt have view all and modify all access.

According to your answer, the view/modify all data will go around this issues, correct? it just seems a bit confusing when you can open up access under both apps/system settings in the profile area.
Amit:- view/modify all provide the system access.

let us know if this will help you
Nitin Wader 21Nitin Wader 21
Hi Pedro,

CRED and OWD are meant for different purpose.

CRED - What you can do with objects -
  1) CRED - Determines whether you can read, edit, create or delete records of given object. This is still at individual user level. Dont even bother about records owned by other users. CRED is set at profile level. So this setting is for maximum people who are in same profile. If some execptional user wants additional rights to perticular object the he is given through permission sets. So this is like top up for your profile level access.

2) OWD - now here comes persepctive of what you can do with records owned by other users. Whether its public read, public RW, Transfer.
    
View all and Modify all at CRED level are for obejcts and records.

Addition to that there is one more View All Data , Modify All data options on profile system setting which will allow those access regardless of sharing model.

Hope I answered your query.
 
Pedro Pinto 3Pedro Pinto 3
Thank you Amit and Nitin. This was helpful information.
Anshul Rathore 23Anshul Rathore 23
Thank you So much... Amit.. this helps alot.
Satya Ranjan MohantySatya Ranjan Mohanty

Hi ,

If OWD is private for a object can we give access to that object through code i mean apex class or trigger


satya
BhavanaBhavana
Hi,
I am unable to craete Opportunity with CRED permissions on profile. On click of New Opportunity, I am able to see the record type selection page, but when I select record type and click on Continue button, it says Insufficient privileges. Could someone please help me with this?
Thanks.
srashti jain 10srashti jain 10
Hi Bhavana,

you are getting this error because your profile is preventing you to access the opportunity object. Go to the profile and check the permissions. You should be having edit and create permission for accessing opportunity object or else check if there is any permission set having restricted access on opportunity object is active and assigned to you, If any then deactivate that and try.

Hope this will work.

Thanks.
anisha kadhiravanaanisha kadhiravana
Hi All,
Appreciate your inputs here .I am new to salesforce and working on a scenario as below.

I have two similar profiles( say Profile A and Profile B) both having delete (CRED) access in custom object - contracted product object in their respective profiles. There is a trigger set up to prevent delete of contracted product with a message except for few profiles[ these profiles name are stored in custom label and trigger looks for the profile name before firing message. Works fine ] .  An enhancement wants me to open delete access to Profile A.  This worked by adding the profile name to custom label but the same previlege is also opening up delete record access for Profile B without adding to custom label. 
There is no other logic i find justifying this behaviour. Can you throw some light what could be possible or if i am missing on anything.

Observation: 
The error message to stop deletion of record appears as long as Profile A is also not added to custom label. How can i prevent Profile B having this super user access while still be able to give delete access to profile A.
Thanks 
raj_sfdccraj_sfdcc
Hi ,
Find the below link to understand complete Step by Step Object Level Access Vs Record Level Access in Salesforce.
Object Level Access Vs Record Level Access (https://salessforcehacks.blogspot.com/2020/01/object-level-access-vs-record-level.html)