Geschreven door Luuk Paans, Innovatie Visionair.

Luuk Paans is een Innovatie Visionair met een focus op het waarborgen van naleving van regelgeving en het beschermen van gegevensintegriteit. Hij heeft uitgebreide kennis van beveiligingsprotocollen en is toegewijd aan het minimaliseren van risico's door het controleren van de kleinste details.

In dit artikel deelt Luuk zijn inzichten over hoe niet-technische inkoopteams de juiste beveiligingsvragen kunnen stellen aan mobiele app-leveranciers om vertrouwen op te bouwen en gegevensintegriteit te waarborgen.

Afkadering: De inhoud is gebaseerd op directe expertise in de beveiliging van digitale systemen, met een focus op praktische vragen voor niet-technische teams.

Beveiligingsvragen voor mobiele app-leveranciers

Niet-technische inkoopteams kunnen de beveiliging van mobiele app-leveranciers effectief beoordelen door gerichte vragen te stellen. Dit helpt om vertrouwen op te bouwen en gegevensintegriteit te waarborgen zonder technische expertise.

  • Eis naleving van de OWASP MASVS standaard in het contract om beveiligingseisen concreet te maken.
  • Vraag naar concrete bewijzen van veilige data-opslag, zoals het gebruik van iOS Keychain en Android Keystore.
  • Verifieer hoe de communicatie tussen app en backend (API) is beveiligd, bijvoorbeeld via TLS met Certificate Pinning.
  • Maak duidelijke afspraken over regelmatige security-updates en onderhoudsverantwoordelijkheden na de lancering.
  • Vraag om een recent, geanonimiseerd penetratietest-rapport als bewijs van externe beveiligingsvalidatie.

Beveiligingsverwachtingen bij uitbestede mobiele app-ontwikkeling

Beveiliging blijft vaag zodra een leverancier alleen algemene geruststelling biedt en er geen vaste standaard onder de afspraken ligt. Bij uitbestede mobiele app-ontwikkeling begint een bruikbare verwachting daarom niet bij losse beloften, maar bij een toetsbare basis voor wat onder beveiliging valt. In deze context vervult OWASP MASVS die rol: het maakt beveiligingseisen contractueel concreet, zodat gesprekken over authenticatie, autorisatie, API-beveiliging en datahandling niet blijven hangen in algemene formuleringen.

Zonder zo’n gedeelde basis ontstaat snel interpretatieruimte tussen opdrachtgever en leverancier. Dan kan de ene partij denken dat beveiliging onderdeel is van de afgesproken levering, terwijl de andere partij het ziet als aanvullende scope of latere uitwerking. OWASP MASVS brengt daar afbakening in door beveiligingseisen vooraf benoembaar te maken. Voor veel mobiele apps geldt daarbij Level 1 als minimale standaard. Dat geeft niet automatisch antwoord op elk projectdetail, maar het voorkomt wel dat de ondergrens onuitgesproken blijft tijdens offerte, contract en uitvoering.

Security ownership hoort in dezelfde bespreking thuis, omdat een standaard op zichzelf geen eigenaarschap regelt. Bij uitbesteding moet duidelijk zijn wie verantwoordelijk is voor het vertalen van beveiligingseisen naar de levering, en wie betrokken blijft nadat de app live staat. Juist post-launch updates maken dat onderscheid zichtbaar: als onderhoud en security-updates niet expliciet zijn belegd, blijft onduidelijk wie opvolging geeft aan nieuwe beveiligingsvereisten of aanpassingen na lancering. Dan verschuift beveiliging van een afgesproken leveringsonderdeel naar een open eind.

Voor niet-technische teams ligt de kern daarom niet in het zelf beoordelen van code, maar in het kunnen herleiden van claims naar een standaard en naar eigenaarschap. Een leverancier die OWASP MASVS als contractuele basis accepteert en duidelijkheid geeft over security ownership en post-launch updates, maakt de beveiligingsverwachting controleerbaar. Ontbreekt die koppeling, dan blijft ook na selectie onduidelijk of de minimale beveiligingsbasis daadwerkelijk is afgesproken en wie verantwoordelijk blijft zodra de app in gebruik is.

Risico's van gemiste controles bij leveranciersselectie

Beveiligingsverantwoordelijkheden die na livegang niet zijn vastgelegd, laten een direct gat achter in het onderhoud van een mobiele app. Dan blijft onduidelijk wie security-updates oppakt, wie afwijkingen opvolgt en wie aansprakelijk is als persoonsgegevens uitlekken door vermijdbare technische fouten. Dat verschuift een selectiegesprek van controleerbare afspraken naar aannames, terwijl de operationele gevolgen pas zichtbaar worden zodra de app al in gebruik is.

Een tweede risico ontstaat zodra een leverancier wordt beoordeeld op algemene geruststelling in plaats van op toetsbare beveiligingscontroles. In die situatie ontbreekt technische validatie aan koperszijde, krijgt een brede claim als security-by-design te veel gewicht en blijft verborgen wat er werkelijk in de mobiele app is opgenomen. De foutketen is concreet: gebrek aan validatie leidt tot vertrouwen op algemene claims, daarna kunnen hardcoded API-sleutels in de mobiele code blijven staan, waarna ongeautoriseerde toegang tot backend systemen mogelijk wordt. Voor een niet-technisch team is dit precies het lastige punt: de presentatie oogt overtuigend, maar de feitelijke controle ontbreekt.

Dat gebrek aan afbakening raakt ook het vertrouwen in de leverancier tijdens de shortlistfase. Zolang security ownership niet expliciet is gekoppeld aan data-opslag, API-beveiliging en langdurig onderhoud, blijft onduidelijk of beveiliging onderdeel is van de levering of pas later als open punt terugkomt. Daardoor worden offertes en gesprekken moeilijk vergelijkbaar. De ene partij verkoopt vertrouwen met algemene taal, terwijl de andere partij mogelijk concreter werkt zonder dat verschil zichtbaar te maken als de controles niet vooraf zijn vastgelegd.

Bij apps die persoonsgegevens verwerken, wordt dit geen abstract risico maar een bestuurlijk en financieel probleem. Als een vermijdbare technische fout tot een lek leidt, kan dat uitlopen op juridische aansprakelijkheid en boetes onder de AVG/GDPR. Juist daarom werkt een vage leveranciersselectie door tot na de oplevering: onduidelijke post-launch updates aan de voorkant eindigen aan de achterkant in onduidelijk eigenaarschap, vertraagd onderhoud en aansprakelijkheid bij een datalek.

Essentiële beveiligingsaspecten om te verifiëren

Beveiligingsclaims blijven vaag zodra een mobiele app-leverancier niet concreet maakt hoe toegang wordt afgeschermd en hoe gegevens onderweg beschermd blijven. In de shortlistfase draait verificatie daarom niet om broncode lezen, maar om controleerbare beveiligingsaspecten en een herkenbare basis voor beoordeling. OWASP MASVS geeft daarvoor een bruikbaar referentiepunt voor mobiele app-beveiligingseisen, terwijl NIST SP 800-163 helpt om die beoordeling gestructureerd te benaderen. Voor niet-technische teams maakt dat het verschil tussen algemene geruststelling en een leverancier die zijn aanpak langs toetsbare lijnen kan uitleggen.

Authenticatie en autorisatie horen daarbij als afzonderlijke controlepunten op tafel te liggen. Een leverancier kan pas geloofwaardig over beveiliging spreken als duidelijk wordt hoe toegang tot de app wordt vastgesteld en hoe rechten daarna worden begrensd. Dat onderscheid voorkomt dat “ingelogd zijn” wordt verward met “overal bij mogen”. Voor een inkoper of operations-team is dit vooral een verificatievraag: kan de leverancier in begrijpelijke taal uitleggen welke beveiligingslaag bepaalt wie binnenkomt en welke laag bepaalt wat daarna toegankelijk is. Als dat onderscheid ontbreekt in gesprekken of voorstellen, blijft onduidelijk of toegangscontrole echt is doordacht of alleen als algemene eigenschap wordt gepresenteerd.

API-beveiliging vraagt om een even directe verificatie, omdat de mobiele app en de achterliggende systemen via die verbinding gegevens uitwisselen. De relevante controle is hier niet een technisch detail op zichzelf, maar de vraag of de leverancier kan aantonen dat die communicatie beveiligd wordt via TLS met Certificate Pinning bij kritieke mobiele transacties. In de praktijk ontstaat het risico op het moment dat een app gegevens verstuurt naar een backend en die beschermingslaag niet expliciet onderdeel is van de beveiligingsaanpak. Dan blijft een kernonderdeel van de mobiele keten afhankelijk van vertrouwen in plaats van aantoonbare afscherming, terwijl juist daar gevoelige uitwisseling plaatsvindt.

Datahandling hoort om dezelfde reden expliciet geverifieerd te worden. ENISA plaatst mobiele app-beveiliging nadrukkelijk in het verlengde van gegevensbescherming, en dat maakt de omgang met data meer dan een technische bijzaak. Een leverancier moet dus niet alleen zeggen dat data veilig is, maar ook laten zien dat gegevensbescherming onderdeel is van de manier waarop de app wordt beoordeeld en afgebakend. In combinatie met OWASP MASVS en NIST SP 800-163 ontstaat daarmee een praktische ondergrens voor leveranciersselectie: authenticatie, autorisatie, API-beveiliging en datahandling moeten afzonderlijk benoemd en toetsbaar zijn. Zodra een van die onderdelen impliciet blijft, verschuift de beoordeling van verifieerbare beveiligingsaspecten naar niet-onderbouwde aannames over de mobiele app-leverancier.

Checklist voor beveiligingsvragen aan mobiele app-leveranciers

Security-claims blijven vaag zodra een leverancier geen toetsbare standaard noemt, waardoor shortlistgesprekken snel blijven hangen in geruststellende formuleringen zonder harde vergelijkingsbasis. Gebruik deze checklist daarom als vaste set beveiligingsvragen voor mobiele app-leveranciers, met nadruk op OWASP MASVS, beveiligde opslag en bewijs uit recente penetratietesten.

  • Vraag welk niveau van de OWASP MASVS als standaard voor het project wordt gehanteerd. Deze vraag maakt zichtbaar of de leverancier beveiliging benadert als een contractuele eis in plaats van als een losse belofte. Een concreet antwoord verwijst naar OWASP MASVS als basis voor de beveiligingseisen van de mobiele app. Blijft het antwoord algemeen, dan ontbreekt vaak de vaste maatstaf waarmee scope, beoordeling en oplevering later kunnen worden getoetst.
  • Vraag of OWASP MASVS expliciet wordt opgenomen in offerte, scope of contract. Daarmee wordt duidelijk of beveiliging vooraf wordt vastgelegd of pas later onderwerp van discussie wordt. Zodra deze basis niet expliciet is benoemd, ontstaat ruimte voor uiteenlopende interpretaties tijdens de uitvoering. Voor niet-technische teams is dit een bruikbare controlevraag, omdat zij geen code hoeven te beoordelen om toch te zien of de leverancier met een herkenbare standaard werkt.
  • Vraag hoe gevoelige data binnen de app wordt opgeslagen. Een geloofwaardig antwoord verwijst naar platform-specifieke beveiligde opslagmechanismen zoals iOS Keychain en Android Keystore. Dat laat zien dat de leverancier niet volstaat met algemene taal over datahandling, maar kan uitleggen welke opslagmechanismen voor gevoelige data worden gebruikt. Als dit niet helder wordt benoemd, blijft onduidelijk of gevoelige gegevens op een passende manier worden afgeschermd.
  • Vraag hoe API-sleutels en gebruikers-tokens binnen de app-code worden beveiligd. Deze vraag sluit aan op dezelfde controle rond beveiligde opslag. De leverancier hoeft hier geen technische diepgang te geven, maar wel duidelijk te maken dat gevoelige gegevens niet los worden behandeld en onder dezelfde beveiligingsdiscipline vallen als andere gevoelige data in de app. Een vaag antwoord zonder verwijzing naar concrete opslagmechanismen maakt vergelijking tussen leveranciers lastig.
  • Vraag om een recent, geanonimiseerd penetratietest-rapport van een vergelijkbaar mobiel project. Dit is een direct bewijsstuk dat verder gaat dan een presentatie of algemene security-tekst in een voorstel. Een leverancier die zo’n rapport kan tonen, laat zien dat beveiliging ook extern of formeel is getoetst. Ontbreekt dit voorbeeld volledig, dan blijft de beoordeling vooral gebaseerd op uitleg en niet op aantoonbare controle.
  • Vraag hoe de leverancier deze drie punten samen documenteert. De combinatie van een vaste standaard zoals OWASP MASVS, concrete uitleg over beveiligde opslag via iOS Keychain of Android Keystore, en een recent penetratietest-rapport geeft een veel bruikbaarder vergelijkingsbeeld dan losse geruststellingen. Zodra één van deze onderdelen ontbreekt, wordt het lastiger om beveiligingsclaims tussen mobiele app-leveranciers consistent naast elkaar te leggen.

Veelvoorkomende fouten bij het overslaan van beveiligingscontroles

Hardcoded API-sleutels in mobiele code blijven vaak onzichtbaar tijdens de leveranciersselectie als beveiligingscontroles worden vervangen door algemene geruststelling. Daardoor verschuift de beoordeling van toetsbare beveiliging naar vertrouwen in verkooptaal, terwijl de feitelijke fout pas zichtbaar wordt nadat de app al gekoppeld is aan backend systemen.

  • Een veelvoorkomende fout is vertrouwen op brede claims zoals security-by-design zonder technische validatie van wat daarmee bedoeld wordt. In die situatie kan een leverancier API-sleutels hardcoded in de mobiele code opnemen. De keten is dan direct: de sleutel staat in de app, de app communiceert met backend systemen, en ongeautoriseerde toegang komt binnen bereik. Voor een niet-technisch team is dit precies het soort risico dat in de offerte- en selectiefase verborgen blijft, omdat de uitleg overtuigend kan klinken terwijl de onderliggende controle ontbreekt.
  • De schade van zo’n gemiste controle blijft niet beperkt tot een technisch gebrek. Zodra persoonsgegevens via die route uitlekken door een vermijdbare technische fout, verschuift het probleem naar juridische aansprakelijkheid en mogelijke boetes onder de AVG/GDPR. Dat maakt de leverancierskeuze niet alleen een kwestie van vertrouwen, maar ook van bestuurlijke en financiële blootstelling.
  • Een tweede fout ontstaat na livegang: security ownership voor post-launch updates wordt niet vastgelegd. Dan is er geen duidelijke onderhoudsverantwoordelijkheid zodra nieuwe OS-kwetsbaarheden verschijnen. De app blijft draaien op moderne toestellen, maar zonder patches verschuift de situatie van werkend naar onveilig. Dat verlies van duidelijk eigenaarschap werkt door in de dagelijkse operatie, omdat niemand nog scherp kan aanwijzen wie verantwoordelijk is voor het herstellen van nieuwe beveiligingsproblemen.
  • Die onduidelijkheid heeft twee concrete gevolgen. Aan de buitenkant daalt het vertrouwen van eindgebruikers zodra de app op moderne toestellen niet meer veilig aanvoelt. Aan de binnenkant lopen de herstelkosten op, omdat fundamentele beveiligingsfouten achteraf moeten worden gecorrigeerd die tijdens de bouw of bij de selectie van de leverancier al zichtbaar hadden kunnen worden. De combinatie van uitgesteld onderhoud en herstel achteraf eindigt dan niet in een klein incident, maar in een onveilige app op moderne toestellen.

Synthese van beveiligingsverwachtingen en verantwoordelijkheden

Beveiliging blijft ongrijpbaar zodra niemand expliciet eigenaar is van de afspraken rond updates, kwetsbaarheden en persoonsgegevens. Dan verschuift security ownership van offerte naar uitvoering zonder vaste begrenzing, terwijl het risico wel direct bij de opdrachtgever blijft liggen als vermijdbare technische fouten leiden tot het lekken van persoonsgegevens. In die situatie is een geruststellende uitleg van de leverancier niet hetzelfde als een aantoonbare verantwoordelijkheid, omdat de operationele en juridische gevolgen niet bij de presentatie blijven maar bij de live app en de verwerkte data.

Die spanning wordt pas echt zichtbaar na livegang. Een mobiele app verandert niet alleen tijdens de bouwfase; ook daarna blijven software-updates en het beheer van kwetsbaarheden onderdeel van de beveiligingsverwachting. Als post-launch onderhoud impliciet blijft, ontstaat er ruimte voor uitstel, discussie over eigenaarschap en onduidelijkheid over wie software-updates oppakt. Dat is geen administratief detail. Juist daar wordt zichtbaar of een leverancier een transparant proces voor patch management hanteert, of dat beveiliging in de praktijk afhankelijk wordt van losse toezeggingen en ad-hoc opvolging.

Voor niet-technische teams ligt de kern daarom minder in het beoordelen van technische diepgang en meer in het onderscheiden van duidelijke verantwoordelijkheid van vrijblijvende formulering. Security ownership krijgt pas betekenis als ook de fase na oplevering is afgebakend: wie beheert kwetsbaarheden, wie verwerkt updates en wie draagt de gevolgen als dat te laat of onvolledig gebeurt. Zodra die lijn ontbreekt, verschuift het risico ongemerkt van leverancier naar opdrachtgever, met mogelijke juridische aansprakelijkheid en boetes onder de AVG/GDPR bij een lek van persoonsgegevens door vermijdbare technische fouten.

Bronnen