
Tekunda Team

Tekunda Team

De meeste afwijzingen bij de AppExchange Security Review gaan niet over exotische bugs. Ze komen neer op een korte, voorspelbare lijst: niet-afgedwongen CRUD/FLS, sharing-overtredingen, zwakke sessie-instellingen en secrets in metadata. ISV's die de review zien als een code-audit twee weken voor indiening, verliezen er meestal een volledige cyclus aan.
Het reviewteam van Salesforce voert statische analyse uit (Checkmarx, PMD via Salesforce Code Analyzer). Sinds de gehoste Chimera-scanner op 2025-06-16 is gestopt, is de dynamische scan van externe endpoints die je package aanroept jouw taak om uit te voeren en in te dienen, zoals beschreven in Zelf dynamische scans uitvoeren na Chimera. De fouten die we het vaakst zien bij ISV-trajecten vallen in vier categorieën:
with sharing die DML uitvoeren, of een "with sharing"-klasse die een "without sharing"-helper aanroept en diens lossere context overneemt.
System.debug.
Voorbereiding is vooral discipline, geen nieuwe tooling. Voordat je een review aanvraagt:
with sharing staat, of documenteer de specifieke reden om CRUD/FLS te omzeilen (roll-up-aggregaties en interne logobjecten zijn de twee gevallen die Salesforce doorgaans accepteert).
Scanners markeren patronen, geen intentie, dus een deel van elk rapport is ruis: een SOQL-query die alleen maar op stringconcatenatie lijkt, of een debugregel die nooit gebruikersdata raakt. Elke gemarkeerde regel als verplichte codewijziging behandelen kost een cyclus. Sneller is elke bevinding afzetten tegen het echte risico, oplossen wat echt misbruikt kan worden en een korte onderbouwing schrijven voor wat je laat staan. Reviewers lezen onderbouwingen, maar belonen geen algemene "opgelost"-claims die bij een nieuwe scan niet standhouden.
Een partner die al eerder packages door de review heeft geloodst, weet welke bevindingen de discussie waard zijn en welke je beter gewoon oplost, en juist dat oordeel levert de tijdwinst op. Tekunda heeft AppExchange Security Reviews van begin tot eind geleid voor ISV-klanten, van de eerste Apex- en integratie-audit tot de herindiening na feedback van reviewers. Daardoor komen de twee of drie extra rondes die nieuwe indieners verrassen in onze trajecten zelden voor.
Het integratieoppervlak vergroot de scope van de review snel: elke callout, remote site-instelling en elk domein dat Salesforce-data opslaat, valt onder de webapplicatiescan van de reviewer. Dat in één keer goed doen, via ons integratie-engineeringwerk, is meestal het verschil tussen een schone indiening en een tweede ronde bevindingen.
Een afwijzing is geen herstart. Raken de bevindingen alleen code die op het Salesforce-platform draait, upload dan een nieuwe managed package-versie en start de review opnieuw vanaf het tabblad Packages. Zat de oplossing volledig in je externe applicatie, dan kun je meestal de bestaande indiening aanpassen. Open in beide gevallen een case bij "Partner Community & AppExchange" met je packagenaam, ID en versie, zodat het reviewteam je herindiening aan de juiste wachtrij koppelt.
Hoe lang duurt de Salesforce Security Review?
Doorlooptijden hangen af van de complexiteit van de indiening en het huidige reviewvolume, en Salesforce publiceert geen vaste SLA. Plan je releasekalender dus met marge.
Kan een ISV de review overslaan voor een package met een klein publiek?
Nee. Elk managed package, Platform API-oplossing of Marketing Cloud API-oplossing die via AppExchange wordt gedistribueerd, moet door de review vóór de vermelding, ongeacht de omvang van het beoogde publiek.
Geldt de review ook voor unmanaged packages?
Het formele Security Review-proces geldt specifiek voor managed 2GP- en 1GP-packages en API-gebaseerde oplossingen die voor een AppExchange-vermelding worden ingediend.
Wat is de meest gemaakte CRUD/FLS-fout?
Een controller of REST-endpoint bouwen die een object rechtstreeks via SOQL/DML leest of schrijft zonder eerst de rechten van de huidige gebruiker te controleren, waardoor restricties uit profielen en permission sets ongemerkt worden omzeild.
Een package netjes door de review krijgen is één onderdeel van leveren op AppExchange. Het product en de integraties meteen goed bouwen is het moeilijkere deel. Bereid je een indiening voor of plan je je volgende release, praat dan met ons product engineering-team of neem contact op om het werk af te bakenen.