To prepare for security audits of hybrid Salesforce-cloud applications, follow these steps:
1. **Secure Credentials and Secrets**:
- Encrypt secrets using AES-128 or higher for server applications and store encryption keys securely.
- Use vendor-provided keychains or secure storage for client applications.
- Avoid storing secrets in browser apps; rely on password managers instead.
2. **Perform Security Scans**:
- Use tools like Salesforce Code Analyzer or Checkmarx to identify vulnerabilities.
- Conduct manual testing to catch issues automated tools might miss.
- Include external endpoints and components in your testing.
3. **Implement CRUD/FLS Checks**:
- Enforce proper CRUD and field-level security (FLS) checks, especially for standard objects.
- Assess and address vulnerabilities in custom objects.
4. **Validate Sensitive Data Handling**:
- Avoid writing sensitive data (e.g., API tokens, passwords) to debug logs.
- Encrypt and securely store sensitive data.
5. **Prepare Documentation**:
- Provide detailed documentation, including security policies, test results, and explanations for false positives.
- Include user documentation and tailored information security policies.
6. **Test External Components**:
- Ensure secure data transfer and validate the security of external services.
- Provide access credentials and URLs for external components during the audit.
7. **Follow Best Practices**:
- Adhere to industry security standards and Salesforce guidelines.
- Use scoped permissions, admin-configurable options, and explicit security checks.
8. **Engage with Security Review Teams**:
- Schedule office hours with Salesforce security engineers for guidance.
- Submit your application for review through the AppExchange Partner Console.
These steps will help ensure your application meets security standards and is ready for audits.