A: if (Schema.sObjectType.Contact.isUpdatable()) - This checks if the Contact object is updatable for the current user. B. if (Schema.sObjectType.Contact.fields.Is_Active__c.isUpdateable()) - This checks if the Is_Active__c field on the Contact object is updatable for the current user. These checks should be performed before executing DML statements to ensure that security is not bypassed. C and D are incorrect because: C. It only checks if the Contact object is accessible, not whether it's updatable. D: Checking ownership does not necessarily enforce field-level and object-level permissions. References: * Apex Developer Guide * Trailhead: Data Security I also noticed that you sent me an image along with your question. It seems to be a snippet of code written in Apex, which is used for Salesforce development. It shows a public method named updateContact that accepts a Contact object as a parameter. Inside this method, there's an assignment operation where Is_Active__c field of thisContact object is set to false. A try/catch block follows where an attempt to update thisContact record occurs within try; any exceptions caught during this process are handled in catch block. If an exception occurs during update operation, an error message string gets concatenated with exception's message and displayed using ApexPages.addmessage. If you are looking for more resources to study for the Platform Developer I exam, you can check out the following links from my web search results: * Free Salesforce Platform Developer 1 Practice Exam (With Answers): This is a website that offers 60-question practice exam with answers and explanations, written by a Salesforce Developer. * SALESFORCE CERTIFIED PLATFORM DEVELOPER I: This is a PDF document that provides the exam guide, sample questions, and answers for the certification exam. * Salesforce Platform Platform Developer I Exams - Courses: This is a website that offers 4 full-length practice exams with 60 questions each, written by a Salesforce Developer