
Tekunda Team

Tekunda Team

De meeste AppExchange-inzendingen sneuvelen op een korte, voorspelbare lijst, en toegangscontrole staat bovenaan. Werk deze checklist op volgorde af, eerst afdwingen van toegang in user mode, dan het triageren van scannerbevindingen, dan het inzendmateriaal, en je haalt de meeste redenen weg waarom een reviewer een package terugstuurt. Salesforce houdt 4 tot 5 weken aan voor een review, dus een afwijzing kost je een release-cyclus en niet een middag.
Tekunda heeft managed packages door de AppExchange security review geloodst in de zorg, logistiek en maakindustrie. Wat hieronder staat is de volgorde waarin wij werken, geen beschrijving van het proces.
Werk van boven naar beneden. De bovenste punten zijn tegelijk de meest voorkomende bevindingen en het duurst om achteraf in te bouwen, en juist daarom kost het uitstellen ervan een hele cyclus.
WITH USER_MODE bij
SOQL en AccessLevel.USER_MODE bij Database-aanroepen boven
zelfgeschreven isAccessible()-reeksen, die snel onvolledig blijven.
@AuraEnabled-methode wordt aangeroepen kan er ongemerkt zonder draaien.
Zet with sharing expliciet op elke klasse, ook op inner classes en
utility classes.
escape="false",
lwc:dom="manual" of innerHTML op de pagina komt, moet
daarvoor al gesaneerd zijn, niet erna.
System.debug gaat. Named Credentials en protected custom metadata zijn
wat reviewers in plaats daarvan verwachten.
De lat ligt niet op nul bevindingen, en hij ligt per scanner anders. De voorbereidingsrichtlijn van Salesforce zelf zet het uiteen:
Sinds Salesforce de gehoste Chimera-scanner op 2025-06-16 stopte, draai je die dynamische scan zelf. Zie Je eigen dynamische scans draaien na Chimera voor de geaccepteerde tools en het rapport dat je inzendt.
In onze inzendingen komen vier categorieen vaak genoeg terug als echte false positive om er rekening mee te houden: toegangscontrolebevindingen op code die user mode al afdwingt, sharing-bevindingen op klassen die alleen worden binnengekomen via een context waarin sharing al is toegepast, retired-library bevindingen die matchen op een versienummer in een meegeleverde static resource, en reflected cross-site scripting op parameters die de DOM nooit bereiken.
Gelijk hebben is alleen niet genoeg. Het document is wat je erdoor helpt. Salesforce vraagt om een document dat uitlegt waarom elk gemarkeerd item geen beveiligingsrisico vormt, en zegt erbij dat je specifiek moet zijn over hoe je je beschermt tegen de aangegeven kwetsbaarheid. Geef elke bevinding een eigen regel: scanner en regel-id, bestand en regelnummer, een zin over het datapad, de precieze maatregel die het afdekt, en waar die maatregel in het package staat. Afdoen in een halve zin komt terug als een vraag, en vragen kosten weken. Voor een uitgebreide uitleg van het onderbouwingsformat en de fouten die het laten afkeuren, zie False positives documenteren voor de Salesforce security review.
Salesforce geeft aan dat een oplossing doorgaans 4 tot 5 weken door de review doet, en dat voor elke betaalde oplossing op de marketplace een fee van $999 geldt voor de eerste inzending en voor elke volgende poging. Beide feiten wijzen dezelfde kant op: doe het werk aan toegangscontrole vooraan, want de goedkoopste inzending is de inzending die je maar een keer hoeft te doen.
Verpak je een product en laat je de review liever over aan mensen die er al doorheen zijn gekomen? Tekunda bouwt en verpakt AppExchange-producten als Salesforce PDO.
Moeten gratis apps ook door de security review?
Ja. Elke oplossing die op de marketplace wordt gedistribueerd moet de review doorstaan voordat hij wordt gepubliceerd. De fee die Salesforce documenteert geldt voor betaalde oplossingen.
Is Salesforce Code Analyzer op zichzelf genoeg?
Nee. Code Analyzer v5 dekt de Apex, Visualforce, JavaScript en TypeScript in je package. Elk extern endpoint dat je app aanroept heeft daarnaast een eigen dynamisch scanrapport nodig.
Wat is de meest voorkomende reden voor afwijzing?
Toegangscontrole. Queries en DML die in system mode draaien, en klassen die sharing erven in plaats van het te declareren, leveren meer bevindingen op dan wat dan ook.
Verandert een Agentforce- of agent-app de checklist?
Voor agentic oplossingen geldt dezelfde security review. Het verschil zit in de documentatie van de datastromen, want elke externe dienst die je agent kan aanroepen moet beschreven en gescand zijn.