La Security Review est le passage obligé avant toute publication sur AppExchange. Salesforce y vérifie que votre package ne présente pas de faille exploitable et respecte les bonnes pratiques de développement sécurisé. C'est aussi la principale source de retards pour les éditeurs mal préparés. Voici les points de contrôle qui reviennent le plus souvent et comment les anticiper.
La Security Review combine une analyse statique automatisée (scan Checkmarx sur votre code Apex, LWC, VisualForce) et, pour les cas complexes, une revue manuelle par un ingénieur sécurité Salesforce. Le processus se déroule ainsi :
Sur la base des retours d'expérience terrain, quelques catégories de failles reviennent systématiquement :
La règle d'or : ne jamais faire confiance à une entrée utilisateur, et toujours vérifier les droits avant d'accéder aux données.
// Vulnérable : injection possible via la variable searchTerm
String query = 'SELECT Id FROM Contact WHERE Name = \'' + searchTerm + '\'';
Database.query(query);
// Sécurisé : liaison de variable + vérification des droits
if (Schema.sObjectType.Contact.isAccessible()) {
List<Contact> results = [SELECT Id FROM Contact WHERE Name = :searchTerm WITH SECURITY_ENFORCED];
}
Pour le DML, utilisez systématiquement Security.stripInaccessible() avant une insertion ou une mise à jour lorsque les données proviennent d'une source externe ou d'un composant Lightning exposé.
Tout appel vers une API externe doit passer par une Named Credential ou un External Credential, jamais par une clé codée en dur dans une classe Apex. Les reviewers Salesforce recherchent explicitement ce pattern lors de l'analyse manuelle.
Documentez précisément, dans le formulaire de soumission, chaque endpoint externe appelé par votre package : domaine, protocole, données transmises. Une intégration non documentée est presque toujours source de rejet.
Chaque cycle de correction/re-soumission prend facilement deux à trois semaines. Pour limiter le nombre d'allers-retours :
La Security Review n'est pas un obstacle bureaucratique : c'est un filet de sécurité qui protège vos futurs clients et, par extension, votre réputation d'éditeur. Un package qui passe la review du premier coup est presque toujours un package dont l'équipe a intégré ces exigences dès la phase de conception, et non en correction de dernière minute.
Notre équipe DevToSpace développe et publie des applications AppExchange de bout en bout, de l'idée à la Security Review.
Parler à un expert