In ieder geval drie miljoen kiesgerechtigden hebben dit jaar iets interessants op hun stempas staan: een QR-code. Voor het overgrote deel van hen is het de eerste keer dat die QR-code op hun stempas staat. Dat komt doordat zestien gemeenten, waarvan zes voor het eerst, bij deze verkiezingen gebruikmaken van de StembureauApp. Met deze app worden stempassen gescand en dat helpt stembureaus en verkiezingsorganisaties om de drukte op elk stembureau bij te houden en ongeldige stempassen te ontdekken. Wat is dat eigenlijk voor app en hoe wordt hij gebruikt?
Wat is de StembureauApp?
De gemeente Rotterdam ontwikkelde de StembureauApp in 2010. Tijdens verkiezingen moest de gemeente stemmen hertellen omdat er signalen waren binnengekomen van ongeregeldheden op stembureaus. Dat was een hels karwei voor de gemeente. Om dat in de toekomst te voorkomen, ontstond het idee om een digitaal instrument te maken om de verkiezingsdag in zo'n grote gemeente met 365 stembureaus in goede banen te leiden.
Functioneel ontwerper Elin Waning van de gemeente Rotterdam bedacht daarop de StembureauApp. Die helpt stembureauvoorzitters en de verkiezingsorganisatie met checklists, een helpdesk en realtime inzicht in de verkiezingsopkomst op de verkiezingsdag. De eerste pilot van de app draaide tijdens de Tweede Kamerverkiezingen in 2012. "Dat was een hele basic versie, die we op twintig locaties hebben getest." In 2014 zette de gemeente de StembureauApp voor het eerst in op alle stembureaus in Rotterdam.
/i/2004231584.png?f=imagenormal)
Andere gemeenten wilden de app ook
De app was zo'n succes dat ook andere gemeenten ermee aan de slag wilden, iets wat Waning, die inmiddels al ruim tien jaar aan de app werkt, nooit had verwacht. "Het is toch een beetje alsof jouw kindje het populairste kindje van de klas blijkt." In 2016 zette Zoetermeer de app als proef in tijdens het Oekraïne-referendum op een deel van de stembureaus. Bij de verkiezingen in 2017 volgden nog drie gemeenten: Den Haag, Utrecht en Groningen. Bij de Tweede Kamerverkiezingen dit jaar gebruiken zestien gemeenten de app: Amersfoort, Amsterdam, Beuningen, Den Haag, Eindhoven, Groningen, Harderwijk, Nieuwkoop, Noordoostpolder, Nijmegen, Purmerend, Rotterdam, Tilburg, Tynaarlo, Utrecht en Zoetermeer: samen goed voor minimaal 3 miljoen stemgerechtigden.
Inmiddels wordt de app niet meer gemaakt en gehost door de gemeente Rotterdam. Via een Europese aanbesteding werd hij in 2017 uitgebreid door KPN. App-ontwikkelaar Elements, een onderaannemer van KPN, bouwde de backend opnieuw op om hem schaalbaar te maken, zodat meer gemeenten de app makkelijk kunnen gebruiken. Hosting gaat voortaan via clouddienst App Factory. De herindelingsverkiezing in Groningen in 2017 was de eerste verkiezing waarbij KPN de StembureauApp hostte. In 2020 nam de Vereniging van Nederlandse Gemeenten de coördinatie en het beheer van de app over van de gemeente Rotterdam, omdat inmiddels al zoveel gemeenten zich hadden gemeld.
Hoe werkt de app?
De app bestaat uit drie delen: een iPad-applicatie die gebruikt wordt door voorzitters van stemlokalen op een speciaal daarvoor ingerichte tablet, een desktopdashboard waarmee verkiezingsorganisaties van gemeenten overzicht krijgen tijdens de verkiezingsdag en de opkomst kunnen bijhouden, en een openbare website waarop kiezers live de verkiezingsopkomst en, na het sluiten van de stembureaus, de voorlopige uitslagen kunnen zien.
De iPad-app is bedoeld als compleet hulpmiddel voor voorzitters van het stembureau. Aan het begin van de dag kan de voorzitter in de app stembureauleden aanmelden en een checklist volgen om het stembureau paraat te maken. Gedurende de dag kan de app stempassen controleren op geldigheid en kunnen voorzitters contact houden met de helpdesk van de verkiezingsorganisatie. Aan het einde van de dag helpt de app als controlemiddel bij het tellen van de stemmen. De app weet precies hoeveel stempassen er moeten zijn en hoeveel er gescand zijn. Het tellen gebeurt nog steeds met de hand, maar de helpdesk kan op afstand in de gaten houden of er telverschillen zijn.
:strip_exif()/i/2004231590.jpeg?f=imagenormal)
De zichtbaarste functie van de app is het controleren van stempassen. Elke stempas is voorzien van een QR-code en kan worden gescand door de app. De app vergelijkt stempasnummers met het Register Ongeldige Stempassen. Dat is een enorme lijst met stempasnummers die om de een of andere reden ongeldig zijn. Dat kan zijn omdat ze zijn omgezet in een kiezerspas of volmachtbewijs, omdat er een vervangende stempas is uitgereikt, omdat ze ten onrechte verstrekt of gestolen zijn, of omdat de kiezer na het moment van verzenden is overleden. Normaal gesproken controleren vrijwilligers in het stembureau handmatig stempasnummers en staat dat register in een grote, papieren multomap. Met de StembureauApp is dat een kwestie van even voor de tablet houden.
Realtime inzicht in de drukte
Behalve de app zelf krijgen gemeenten die de StembureauApp gebruiken, ook een desktopapplicatie. De verkiezingsorganisatie van de gemeente gebruikt die op een centrale plek. De applicatie geeft hen een inzicht in het verloop van de dag dat ze zonder de app nooit zouden hebben. Ze kunnen controleren of de voorzitters van de stembureaus alle stembureauleden hebben aangemeld, en of alle stembureaus gedurende de dag op schema zijn en alle checklists hebben doorlopen.
Ook geeft de desktopapplicatie inzicht in het aantal stempassen dat gescand is op elk stembureau. Dat geeft de organisatie realtime data over de drukte op elk stemlokaal en zo kan ze anticiperen of er bijvoorbeeld extra stembiljetten of potloden nodig zijn op een locatie waar het onverwacht druk is. Ook kan de organisatie zo vanuit één plek de hele dag contact houden met stembureauvoorzitters door met ze te chatten in de app.
:strip_exif()/i/2004231586.jpeg?f=imagenormal)
Veiligheid en privacy
Als er bij verkiezingen apps worden ingezet, kan dat steevast rekenen op kritiek van beveiligingsexperts en privacyactivisten. Hoe blijft de app veilig en privacyvriendelijk? "We hebben bij het ontwerpen van de app in 2010 samen met FoxIT een privacy- en securityimpactanalyse gemaakt", vertelt Waning. Ook al worden er niet veel persoonsgegevens in de app verwerkt, dat moet wel veilig gebeuren. De gevoeligste gegevens die de app verwerkt, zijn stempasnummers, en namen en telefoonnummers van stembureauleden. "En ook al beïnvloedt de app niet de uitslag van de verkiezingen, je wil nog steeds dat het veilig gebeurt. Daarom wordt er voor elke verkiezing een pentest gedaan."
Gemeenten die een licentie nemen op de StembureauApp, krijgen niet alleen de app; het is een saas-applicatie, of software as a service. Gemeenten krijgen beveiligde tablets met simkaart, met de app voorgeïnstalleerd. "Je krijgt een volledig ingericht instrument met hardware, software en instructiematerialen, en je krijgt als gemeente toegang tot de StembureauApp-community, met daarin trainingsmiddelen en e-learnings van grote gemeenten", legt Waning uit. Gemeenten hoeven geen technische kennis te hebben van de app, en er wordt centraal toegezien op bugs en kwetsbaarheden. Ook hoeven gemeenten geen hosting te regelen voor de database die de app gebruikt. Dat gebeurt via een beveiligde private cloud op het cloudplatform AppFactory van KPN.
:strip_exif()/i/2004231616.jpeg?f=imagenormal)
De backend van de app is door Elements zo gemaakt dat deze makkelijk opgeschaald kan worden door gebruik te maken van een Kubernetes-cluster. Kubernetes is een platform waarin gecontaineriseerde applicaties kunnen draaien. In een container wordt alles gebundeld wat een applicatie nodig heeft, zodat die niet met andere software hoeft te praten. Elke gemeente draait in dat cluster zijn eigen versie van de app, met alle nodige onderdelen. Zo kan elke gemeente eigen checklists configureren en op maat gemaakt krijgen.
De tablet communiceert met de api van het Kubernetes-cluster. Kubernetes haalt vervolgens alle onderdelen die de app nodig heeft, zoals de database, uit het cluster. Een bijkomend voordeel van Kubernetes is dat, als het goed is ingericht, het makkelijk is om containers te klonen. Daardoor kan de app in theorie simpel geschaald worden en maakt het niet uit hoeveel verzoeken de app aan de database doet.
/i/2004231452.png?f=imagenormal)
Beeld: devopscube.com
Beveiligde tablet en persoonsgegevens
De beveiligde tablet van de voorzitter van een stembureau heeft dus alleen de StembureauApp geïnstalleerd. Hij of zij moet inloggen op de tablet met een code die naar zijn of haar telefoon wordt gestuurd. De tablet kan niets anders dan deze app draaien. Er kunnen geen dingen op opgeslagen worden, je kunt er niet vrijelijk mee op internet - dat kan alleen via een speciale vpn-verbinding - en je kunt geen instellingen aanpassen. In de tablet zit een simkaart die via een versleutelde VPN-tunnel verbinding maakt met de cloudserver van AppFactory. Alleen deze simkaart werkt op de tablet, andere simkaarten niet.
Op die server worden weinig persoonsgegevens opgeslagen, alleen namen en telefoonnummers van stembureauleden, stempasnummers, en informatie over de locatie en het tijdstip waarop stempassen gecontroleerd zijn. Dat stempasnummer is een cijfer-lettercombinatie. Die begint met twee letters: TK. Dit betekent dat het een nummer is voor de Tweede Kamerverkiezingen. Uit het stempasnummer kun je alleen iets herleiden als je toegang hebt tot de gemeentelijke basisadministratie, want dan kun je de unieke laatste vier cijfers opzoeken. "Dit betekent dat als je toegang tot de GBA hebt, je kunt zien dat een bepaalde burger op een bepaald moment in een bepaald stembureau gestemd heeft, meer niet", zegt Waning.
:strip_exif()/i/2004231618.jpeg?f=imagenormal)
Bij de deelnemende gemeenten staat links van TK21 de QR-code.
Een nadeel is dat de veiligheid en privacy lastig te controleren zijn. In tegenstelling tot bijvoorbeeld de CoronaMelder-app is de StembureauApp niet open source ontwikkeld en is de code online niet te vinden of te checken. Iets waar de ontwikkelaars wel aan willen werken, zegt Waning. "De app wordt regelmatig geaudit door onafhankelijke securitybedrijven. Alleen, je maakt niet een-twee-drie een applicatie open source waarbij je de auditrapporten op GitHub zet. Toen de app nog draaide op de servers van de gemeente Rotterdam, kon dat niet zonder dat je ook in potentie andere kwetsbaarheden van de gemeentelijke ict openbaarde. Nu de hosting bij KPN zit, is dat makkelijker, dus we zijn wel aan het nadenken over het open source maken van de app."
Ook brengt het gebruik van een cloudomgeving altijd risico's op het gebied van dataveiligheid met zich mee, helemaal als er verschillende klanten op één server zitten. AppFactory schrijft dat er gebruik wordt gemaakt van een private cloud. Het zegt niet of dat ook betekent dat de database van de StembureauApp op een geheel eigen server staat, of bijvoorbeeld elke gemeente een eigen server met eigen database heeft of dat de gemeenten alleen gesplitst zijn in het Kubernetes-cluster, terwijl het hele cluster op één server staat.
Een uitkomst voor stembureauleden
De stembureauleden en gemeenten die met de app werken, zijn in ieder geval laaiend enthousiast. Het maakt hun werk een stuk makkelijker en de verkiezingen, vooral in grote gemeenten, aanzienlijk inzichtelijker. Er kunnen sneller problemen worden geconstateerd, voorzitters worden gesteund en op elk moment kan er centraal geholpen worden als er iets misgaat. "Bovendien krijgen gemeenten toegang tot een community met vakkennis en informatie over verkiezingen", legt Waning uit. "Verkiezingen zijn super specifiek en complex. Grote steden zijn daar fulltime mee bezig, kleine gemeenten doen verkiezingen er bij. Zij zeggen ons dat de meerwaarde van de StembureauApp bestaat uit de community van gemeenten. Normaal zouden die gemeenten nooit genoeg geld hebben om zoveel inzichten te krijgen in het verkiezingsproces."
De StembureauApp is ondersteunend op de verkiezingsdag en vanwege allerlei waarborgen heeft hij geen directe invloed op het stemmen, dat gewoon nog met potlood en papier gaat. Zo is de telling in de app in geen enkele gemeente leidend, zoals in de Kieswet staat. Stemmen worden nog steeds met de hand geteld. De app kan alleen helpen om telverschillen vroegtijdig te signaleren. Daarnaast zijn er strenge regels voor wie stembureaumedewerker en stembureauvoorzitter mag worden. Zo kan dat niet iemand zijn die vanuit zijn functie ook toegang heeft tot de gemeentelijke basisadministratie, de enige plek waar stempasnummers te herleiden zijn.