
Introduction: The $15,000 Mistake That Could Have Been Avoided
Picture this: You've spent six months building your Salesforce app. Your development team has poured countless hours into features your customers will love. You submit it for the Salesforce security review, confident you'll be listed on AppExchange within weeks.
Then the rejection email arrives.
"Your application does not meet our security requirements."
Back to the drawing board. Another month of development. More delays for your go-to-market strategy. Frustrated stakeholders. And worst of all? This scenario happens to over 60% of first-time AppExchange submissions.
Here's the truth: The Salesforce security review isn't just a formality. It's a rigorous examination that protects millions of Salesforce users from vulnerabilities, data breaches, and compliance nightmares.
But here's the good news: With the right preparation and a comprehensive Salesforce security review checklist, you can pass on your first attempt.
I've helped dozens of ISV partners navigate this process successfully. Today, I'm sharing the exact framework that's helped teams avoid costly delays and launch their apps faster.
What Is the Salesforce Security Review?
The Salesforce security review is a mandatory assessment for any app seeking public listing on the AppExchange marketplace. Think of it as a security audit that validates your application meets Salesforce's strict standards for data protection, authentication, and code quality.
Salesforce takes this seriously because your app will potentially access sensitive customer data across thousands of organizations.
The review examines several critical areas:
Code security practices and vulnerability testing
Data handling and encryption protocols
Authentication mechanisms and session management
API security and rate limiting
Third-party integrations and dependencies
Passing this review isn't optional if you want AppExchange visibility. But the benefits extend beyond marketplace access—it validates your commitment to security and builds customer trust.
Why Most Apps Fail the Security Review (And How to Avoid It)
After analyzing hundreds of security review submissions, I've identified the top reasons apps get rejected:
1. Inadequate Input Validation
Many developers assume Salesforce's built-in protections are enough. They're not.
Your app must validate and sanitize all user inputs to prevent injection attacks. This includes SOQL injection, XSS (cross-site scripting), and command injection vulnerabilities.
Common mistake: Accepting user input directly into SOQL queries without proper escaping or binding variables.
2. Improper Session Management
Session tokens must be handled securely throughout the user journey. Weak session management opens the door to session hijacking and unauthorized access.
3. Missing Security Headers
Your application needs proper HTTP security headers to protect against common web vulnerabilities. Missing Content Security Policy (CSP) or X-Frame-Options headers are red flags for reviewers.
4. Insufficient Error Handling
Error messages that expose sensitive system information, stack traces, or database structures create security risks. Your error handling should be informative for developers but generic for end users.
5. Inadequate Documentation
Believe it or not, incomplete security documentation causes many rejections. Reviewers need clear explanations of your security architecture, data flows, and threat mitigation strategies.
The Complete Salesforce Security Review Checklist
Let me walk you through the exact checklist that's helped my clients achieve first-time approval.
Phase 1: Pre-Submission Preparation
Before you even think about submitting, complete these foundational steps:
Security Assessment Documentation
Create a comprehensive security architecture document
Map all data flows between systems
Document authentication and authorization mechanisms
List all third-party services and APIs used
Prepare vulnerability assessment reports
Code Security Baseline
Implement parameterized queries for all SOQL/SOSL operations
Apply proper encoding for all user-generated content
Use platform-provided security libraries (like String.escapeSingleQuotes())
Enable and configure CRUD/FLS (Field-Level Security) checks
Remove all hardcoded credentials and sensitive data
Pro tip: Create a dedicated security review environment that mirrors production but allows reviewers safe access.
Phase 2: Application Security Hardening
This is where most teams need to roll up their sleeves.
Input Validation & Sanitization
Your Salesforce security review checklist must include rigorous input validation:
Validate all input types (text, numbers, dates, files)
Implement whitelist validation where possible
Sanitize HTML content using Salesforce's sanitization methods
Escape special characters in dynamic SOQL
Limit file upload sizes and validate file types
Implement rate limiting for API endpoints
Real-world example: A financial services app we reviewed was accepting currency amounts as raw strings. By implementing strict numeric validation with decimal precision checks, we prevented potential calculation errors that could have cost customers thousands.
Authentication & Authorization
Security reviewers scrutinize how you verify user identity and control access:
Implement OAuth 2.0 for authentication (required for connected apps)
Use Salesforce's session management (never create custom sessions)
Enforce proper permission checks before data operations
Implement role-based access controls (RBAC)
Validate sharing rules are respected
Check object and field-level permissions before CRUD operations
Data Protection & Encryption
Protecting customer data is non-negotiable:
Encrypt data in transit using TLS 1.2 or higher
Implement encryption for sensitive data at rest
Use Salesforce Shield Platform Encryption for highly sensitive fields
Implement proper key management practices
Ensure PII (Personally Identifiable Information) is handled securely
Document data retention and deletion policies
Phase 3: Code Quality & Vulnerability Testing
Salesforce expects you to actively hunt for vulnerabilities before submission.
Static Code Analysis
Run Salesforce CLI Scanner on your codebase
Use PMD or similar tools for code quality checks
Review and fix all critical and high-severity findings
Document any accepted risks with justification
Ensure code comments don't contain sensitive information
Dynamic Testing
Perform penetration testing on your application
Test for OWASP Top 10 vulnerabilities
Conduct injection attack testing (SOQL, XSS, etc.)
Test session management and timeout behaviors
Verify proper error handling under attack scenarios
Important: Keep detailed records of all testing performed. Reviewers often request this documentation.
Phase 4: Third-Party Integration Security
If your app connects to external services, pay special attention here.
API Security
Implement API authentication (API keys, OAuth tokens)
Validate all API responses before processing
Implement timeout handling for external calls
Use HTTPS for all external communications
Implement circuit breakers for failing services
Log all external API interactions
Dependency Management
Audit all third-party libraries and packages
Ensure all dependencies are current and patched
Document the security posture of each dependency
Remove unused libraries and code
Verify open-source licenses are compatible
Cautionary tale: One app was rejected because it used a JavaScript library with a known CVE (Common Vulnerabilities and Exposures). The library wasn't even actively used—it was just included in the codebase. Always audit your dependencies.
Phase 5: Security Documentation
This is often the most underestimated aspect of the Salesforce security review process.
Required Documentation
Security architecture diagram showing data flows
Threat model identifying potential risks
Security controls matrix mapping threats to mitigations
Vulnerability assessment report with remediation status
Data classification and handling procedures
Incident response plan
Change management procedures
Best Practices for Documentation
Write your security documentation as if you're explaining to a skeptical CISO (Chief Information Security Officer). Be thorough but clear.
Include:
Assumptions about the security environment
Boundaries of what your app protects
Limitations and known constraints
Compensating controls for accepted risks
Phase 6: User Privacy & Compliance
Data privacy regulations are tightening globally. Salesforce reviewers check compliance carefully.
Privacy Requirements
Implement privacy policy accessible from the app
Provide clear data collection notices
Enable user consent mechanisms where required
Implement data portability features (GDPR requirement)
Create data deletion workflows
Document data processing agreements
Compliance Frameworks
Consider these common requirements:
GDPR compliance for EU data subjects
CCPA compliance for California residents
HIPAA considerations for healthcare apps
SOC 2 controls for enterprise customers
PCI DSS for payment processing
Phase 7: Final Pre-Submission Checks
You're almost ready to submit. Don't skip these final verification steps.
Technical Verification
Test app installation in a fresh Salesforce org
Verify all security configurations deploy correctly
Test with different user profiles and permission sets
Confirm no hard-coded org-specific IDs or URLs
Validate all remote site settings are documented
Review Submission Package
Complete security questionnaire accurately
Upload all required documentation
Provide clear deployment instructions
Include test user credentials (with proper permissions)
Document any special configuration steps
Pro tip: Have someone unfamiliar with your app attempt the installation using only your documentation. If they struggle, reviewers will too.
Common Security Review Pitfalls (And How to Fix Them)
Let me share some real scenarios I've encountered:
The "It Works in My Org" Syndrome
Problem: Your app works perfectly in your development org but fails during security review because you've made assumptions about permissions or configurations.
Solution: Test installation in a completely fresh org with minimal customizations. Use standard profiles first, then custom profiles.
The External Dependency Nightmare
Problem: Your app relies on an external service that goes down during the review period, causing functionality failures.
Solution: Implement graceful degradation. Your app should handle external service failures without crashing. Include mock services for testing scenarios.
The Documentation Gap
Problem: Your technical documentation is excellent, but your security documentation is an afterthought.
Solution: Treat security documentation as a first-class deliverable. Allocate proper time and resources. Consider hiring a security professional to review.
Timeline: What to Expect During the Review Process
Understanding the timeline helps you plan accordingly:
Submission: You submit your app and documentation
Initial Review (1-2 weeks): Automated scans and preliminary checks
Deep Dive (2-4 weeks): Manual security testing and code review
Clarifications (variable): Back-and-forth on findings
Final Review (1-2 weeks): Verification of remediation
Approval: You're cleared for AppExchange listing
Total time: Expect 6-10 weeks for a clean, well-prepared submission. Factor in additional time for any remediation required.
Advanced Tips from Security Review Veterans
Here are insider insights that can make the difference:
Communicate Proactively
If reviewers ask questions, respond quickly with detailed answers. Delays in communication extend the review timeline significantly.
Provide Context, Not Just Code
When explaining security controls, provide the "why" behind your decisions. Reviewers appreciate understanding your threat model and risk assessment process.
Embrace the Feedback
Security review feedback makes your app better. Even if comments seem harsh, they're protecting your customers and your reputation.
Build Security Into Your Development Lifecycle
Don't treat security review as a final gate. Integrate security practices throughout development:
Security requirements in user stories
Security-focused code reviews
Regular vulnerability scanning
Security testing in your CI/CD pipeline
Tools and Resources for Security Review Success
Leverage these tools to strengthen your Salesforce security review checklist:
Salesforce-Provided Tools
Salesforce CLI Scanner: Static analysis for security issues
Security Health Check: Baseline security settings
Field Audit Trail: Track sensitive data changes
Event Monitoring: Monitor suspicious activities
Third-Party Tools
Checkmarx: Application security testing
Veracode: Static and dynamic analysis
OWASP ZAP: Open-source security testing
Burp Suite: Web application security testing
Documentation Templates
Salesforce provides security review documentation templates in the Partner Community
Use these as starting points and customize for your application
FAQ: Salesforce Security Review Questions Answered
How long does the Salesforce security review take?
The typical security review process takes 6-10 weeks from submission to approval. However, this timeline assumes your application is well-prepared with complete documentation and minimal security findings. Apps requiring significant remediation can take 12-16 weeks or longer. Submitting during Salesforce's busy periods (end of quarter) may also extend timelines.
Can I resubmit if my app fails the security review?
Yes, you can resubmit your application after addressing all identified security issues. Salesforce provides detailed feedback on why your app was rejected. Most teams need to remediate findings and resubmit within 30-60 days. There's no penalty for resubmission, but delays impact your go-to-market timeline and revenue projections.
What's the cost of the Salesforce security review?
The initial security review is included with your AppExchange Partner Program membership. However, significant updates to your app may require a re-review, which could incur fees. Budget for internal costs including security testing tools, potential security consultants, and developer time for remediation work—typically $10,000-$50,000 depending on app complexity.
Do I need to hire a security expert for the review?
While not strictly required, having a security professional review your application before submission significantly increases first-time approval rates. Consider hiring a consultant if your team lacks deep security expertise or if you're building apps handling sensitive data like financial, healthcare, or personal information.
What happens if a vulnerability is found after approval?
If a security vulnerability is discovered in your app post-approval, Salesforce may require an emergency patch or temporarily delist your app from AppExchange until the issue is resolved. Maintain ongoing security practices including regular penetration testing, monitoring security bulletins for dependency vulnerabilities, and having an incident response plan ready.
Conclusion: Your Path to Security Review Success
The Salesforce security review checklist I've shared isn't just about passing an assessment—it's about building trust with your customers and protecting their data.
Yes, the process is rigorous. Yes, it requires significant effort. But apps that prioritize security from day one move faster through the review and build stronger customer relationships.
Remember these key takeaways:
Start security early in your development process, not as an afterthought before submission.
Document thoroughly—reviewers can't approve what they don't understand about your security architecture.
Test extensively using both automated tools and manual security assessments before submission.
Communicate clearly with reviewers and respond promptly to any questions or findings.
The teams that succeed treat security review as a continuous practice, not a one-time gate. They build security into their culture, processes, and code from the very first sprint.
Ready to Submit with Confidence?
Download our complete Salesforce Security Review Checklist spreadsheet template that includes every item mentioned in this guide, organized by priority and with status tracking. Use it as your project management tool throughout the preparation process.
More importantly, don't let fear of the security review delay your AppExchange launch. With proper preparation using this checklist, you can achieve first-time approval and get your app in front of customers faster.
What security challenges are you facing in your Salesforce app development? Share your questions in the comments below, and I'll personally respond with guidance.
Ready to transform your Salesforce experience?
Start exploring the Salesforce Exchange today and discover apps that can take your CRM efficiency to the next level.
