Een eigen product bouwen op SalesforcePackaging, security review en distributie, door een team dat het zelf deed.
Een applicatie bouwen op Salesforce is een ander vak dan er een implementeren. Packaging, namespaces, security review en licentiebeheer vallen buiten regulier admin- en ontwikkelwerk, en de meeste pijn komt laat. Wij hebben onze eigen producten door dat traject geloodst en kunnen de weg flink verkorten.
Service Agreement
21 May 2025 | 13:31Sent by Demo Admin.
Mutual NDA
2 Jan 2025 | 12:13Sent by Demo Admin.
CompletedSigning progress
Expires: 17 Jan 2025
Customer
Jane Doe
Counterpart
Acme Corp
Onboarding Form
2 Jan 2025 | 12:08Sent by Demo Admin.
Wat we zelf bouwden
- AppExchange managed package
- @SignAppExchange managed packageE-signing tussen Salesforce en Zoho Sign, gedistribueerd als @Core plus @Sign
- OEM-applicatie
- FamkosoftOEM-applicatieEen volledig kinderopvangplatform, native gebouwd op het Salesforce Platform
- Open source tooling
- ASFX ToolkitOpen source toolingOntwikkeltooling die we bouwden voor ons eigen packaging- en deploymentwerk
De eerlijke versie
De security review is waar de meeste eerste pogingen stranden
Teams die vlot zijn met Apex en LWC worden vaak verrast door de security review. Het is geen codekwaliteitscontrole maar een adversariële beoordeling tegen een specifieke standaard, en de feedback komt als een lijst bevindingen die u moet oplossen voordat u überhaupt kunt listen.
Waar de review echt naar kijkt
De terugkerende bevindingen zijn consistent, en bijna allemaal goedkoper om vooraf op te ontwerpen dan achteraf te herstellen.
CRUD- en FLS-controle
Elke object- en veldtoegang getoetst aan de rechten van de uitvoerende gebruiker. Code die aanneemt dat de gebruiker mag zien wat de query teruggeeft, is de meest voorkomende fout.
Injectievrije queries
Dynamische SOQL en SQL zonder correcte escaping of binding. Statische analyse vindt deze meteen, dus schakel ze uit vóór u indient.
Output encoding
Cross-site scripting via niet-geëscapete waarden in Visualforce of Lightning-componenten, inclusief alles wat uit een extern systeem komt.
Secrets en endpoints
Hardgecodeerde credentials, tokens in code of metadata, en callouts naar endpoints die niet correct zijn gedeclareerd en beveiligd.
Het traject
Van werkende code naar een listing
Waar de inspanning werkelijk zit, in de volgorde waarin ze komt.
- 1
Kies het distributiemodel
ISV, OEM of een intern package. Deze keuze bepaalt licenties, prijszetting en hoeveel Salesforce uw klanten zelf nodig hebben, en is achteraf duur om te herzien.
- 2
Namespace en packaging
Een namespace registreren, het package structureren en kiezen tussen eerste- en tweede-generatie packaging. Voor onze eigen producten gebruiken we 2GP.
- 3
Hard maken vóór indiening
Draai statische analyse en los bevindingen op terwijl de code vers is. Herstellen tijdens de review kost aanzienlijk meer.
- 4
Security review
Indiening, geautomatiseerde scan, manuele beoordeling, en daarna herstel en herindiening als er bevindingen terugkomen. Reken op meer doorlooptijd dan u verwacht.
- 5
Listing en licenties
De AppExchange-listing zelf, plus licentiebeheer om klanttoegang toe te kennen, op te volgen en te laten vervallen.
- 6
Het leven na de lancering
Upgrades naar klantomgevingen, achterwaartse compatibiliteit, en support in omgevingen die u niet beheert.
Distributie
ISV, OEM of geen van beide
Het juiste model hangt af van of uw klanten al Salesforce gebruiken, en hoeveel van het platform u zelf wilt dragen.
| ISV (AppExchange) | OEM (embedded) | Unmanaged / intern | |
|---|---|---|---|
| Klant heeft eigen Salesforce-licenties nodig | Supported | Not supportedPlatform zit in uw product | Supported |
| Security review verplicht | Supported | Supported | Not supported |
| U bepaalt het prijsmodel | Partially supportedNaast hun bestaande licenties | SupportedU verkoopt één product | Supported |
| Geschikt voor een verticale applicatie | Partially supported | SupportedZo distribueren we Famkosoft | Not supported |
| Publiek vermeld op AppExchange | SupportedZo distribueren we @Sign | Partially supportedOptioneel | Not supported |
Vragen die we krijgen
Over de review en het traject
Kunnen jullie onze code nakijken vóór indiening?
Ja, en dit is meestal het moment waarop wij het meeste opleveren. Bevindingen die vóór indiening opduiken zijn gewoon ontwikkelwerk; dezelfde bevindingen erna kosten een volledige herindieningscyclus.
We zijn gezakt voor de security review. Kunnen jullie helpen?
Ja. Breng het bevindingenrapport mee en we werken het samen af. De meeste rapporten draaien om een klein aantal oorzaken die zich door de codebase herhalen, waardoor de lijst korter is dan hij lijkt.
Moeten we voor ISV of OEM kiezen?
Dat hangt vooral af van of uw klanten al Salesforce gebruiken. Als dat zo is, laat ISV u verkopen naast hun bestaande investering. Zo niet, en u wilt een volledig product verkopen zonder dat zij apart Salesforce moeten aanschaffen, dan ligt OEM meer voor de hand. Wij deden beide.
Nemen jullie het product over of werken jullie naast ons team?
Beide kan. Sommige trajecten zijn een review met aanbevelingen; andere zijn hands-on ontwikkeling naast een intern team. Teruggeven doen we graag.
Volgende stap
Plant u een Salesforce-product, of zit u vast in de review?
Laat weten waar u staat. Zit u vóór indiening, dan besparen we u meestal een cyclus; heeft u al bevindingen, dan werken we ze samen weg.