[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"technologies":3,"\u002Fservices\u002Fai-code-audit":167,"service-parent:\u002Fservices\u002Fai-code-audit":590,"service-children:\u002Fservices\u002Fai-code-audit":597,"glossary":598},[4,10,15,21,26,32,38,43,48,53,58,63,68,73,77,82,87,92,97,103,108,113,118,123,128,133,138,143,147,152,157,162],{"title":5,"description":6,"slug":7,"category":8,"icon":9},"Android","Elke app die we uitbrengen bereikt Android — platform-API's, uitvoering op de achtergrond, permissies en de winkeleisen die daarbij horen.","android","framework","logos:android-icon",{"title":11,"description":12,"slug":13,"category":8,"icon":14},"Angular","Het front-endframework waarin we werken als een product al Angular is — een kant-en-klare structuur die past bij grote, langlevende applicaties.","angular","logos:angular-icon",{"title":16,"description":17,"slug":18,"category":19,"icon":20},"Dart","De taal waarin elke Flutter-app die we uitbrengen geschreven is — sound null safety, echte pattern matching, en een compiler voor native en web.","dart","language","logos:dart",{"title":22,"description":23,"slug":24,"category":8,"icon":25},"Django","Het Python-framework dat we pakken als een product op dag één een beheeromgeving, authenticatie en een echt datamodel nodig heeft.","django","logos:django-icon",{"title":27,"description":28,"slug":29,"category":30,"icon":31},"Docker","Elke service die we bouwen verschijnt als container, zodat wat op een laptop, in CI en in productie draait één artefact is en niet drie verschillende.","docker","infrastructure","logos:docker-icon",{"title":33,"description":34,"slug":35,"category":36,"icon":37},"Fastlane","De releaseautomatisering achter ons mobiele werk — ondertekenen, builds en winkeluploads draaien vanuit CI, niet vanaf één laptop.","fastlane","tools","logos:fastlane",{"title":39,"description":40,"slug":41,"category":8,"icon":42},"Flutter","Onze belangrijkste mobiele stack sinds 2018 — één Dart-codebase die uitkomt op iOS, Android, web en desktop zonder een apart team per platform.","flutter","logos:flutter",{"title":44,"description":45,"slug":46,"category":36,"icon":47},"Git","Elk project dat we aanraken leeft in Git — beoordeelde pull requests, CI op elke branch, en een historie die maanden later nog te volgen is.","git","logos:git-icon",{"title":49,"description":50,"slug":51,"category":19,"icon":52},"Go","Onze backendtaal voor realtime-API's en services onder belasting — kleine binaries, snelle builds, en gelijktijdigheid die leesbaar blijft.","go","logos:gopher",{"title":54,"description":55,"slug":56,"category":30,"icon":57},"Google Cloud","De cloud waarop onze productieworkloads draaien — beheerde Kubernetes, opslag en netwerken, zonder handgebouwde servers die niemand wil onderhouden.","gcp","logos:google-cloud",{"title":59,"description":60,"slug":61,"category":36,"icon":62},"Gradle","Het buildsysteem waar elke Android-release doorheen gaat — product flavours, ondertekeningsconfiguraties, en de afhankelijkheden onder een Flutter-app.","gradle","logos:gradle",{"title":64,"description":65,"slug":66,"category":30,"icon":67},"Helm","Hoe we een Kubernetes-uitrol verpakken — service, configuratie, secrets en ingress als één versiebeheerde eenheid die je kunt promoveren en terugdraaien.","helm","logos:helm",{"title":69,"description":70,"slug":71,"category":19,"icon":72},"Kotlin","Waar we naar grijpen als een Flutter-app echt Android eronder nodig heeft — platform channels, achtergrondwerk en integraties met native SDK's.","kotlin","logos:kotlin-icon",{"title":74,"description":75,"slug":76,"category":8,"icon":72},"Kotlin Multiplatform","Bedrijfslogica delen tussen iOS en Android terwijl elk platform zijn eigen native UI houdt — het alternatief wanneer Flutter niet past.","kmp",{"title":78,"description":79,"slug":80,"category":30,"icon":81},"Kubernetes","Hoe we services in productie draaien — Helm-uitrollen, rollouts die terug te draaien zijn, en schalen zonder dat iemand om 3 uur 's nachts wakker hoeft te zijn.","kubernetes","logos:kubernetes",{"title":83,"description":84,"slug":85,"category":30,"icon":86},"NATS","Lichtgewicht berichtenverkeer tussen services — publish\u002Fsubscribe en request\u002Freply zonder het beheergewicht van een volledig brokercluster.","nats","logos:nats-icon",{"title":88,"description":89,"slug":90,"category":8,"icon":91},"Nuxt","Vue met serverrendering, routering en SEO al geregeld — hoe we marketingsites en webapps bouwen die bij het eerste laden snel en vindbaar moeten zijn.","nuxt","logos:nuxt-icon",{"title":93,"description":94,"slug":95,"category":19,"icon":96},"PHP","Waar we met een bestaande PHP-backend werken — hem uitbreiden, ermee integreren, en de mobiele en webclients bouwen die hij moet bedienen.","php","logos:php",{"title":98,"description":99,"slug":100,"category":101,"icon":102},"PostgreSQL","Onze standaarddatabase — waar we naar grijpen tenzij een product een specifieke reden geeft om dat niet te doen, van schema tot indexen.","postgres","database","logos:postgresql",{"title":104,"description":105,"slug":106,"category":19,"icon":107},"Python","Onze taal voor backends, datawerk en AI-integraties — inclusief de Python-bindings die we bij onze eigen Rust-tooling leveren.","python","logos:python",{"title":109,"description":110,"slug":111,"category":8,"icon":112},"React","De front-endbibliotheek waarin we werken als een product al React is — componenten, hooks, en het ecosysteem dat eromheen is gegroeid.","react","logos:react",{"title":114,"description":115,"slug":116,"category":101,"icon":117},"Redis","Waar we data neerzetten die snel moet zijn en opnieuw op te bouwen valt — caches, sessies, verzoeklimieten en achtergrondwachtrijen.","redis","logos:redis",{"title":119,"description":120,"slug":121,"category":19,"icon":122},"Ruby","De taal waarin onze mobiele releaseautomatisering geschreven is — Fastlane-lanes, eigen acties, en de CI-lijm die builds naar de winkels brengt.","ruby","logos:ruby",{"title":124,"description":125,"slug":126,"category":19,"icon":127},"Rust","Waar we heen gaan als prestaties én correctheid allebei tellen — documenten renderen, CLI-tooling, en services die snel en voorspelbaar moeten blijven.","rust","simple-icons:rust",{"title":129,"description":130,"slug":131,"category":101,"icon":132},"SQLite","De database die meereist in de app — lokale caches, offline-first opslag, en alles wat ook zonder netwerk moet blijven werken.","sqlite","logos:sqlite",{"title":134,"description":135,"slug":136,"category":8,"icon":137},"Strapi","Een headless CMS waar we naar grijpen als redacteuren de content moeten beheren — een echte beheeromgeving en een schone API, zonder ze zelf te bouwen.","strapi","logos:strapi-icon",{"title":139,"description":140,"slug":141,"category":19,"icon":142},"Swift","Waar we naar grijpen als een Flutter-app echt iOS eronder nodig heeft — platform channels, integraties met native SDK's, widgets en App Clips.","swift","logos:swift",{"title":144,"description":145,"slug":146,"category":8,"icon":142},"SwiftUI","Het UI-framework van Apple, waar we de native oppervlakken bouwen die een Flutter-app niet kan afdekken — widgets, App Clips, extensies en systeemintegraties.","swiftui",{"title":148,"description":149,"slug":150,"category":8,"icon":151},"Tailwind CSS","Hoe we elke front-end die we bouwen vormgeven — utility-klassen en designtokens in plaats van een stylesheet die alleen maar groeit en nooit wordt opgeschoond.","tailwind","logos:tailwindcss-icon",{"title":153,"description":154,"slug":155,"category":19,"icon":156},"TypeScript","De standaard voor alles wat we voor de browser en voor Node-services schrijven — types die integratiebugs vangen voordat ze een review halen.","typescript","logos:typescript-icon",{"title":158,"description":159,"slug":160,"category":8,"icon":161},"Vue","Ons front-endframework voor beheerpanelen, dashboards voor winkeliers en webapps die jaren onderhoudbaar moeten blijven, geen sprints.","vue","logos:vue",{"title":163,"description":164,"slug":165,"category":36,"icon":166},"Whisper","Het opensource spraakherkenningsmodel van OpenAI — de transcriptiemotor achter spraakinvoer, draaiend als backendservice én op het toestel in de app.","whisper","simple-icons:openai",{"id":168,"title":169,"body":170,"description":561,"extension":562,"footerCta":563,"headingCta":577,"image":582,"meta":585,"metaDescription":586,"metaTitle":587,"navigation":588,"ogDescription":589,"parent":590,"path":591,"seo":592,"slug":593,"stem":594,"updated":595,"__hash__":596},"services_nl\u002Fservices\u002Fai-code-audit.md","Audit van AI-code",{"type":171,"value":172,"toc":542},"minimark",[173,177,180,185,188,193,197,200,204,218,222,225,230,238,242,245,249,252,256,285,289,296,299,305,308,314,323,329,341,345,350,353,358,366,371,374,378,383,386,391,398,403,406,412,416,432,438,442,445,450,453,458,461,466,469,474,477,483,491,495,498,504,513,517,520,524,531,535,538],[174,175,176],"p",{},"Een audit van AI-code is een onafhankelijke beoordeling van een codebase — door AI gegenereerd of met de hand geschreven — die hem nakijkt op beveiligingslekken, zwakke plekken in de architectuur en gaten in de gereedheid voor productie, voordat echte gebruikers ze vinden. Ze eindigt met een rapport waarin bevindingen op ernst zijn gerangschikt en met een helder pad om te herstellen wat eruit komt.",[174,178,179],{},"Het meeste van wat we tegenwoordig beoordelen begon in Cursor, Bolt, Lovable, Claude of ChatGPT — snel om te prototypen, zelden productieklaar op dag één. Maar de audit zelf beperkt zich niet tot wat AI oplevert: dezelfde risicocategorieën en hetzelfde proces gelden voor een codebase waar niemand AI voor gebruikte. Of je nu een team bent dat snel oplevert met AI-tools en een controle wil vóór de volgende release, of een oprichter die een met AI gebouwde app erfde en moet weten wat erin zit — je krijgt dezelfde audit.",[181,182,184],"h2",{"id":183},"wat-we-beoordelen","Wat we beoordelen",[174,186,187],{},"Zeven categorieën, elke keer — niet alleen de beveiligingsscan waar de meeste tools voor het beoordelen van AI-code bij ophouden.",[189,190],"features",{":items":191,":title":192},"[{\"label\": \"Beveiliging\", \"description\": \"Kwetsbaarheden uit de OWASP Top 10, injectieaanvallen, omzeilen van authenticatie, blootgestelde geheimen en onveilige gegevensopslag.\"}, {\"label\": \"Architectuur\", \"description\": \"Servicegrenzen, gegevensstromen en koppeling — of het ontwerp standhoudt bij echte gebruikers en echte belasting.\"}, {\"label\": \"Prestaties\", \"description\": \"Trage databaseopvragingen, N+1-problemen, geheugenlekken en capaciteit onder productieverkeer.\"}, {\"label\": \"Correctheid\", \"description\": \"Bedrijfslogica, randgevallen, en de bugs die pas opduiken zodra echte data het systeem raakt.\"}, {\"label\": \"Afhankelijkheden\", \"description\": \"Verouderde pakketten, bekende kwetsbaarheden en licentierisico in de afhankelijkhedenboom.\"}, {\"label\": \"Testdekking\", \"description\": \"Wat er getest is, wat niet, en wat stilletjes breekt zodra het de volgende keer verandert.\"}, {\"label\": \"Code smells van AI\", \"description\": \"Gedupliceerde logica, verzonnen API-aanroepen, en de inconsistente patronen die een onbewaakte agent achterlaat.\"}]","Wat elke audit dekt",[181,194,196],{"id":195},"wat-je-krijgt","Wat je krijgt",[174,198,199],{},"Een audit is geen pdf die in een la belandt. Er komen drie dingen uit.",[189,201],{":items":202,":title":203},"[{\"label\": \"Rapport met bevindingen\", \"description\": \"Elk punt gerangschikt op ernst — kritiek, hoog, gemiddeld, laag — met een uitleg van het risico in gewone taal en een concrete oplossing.\"}, {\"label\": \"Voorbeeldrapport\", \"description\": \"Een geanonimiseerd voorbeeld van een echte audit, zodat je precies ziet waarvoor je betaalt voordat je ons code stuurt.\"}, {\"label\": \"Gesprek over herstel\", \"description\": \"Een doorloop van elke bevinding met onze engineers, en een helder antwoord op wat je als eerste moet aanpakken.\"}]","Wat de audit oplevert",[205,206,209],"info-box",{":leading-icon":207,":title":208},"lucide:file-text","Bekijk een voorbeeld voordat je iets toezegt",[174,210,211,212,217],{},"Wil je zien hoe een echte bevinding eruitziet — ernst, risico-uitleg, oplossing — voordat je ons je code stuurt? ",[213,214,216],"a",{"href":215},"\u002Fcontact?intent=ai-code-audit","Vraag een geanonimiseerd voorbeeldrapport aan"," en we sturen er een op.",[181,219,221],{"id":220},"twee-manieren-om-te-beginnen","Twee manieren om te beginnen",[174,223,224],{},"Mensen komen om een van twee redenen bij ons voor een audit. Het rapport ziet er hoe dan ook hetzelfde uit — wat verschilt is waar we beginnen te kijken.",[226,227,229],"h3",{"id":228},"een-met-ai-of-op-gevoel-gebouwde-app-beoordelen","Een met AI of op gevoel gebouwde app beoordelen",[174,231,232,233,237],{},"Jij (of een niet-technische oprichter, of een ingehuurde bouwer) gebruikte Cursor, Bolt, Lovable, Claude of ChatGPT om iets te bouwen dat werkt — de demo oogt goed, vroege gebruikers zijn tevreden, en nu moet het het contact met de echte wereld overleven. We beginnen waar deze tools consequent falen: hardgecodeerde geheimen, authenticatie die op papier bestaat maar het verzoek niet echt controleert, en API-gebruik waarbij nooit aan een budget is gedacht. Ons draaiboek voor precies deze overdracht staat in ",[213,234,236],{"href":235},"\u002Fblog\u002Fai-prototype-to-production","Een met AI gebouwd prototype naar productie brengen",".",[226,239,241],{"id":240},"ai-versnelde-audit-van-elke-codebase","AI-versnelde audit van elke codebase",[174,243,244],{},"Je codebase hoeft niet door AI gegenereerd te zijn om hiervoor in aanmerking te komen. We draaien dezelfde geautomatiseerde analyse — statische analyse, scannen van afhankelijkheden, opsporen van geheimen — op elke stack, met of zonder AI gebouwd, en dat is wat ons in staat stelt een audit in weken af te ronden in plaats van in maanden. In de handmatige beoordeling daarbovenop lezen onze engineers je architectuur en bedrijfslogica werkelijk; de automatisering zorgt er alleen voor dat minder van het budget opgaat aan handmatig zoeken naar het voor de hand liggende.",[181,246,248],{"id":247},"wat-er-misgaat-in-door-ai-gegenereerde-code","Wat er misgaat in door AI gegenereerde code",[174,250,251],{},"We hebben tientallen door AI gegenereerde codebases beoordeeld. Dezelfde probleemcategorieën duiken in vrijwel elke codebase op — stelselmatige blinde vlekken, geen randgevallen.",[253,254],"statistics-grid",{":items":255},"[{\"icon\": \"lucide:shield-alert\", \"value\": \"45%\", \"label\": \"Zakt voor beveiligingstests\", \"description\": \"Door AI gegenereerde codevoorbeelden zakken voor OWASP-beveiligingscontroles (Veracode, 2025)\"}, {\"icon\": \"lucide:dollar-sign\", \"value\": \"5-20x\", \"label\": \"Te veel API-uitgaven\", \"description\": \"Gebruikelijke kostenoverschrijding door niet-geoptimaliseerd gebruik van betaalde API-koppelingen\"}, {\"icon\": \"lucide:key\", \"value\": \"2x\", \"label\": \"Meer gelekte geheimen\", \"description\": \"Developers die AI gebruiken stellen inloggegevens bijna twee keer zo vaak bloot (Apiiro, 2025)\"}, {\"icon\": \"lucide:clock\", \"value\": \"2-4 weken\", \"label\": \"Doorlooptijd audit\", \"description\": \"Tijd om kritieke problemen te vinden en op te lossen\"}]",[174,257,258,259,264,265,269,270,274,275,279,280,284],{},"Deze cijfers komen uit onafhankelijk onderzoek: ",[213,260,263],{"href":261,"target":262},"https:\u002F\u002Fwww.veracode.com\u002Fblog\u002Fgenai-code-security-report\u002F","_blank","Veracode testte 100+ LLMs"," en vond dat 45% van de gegenereerde code zakt voor beveiligingstests. ",[213,266,268],{"href":267,"target":262},"https:\u002F\u002Fapiiro.com\u002Fblog\u002F4x-velocity-10x-vulnerabilities-ai-coding-assistants-are-shipping-more-risks\u002F","De analyse van Apiiro uit 2025"," liet zien dat developers die AI gebruiken inloggegevens bijna twee keer zo vaak blootstellen. ",[213,271,273],{"href":272,"target":262},"https:\u002F\u002Farxiv.org\u002Fpdf\u002F2108.09293","Onderzoekers van NYU"," vonden dat ongeveer 40% van de door Copilot gegenereerde programma's kwetsbaarheden bevatte, terwijl ",[213,276,278],{"href":277,"target":262},"https:\u002F\u002Fee.stanford.edu\u002Fdan-boneh-and-team-find-relying-ai-more-likely-make-your-code-buggier","het onderzoek van Stanford"," bevestigde dat developers die AI-assistenten gebruiken minder veilige code produceren — en er zekerder van zijn dat die veilig is. Onze eigen beoordeling van door agents geschreven Flutter staat in ",[213,281,283],{"href":282},"\u002Fblog\u002Fai-agents-struggle-with-flutter","Hoe AI-agents worstelen met Flutter",": gedupliceerde state, geen tests, en interfaces waar nooit een mens een tweede keer naar keek.",[226,286,288],{"id":287},"beveiligingslekken","Beveiligingslekken",[290,291,292],"ol",{},[293,294,295],"li",{},"Blootgestelde API-sleutels en geheimen",[174,297,298],{},"AI-tools coderen API-sleutels, databasegegevens en tokens van externe diensten regelmatig hard in de broncode. Die belanden in openbare repositories, in bundels aan de clientkant, of in omgevingsbestanden die naar productie gaan. Eén gelekte OpenAI-sleutel kan binnen enkele uren duizenden euro's aan ongeautoriseerd gebruik opleveren.",[290,300,302],{"start":301},2,[293,303,304],{},"Ontbrekende authenticatie en autorisatie",[174,306,307],{},"Met AI gebouwde apps bouwen authenticatie vaak alleen aan de oppervlakte: er is een inlogscherm, maar de backend controleert de rechten niet werkelijk. API-endpoints accepteren elk verzoek. Beheerroutes zijn zonder rolcontrole bereikbaar. Gebruiker A ziet de gegevens van gebruiker B door een ID in de URL te wijzigen.",[290,309,311],{"start":310},3,[293,312,313],{},"Injectieaanvallen",[174,315,316,317,322],{},"SQL-injectie, XSS en ",[318,319,321],"term",{"slug":320},"prompt-injection","prompt injection"," zijn wijdverbreid in met AI gebouwde code. AI-modellen genereren code die gebruikersinvoer rechtstreeks in query's, HTML of LLM-prompts plakt zonder die op te schonen. Eén kwetsbaar endpoint kan je hele database compromitteren of aanvallers het gedrag van je AI laten sturen.",[290,324,326],{"start":325},4,[293,327,328],{},"Onveilige gegevensopslag",[174,330,331,332,335,336,340],{},"Persoonsgegevens in leesbare tekst, sessietokens in localStorage, wachtwoorden gehasht met MD5 of helemaal niet gehasht. AI-tools grijpen standaard naar de eenvoudigste implementatie, en die is zelden de veilige. Naleving van de ",[318,333],{"slug":334},"gdpr"," en van privacyregels ontbreekt doorgaans. Onze gids over ",[213,337,339],{"href":338},"\u002Fblog\u002Fencryption-explained","versleuteling in productieapplicaties"," beschrijft hoe gegevens werkelijk beschermd horen te worden, zowel in rust als onderweg.",[226,342,344],{"id":343},"api-kosten-optimaliseren","API-kosten optimaliseren",[290,346,347],{},[293,348,349],{},"Overbodige API-aanroepen",[174,351,352],{},"Het duurste probleem dat we vinden. Met AI gebouwde apps doen onnodige aanroepen naar betaalde externe API's — geocoderingsdiensten, aanbieders van financiële data, AI-modellen, verificatie-API's. Ze roepen hetzelfde endpoint meerdere keren aan voor dezelfde gegevens, cachen antwoorden niet, en doen verzoeken die met eenvoudige lokale logica volledig vermijdbaar waren. We vinden geregeld apps waarin 60-80% van de API-uitgaven verspild is.",[290,354,355],{"start":301},[293,356,357],{},"Ontbrekende verzoeklimieten en budgetten",[174,359,360,361,365],{},"Geen ",[318,362,364],{"slug":363},"rate-limiting","verzoeklimieten"," per gebruiker. Geen dagelijkse uitgavenplafonds. Geen noodrem wanneer de API-kosten pieken. Eén gebruiker — of een bot — kan je hele maandbudget in een dag opmaken. AI-tools bouwen nooit kostenbeheersing in, omdat ze geen idee hebben van je verdienmodel of van de prijsniveaus van de diensten die je koppelt.",[290,367,368],{"start":310},[293,369,370],{},"Geen caching of bundeling",[174,372,373],{},"Bij elk afzonderlijk verzoek dezelfde wisselkoers, IP-locatie of gebruikersprofiel bij een betaalde API ophalen in plaats van het te cachen. Losse API-aanroepen in een lus doen in plaats van bundelendpoints gebruiken. Elk overbodig verzoek kost geld, en op schaal loopt dat op tot duizenden euro's per maand.",[226,375,377],{"id":376},"datalekken-en-privacy","Datalekken en privacy",[290,379,380],{},[293,381,382],{},"Gevoelige informatie loggen",[174,384,385],{},"Door AI gegenereerde code is dol op uitgebreid loggen. E-mailadressen, wachtwoorden, betaalgegevens en persoonsgegevens belanden in applicatielogs, foutopsporingsdiensten en analysepakketten van derden. Die logs zijn vaak zonder authenticatie toegankelijk en worden onbeperkt bewaard.",[290,387,388],{"start":301},[293,389,390],{},"Te veel delen via API's",[174,392,393,394,397],{},"API-antwoorden die complete gebruikersobjecten teruggeven — inclusief gehashte wachtwoorden, interne ID's, e-mailadressen en metadata — terwijl de front-end alleen een weergavenaam nodig heeft. ",[318,395],{"slug":396},"graphql","-endpoints zonder dieptelimieten waarmee aanvallers je hele datamodel kunnen uitlezen.",[290,399,400],{"start":310},[293,401,402],{},"Blootstelling aan derden",[174,404,405],{},"AI-tools koppelen analyse-, foutopsporings- en monitoringdiensten zonder stil te staan bij welke gegevens daarheen stromen. Gebruikersgedrag, persoonsgegevens en bedrijfsgegevens belanden zonder toestemming in systemen van derden, in strijd met de AVG en andere privacyregels.",[407,408],"image-box",{"alt":409,"src":410,"subtitle":411},"Niet-beoordeelde AI-code naar productie uitrollen","\u002Fservices\u002Fai-transition-example.webp","Wat er gebeurt als door AI gegenereerde code zonder audit naar productie gaat",[181,413,415],{"id":414},"wie-de-audit-uitvoert","Wie de audit uitvoert",[174,417,418,419,423,424,427,428,431],{},"Nerdy Production wordt geleid door ",[213,420,422],{"href":421},"\u002Fteam\u002Fnixan","Ilya Nixan",", voorheen CTO van QIWI, een van de grootste betaalplatforms in zijn markt, waar hij zo'n 12 engineeringteams aanstuurde die alles bestreken van webproducten tot kaartverwerking en ",[318,425],{"slug":426},"pci-dss","-scope. Dat is de lat die we voor onze audits leggen: niet \"draait de code\", maar \"zou dit een beoordeling doorstaan door iemand die compliance-scope heeft gedragen en zich voor een productie-incident heeft moeten verantwoorden.\" We hebben zelf geen PCI-DSS- of ",[318,429],{"slug":430},"soc-2","-certificering, en we zeggen ronduit wanneer een bevinding buiten het bereik valt van wat een audit kan bevestigen — maar de persoon die de lat legt voor wat als kritieke bevinding telt, heeft gereguleerde infrastructuur beheerd en er niet alleen over gelezen.",[174,433,434,435,437],{},"Onze engineers werken dagelijks met AI-programmeergereedschap, en juist daarom weten we waar het faalt. ",[213,436,283],{"href":282}," loopt de specifieke gaten langs die een onbewaakte agent achterlaat — gedupliceerde state, ontbrekende tests, interfaces waar nooit iemand een tweede blik op wierp — precies de patronen waar we in elke audit naar zoeken, ongeacht taal of framework.",[181,439,441],{"id":440},"hoe-een-audit-verloopt","Hoe een audit verloopt",[174,443,444],{},"We leveren een complete audit met bruikbare oplossingen — niet alleen een lijst problemen.",[290,446,447],{},[293,448,449],{},"Toegang tot de codebase en afbakening",[174,451,452],{},"Je geeft ons leestoegang tot je repository en je uitgerolde omgeving. We bakenen de audit af op basis van jouw prioriteiten: een volledige audit of gericht op specifieke gebieden (beveiliging, kosten of gegevensprivacy). Tijdens de auditfase wijzigen we niets aan je code.",[290,454,455],{"start":301},[293,456,457],{},"Geautomatiseerde analyse",[174,459,460],{},"We draaien statische analyse, scans op kwetsbaarheden in afhankelijkheden, opsporing van geheimen en profilering van API-kosten op je codebase. Dat vist het laaghangend fruit eruit — bekende kwetsbaarheden, blootgestelde inloggegevens, verouderde pakketten met beveiligingspatches, en voor de hand liggende prestatieproblemen.",[290,462,463],{"start":310},[293,464,465],{},"Handmatige beoordeling door experts",[174,467,468],{},"Onze engineers beoordelen de architectuur, de bedrijfslogica, de authenticatiestromen, de API-koppelingen en het omgaan met gegevens met de hand. Hier vinden we de problemen die geautomatiseerd gereedschap mist: fouten in de logica, gaten in de autorisatie, kansen om kosten te verlagen, en ontwerpkeuzes die op schaal problemen gaan geven.",[290,470,471],{"start":325},[293,472,473],{},"Rapport gerangschikt op ernst",[174,475,476],{},"We leveren een gedetailleerd rapport waarin elke bevinding is ingedeeld op ernst (kritiek, hoog, gemiddeld, laag) en op soort (beveiliging, kosten, privacy, prestaties). Elke bevinding bevat een heldere uitleg van het risico, waar van toepassing een demonstratie, en een concrete oplossing met codevoorbeelden.",[290,478,480],{"start":479},5,[293,481,482],{},"Herstel — jouw keuze",[174,484,485,486,490],{},"Jij bepaalt wie het oplost. Wij kunnen elke oplossing zelf uitvoeren als opdracht met vaste scope, met kritieke beveiligingspatches eerst, waarbij jij elke wijziging beoordeelt voordat die wordt samengevoegd. Of, wil je liever dat je eigen team de oplossingen zelf doorvoert, dan kunnen we via ",[213,487,489],{"href":488},"\u002Fservices\u002Fteam-augmentation","teamuitbreiding"," een engineer laten aansluiten die je bevindingenrapport al kent, in plaats van je een document te overhandigen en te verdwijnen. Hoe dan ook is het resultaat een codebase die je met vertrouwen kunt uitrollen.",[181,492,494],{"id":493},"door-ai-gegenereerde-code-tegenover-productieklare-code","Door AI gegenereerde code tegenover productieklare code",[174,496,497],{},"Wat er verandert wanneer je codebase een professionele audit doorloopt",[499,500],"features-table",{":heading":501,":rows":502,":top-left-label":503},"[{\"label\": \"Na de audit\", \"hightlightLabel\": \"Productieklaar\"}, {\"label\": \"Door AI gegenereerde code\"}, {\"label\": \"Vanaf nul gebouwd\"}]","[{\"label\": \"Beveiliging\",\"cells\": [{\"text\": \"Gehard\", \"color\": \"success\", \"icon\": \"lucide:check-circle\" },{ \"text\": \"Alleen aan de oppervlakte\", \"color\": \"error\", \"icon\": \"lucide:x\" },{ \"text\": \"Wisselt per team\", \"color\": \"warning\", \"icon\": \"lucide:minus\" }]}, {\"label\": \"API-kosten\",\"cells\": [{\"text\": \"Geoptimaliseerd\", \"color\": \"success\", \"icon\": \"lucide:check-circle\" },{ \"text\": \"5-20x te veel\", \"color\": \"error\", \"icon\": \"lucide:x\" },{ \"text\": \"Meestal geoptimaliseerd\", \"color\": \"success\", \"icon\": \"lucide:check-circle\" }]}, {\"label\": \"Gegevensprivacy\",\"cells\": [{\"text\": \"AVG-conform\", \"color\": \"success\", \"icon\": \"lucide:check-circle\" },{ \"text\": \"Datalekken zijn gangbaar\", \"color\": \"error\", \"icon\": \"lucide:x\" },{ \"text\": \"Hangt van het proces af\", \"color\": \"warning\", \"icon\": \"lucide:minus\" }]}, {\"label\": \"Tijd tot productie\",\"cells\": [{\"text\": \"2-4 weken\", \"color\": \"success\", \"icon\": \"lucide:check-circle\" },{ \"text\": \"Draait al\", \"color\": \"success\", \"icon\": \"lucide:check-circle\" },{ \"text\": \"3-6 maanden\", \"color\": \"error\", \"icon\": \"lucide:x\" }]}, {\"label\": \"Kosten om te lanceren\",\"cells\": [{\"text\": \"Laag (audittarief)\", \"color\": \"success\", \"icon\": \"lucide:check-circle\" },{ \"text\": \"Gratis (riskant)\", \"color\": \"error\", \"icon\": \"lucide:x\" },{ \"text\": \"Hoog (volledige bouw)\", \"color\": \"warning\", \"icon\": \"lucide:minus\" }]}, {\"label\": \"Foutafhandeling\",\"cells\": [{\"text\": \"Nette afhandeling\", \"color\": \"success\", \"icon\": \"lucide:check-circle\" },{ \"text\": \"Crasht bij randgevallen\", \"color\": \"error\", \"icon\": \"lucide:x\" },{ \"text\": \"Meestal afgehandeld\", \"color\": \"success\", \"icon\": \"lucide:check-circle\" }]}, {\"label\": \"Schaalbaarheid\",\"cells\": [{\"text\": \"Getest onder belasting\", \"color\": \"success\", \"icon\": \"lucide:check-circle\" },{ \"text\": \"Niet getest\", \"color\": \"error\", \"icon\": \"lucide:x\" },{ \"text\": \"Ontworpen om te schalen\", \"color\": \"success\", \"icon\": \"lucide:check-circle\" }]}, {\"label\": \"Monitoring\",\"cells\": [{\"text\": \"Volledig zicht\", \"color\": \"success\", \"icon\": \"lucide:check-circle\" },{ \"text\": \"Geen of veel te veel\", \"color\": \"error\", \"icon\": \"lucide:x\" },{ \"text\": \"Standaardopzet\", \"color\": \"success\", \"icon\": \"lucide:check-circle\" }]}]","Aspect",[205,505,506],{},[174,507,508,512],{},[509,510,511],"strong",{},"Kort gezegd:"," door AI gegenereerde code brengt je 80% van de weg in 5% van de tijd. Maar die laatste 20% — beveiliging, kostenoptimalisatie, gegevensprivacy, foutafhandeling — is wat een demo van een productieapplicatie scheidt. Een audit overbrugt dat gat zonder je met AI gebouwde fundament weg te gooien.",[181,514,516],{"id":515},"tarieven-voor-een-audit-van-ai-code","Tarieven voor een audit van AI-code",[174,518,519],{},"Heldere tarieven op basis van de omvang van je codebase en de scope van de audit",[521,522],"pricing-table",{":items":523},"[{\"title\": \"Gericht op beveiliging\", \"subtitle\": \"Alleen kritieke kwetsbaarheden\", \"price\": \"ai-code-audit\u002Fsecurity\", \"terms\": \"1-2 weken\", \"lines\": [\"Scan op de OWASP Top 10\", \"Opsporen van geheimen en inloggegevens\", \"Beoordeling van authenticatie en autorisatie\", \"Controle op kwetsbare afhankelijkheden\", \"Rapport met bevindingen op prioriteit\", \"Oplossingen met codevoorbeelden\"], \"callToAction\": {\"to\": \"\u002Fcontact?intent=ai-code-audit\", \"label\": \"Aan de slag\"}},{\"title\": \"Kostenoptimalisatie\", \"subtitle\": \"Verlaag je API-uitgaven\", \"price\": \"ai-code-audit\u002Fcost-optimization\", \"terms\": \"1-2 weken\", \"lines\": [\"Profilering van betaald API-gebruik\", \"Overbodige aanroepen opsporen\", \"Strategie voor caching en bundelen\", \"Plan voor verzoeklimieten\", \"Kostenoptimalisatie per verzoek\", \"Rapport met verwachte maandbesparing\"], \"callToAction\": {\"to\": \"\u002Fcontact?intent=ai-code-audit\", \"label\": \"Aan de slag\"}},{\"highlight\": \"Populair\",\"title\": \"Volledige audit\", \"subtitle\": \"Volledig productieklaar\", \"price\": \"ai-code-audit\u002Ffull\", \"terms\": \"2-4 weken\", \"lines\": [\"Alles uit Gericht op beveiliging\", \"Alles uit Kostenoptimalisatie\", \"Beoordeling van gegevensprivacy en AVG\", \"Analyse van prestaties en schaalbaarheid\", \"Audit van de infrastructuur\", \"Gedetailleerd rapport plus uitvoering van de oplossingen\"], \"callToAction\": {\"to\": \"\u002Fcontact?intent=ai-code-audit\", \"label\": \"Aan de slag\"}},{\"title\": \"Doorlopende ondersteuning\", \"subtitle\": \"Continu beoordelen en bewaken\", \"price\": \"ai-code-audit\u002Fretainer\", \"terms\": \"per maand\", \"lines\": [\"Maandelijkse beveiligingsscans\", \"Bewaking van en waarschuwingen over API-kosten\", \"Beoordeling van updates van afhankelijkheden\", \"Beveiligingsbeoordeling van nieuwe functies\", \"Voorrang bij incidenten\", \"Rechtstreekse toegang via Slack of Telegram\"], \"callToAction\": {\"to\": \"\u002Fcontact?intent=ai-code-audit\", \"label\": \"Aan de slag\"}}]",[205,525,528],{":leading-icon":526,":title":527},"lucide:dollar-sign","Maatwerktarieven mogelijk",[174,529,530],{},"De prijs hangt af van de omvang van de codebase, het aantal services en koppelingen, en de scope van de audit. Een kleine app met één service en één AI-koppeling zit aan de onderkant. Een platform met meerdere services, verschillende AI-aanbieders, betalingsverwerking en gebruikersgegevens vraagt een grondiger beoordeling. Neem contact op voor een gratis eerste analyse.",[181,532,534],{"id":533},"veelgestelde-vragen","Veelgestelde vragen",[174,536,537],{},"Veelgestelde vragen over het beoordelen van door AI gegenereerde en productiecodebases",[539,540],"questions",{":items":541},"[{\"title\":\"Mijn app is gebouwd met Cursor \u002F Bolt \u002F Lovable — werken jullie daarmee?\", \"text\": \"Ja. We beoordelen code ongeacht hoe die is gegenereerd. Of je nu Cursor, Bolt, Lovable, Claude, ChatGPT, GitHub Copilot of een combinatie van AI-tools gebruikte, het auditproces is hetzelfde. De uitvoer is code, en dat is wat we beoordelen. We hebben ervaring met alle grote AI-programmeertools en kennen hun gebruikelijke faalpatronen.\"}, {\"title\": \"Beoordelen jullie ook codebases die niet met AI zijn gebouwd?\", \"text\": \"Ja. De audit vindt dezelfde risicocategorieën — beveiliging, architectuur, prestaties, correctheid, afhankelijkheden, testdekking — of AI nu code schreef of niet. Wat wij een AI-versnelde audit noemen gebruikt geautomatiseerde analyse om sneller door elke codebase te bewegen, zodat een met de hand geschreven app dezelfde grondige beoordeling krijgt binnen dezelfde doorlooptijd.\"}, {\"title\": \"Moet de app tijdens de audit uit de lucht?\", \"text\": \"Nee. De audit verstoort niets. We beoordelen je broncode en draaien eventueel alleen-lezen tests in een testomgeving. Je productieapplicatie blijft gedurende het hele proces gewoon draaien. Vinden we een kritieke kwetsbaarheid die direct risico oplevert, dan melden we dat meteen zodat jij kunt bepalen hoe verder te gaan.\"}, {\"title\": \"Hoeveel kan ik werkelijk besparen op API-kosten?\", \"text\": \"In onze ervaring geven met AI gebouwde applicaties 5-20x te veel uit aan betaalde API-aanroepen. De grootste besparingen komen van het wegnemen van overbodige aanroepen naar diensten als geocodering, financiële data of AI-aanbieders, het cachen van antwoorden, het bundelen van verzoeken, en het toevoegen van verzoeklimieten tegen misbruik. We hebben maandelijkse API-rekeningen zien dalen van 5.000 naar onder de 500 dollar na optimalisatie, al hangt het resultaat af van jouw gebruikspatroon.\"}, {\"title\": \"Kunnen jullie de gevonden problemen ook oplossen, of alleen melden?\", \"text\": \"Allebei. Het auditrapport bevat voor elke bevinding een concrete oplossing met codevoorbeelden. Wil je dat, dan voeren wij alle oplossingen zelf uit — dat zit bij de Volledige audit inbegrepen en is bij de andere niveaus als uitbreiding beschikbaar. Wil je liever dat je eigen team het oplost, dan kunnen we via teamuitbreiding een engineer laten aansluiten. Jij beoordeelt en keurt elke wijziging goed voordat ze wordt samengevoegd.\"}, {\"title\": \"Kan ik een voorbeeldrapport zien voordat ik iets toezeg?\", \"text\": \"Ja. Vraag via het contactformulier een geanonimiseerd voorbeeldrapport aan en we sturen er een op — dezelfde opbouw met bevindingen op ernst, risico-uitleg en oplossingen die een echte opdracht oplevert, met identificerende gegevens van de klant verwijderd.\"}, {\"title\": \"Ik ben niet technisch — begrijp ik het auditrapport?\", \"text\": \"Ja. Elke bevinding bevat een uitleg van het risico en de zakelijke impact in gewone taal, niet alleen technisch jargon. We delen punten in op ernst, zodat je weet wat direct aandacht vraagt en wat kan wachten. Bovenaan het rapport staat bovendien een samenvatting voor het management met de kernpunten en een aanbevolen plan van aanpak.\"}]",{"title":543,"searchDepth":301,"depth":301,"links":544},"",[545,546,547,551,556,557,558,559,560],{"id":183,"depth":301,"text":184},{"id":195,"depth":301,"text":196},{"id":220,"depth":301,"text":221,"children":548},[549,550],{"id":228,"depth":310,"text":229},{"id":240,"depth":310,"text":241},{"id":247,"depth":301,"text":248,"children":552},[553,554,555],{"id":287,"depth":310,"text":288},{"id":343,"depth":310,"text":344},{"id":376,"depth":310,"text":377},{"id":414,"depth":301,"text":415},{"id":440,"depth":301,"text":441},{"id":493,"depth":301,"text":494},{"id":515,"depth":301,"text":516},{"id":533,"depth":301,"text":534},"Voor teams die snel opleveren met Cursor, Bolt of Claude, en voor oprichters die een met AI gebouwde app erfden: een onafhankelijke beoordeling van je codebase op beveiliging, architectuur en gereedheid voor productie.","md",{"heading":564,"text":565,"buttons":566},"Klaar voor een onafhankelijke code-audit?","Vertel ons wat je draait en hoe het is gebouwd — door een AI-tool, door een team, of allebei. Wij bakenen de audit af en sturen een rapport met bevindingen op ernst gerangschikt waar je meteen mee vooruit kunt.",[567,572],{"to":215,"label":568,"leadingIcon":569,"color":570,"variant":571},"Vraag een audit aan","lucide:message-circle","neutral","outline",{"to":573,"label":574,"color":575,"variant":576},"\u002Fportfolio","Bekijk ons werk","primary","solid",[578,579],{"to":215,"label":568,"leadingIcon":569,"color":575,"variant":576},{"to":580,"label":581,"color":570,"variant":571},"#ai-code-audit-pricing","Bekijk de tarieven",{"url":583,"alt":169,"text":584},"\u002Fservices\u002Fai-code-audit.webp","Van AI-prototype naar productieklaar",{},"Onafhankelijke audit van AI-code: we beoordelen met AI gebouwde apps op beveiliging, architectuur en gereedheid voor productie. Vaste scope, echte bevindingen.","Audit van AI-code — beveiliging en kwaliteit",true,"Snel opgeleverd met Cursor of Claude, of een app geërfd die je niet zelf schreef? Een onafhankelijke blik op wat er werkelijk in de codebase zit, met vaste scope.",null,"\u002Fservices\u002Fai-code-audit",{"title":169,"description":561},"ai-code-audit","services\u002Fai-code-audit","2026-08-06","lLwIE6fJ3yzQVemwV5-EfZmNqJ_zhvY6Xp78a0r7KbQ",[],[599,614,632,645,659,673,686,703,716,731,745,758,773,787,803,813,826,837,847,860,872,883,898,907,920,934,941,953,966,977,992,1005,1018,1031,1044,1057,1068,1079,1090,1102,1113,1125,1135,1147,1160,1173,1185,1199,1210,1222,1236,1245,1257],{"slug":600,"term":601,"definition":602,"category":603,"aliases":604,"links":606,"related":610,"readMore":-1,"target":612,"hasArticle":613},"aosp","AOSP","Het Android Open Source Project — Android zonder de Google-laag erbovenop, door iedereen vrij te forken. Kassaterminals, kiosken en autosystemen draaien op forks ervan, en werken op dat niveau legt delen van het OS bloot die een app-ontwikkelaar nooit ziet.","platform",[605],"Android Open Source Project",[607],{"kind":608,"url":609},"website","https:\u002F\u002Fsource.android.com\u002F",[611],"host-card-emulation","\u002Fglossary#aosp",false,{"slug":334,"term":615,"definition":616,"category":617,"aliases":618,"links":623,"related":629,"readMore":-1,"target":631,"hasArticle":613},"AVG","De EU-verordening over persoonsgegevens van mensen in de EU: een rechtsgrond om ze te verzamelen, echte toestemming voor tracking, en het recht om ze in te zien en te laten wissen. Ze volgt je gebruikers, niet je servers, en geldt dus ongeacht waar het bedrijf staat ingeschreven.","practice",[619,620,621,622],"GDPR","General Data Protection Regulation","Algemene verordening gegevensbescherming","gegevensbescherming",[624,626],{"kind":608,"url":625},"https:\u002F\u002Fgdpr.eu\u002F",{"kind":627,"url":628},"wikipedia","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FGeneral_Data_Protection_Regulation",[426,430,630],"hipaa","\u002Fglossary#gdpr",{"slug":633,"term":634,"definition":635,"category":603,"aliases":636,"links":637,"related":641,"readMore":-1,"target":644,"hasArticle":613},"app-clips","App Clips","Een Apple-functie die een klein stuk van een iOS-app draait — onder de 15 MB — zonder het geheel te installeren. Te starten via een QR-code, een NFC-tag of een link, voor als de eerste handeling van een gebruiker niet eerst een gang naar de App Store zou moeten vergen.",[],[638],{"kind":639,"url":640},"documentation","https:\u002F\u002Fdeveloper.apple.com\u002Fapp-clips\u002F",[642,643],"deep-linking","install-referrer","\u002Fglossary#app-clips",{"slug":646,"term":647,"definition":648,"category":603,"aliases":649,"links":650,"related":655,"readMore":-1,"target":658,"hasArticle":613},"bigquery","BigQuery","Het analytische datawarehouse van Google Cloud. Je laat SQL los op miljarden rijen en het scant ze in seconden, op opslag die losstaat van de machines die de query uitvoeren — en juist dat houdt rapportage en verkenning weg bij de database die het live verkeer bedient.",[],[651,653],{"kind":608,"url":652},"https:\u002F\u002Fcloud.google.com\u002Fbigquery",{"kind":627,"url":654},"https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FBigQuery",[656,657],"object-storage","elasticsearch","\u002Fglossary#bigquery",{"slug":660,"term":661,"definition":662,"category":617,"aliases":663,"links":668,"related":671,"readMore":-1,"target":672,"hasArticle":613},"ci-cd","CI\u002FCD","Automatisering die elke wijziging bouwt, test en uitlevert zonder dat iemand handmatig commando's uitvoert. Op mobiel is het wat van een release een druk op de knop maakt in plaats van een middag wachten tot iemand anders tijd heeft.",[664,665,666,667],"CI","continuous integration","continuous delivery","continue integratie",[669],{"kind":627,"url":670},"https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FCI\u002FCD",[],"\u002Fglossary#ci-cd",{"slug":674,"term":675,"definition":676,"category":677,"aliases":678,"links":680,"related":683,"readMore":-1,"target":685,"hasArticle":613},"crud","CRUD","Create, read, update, delete — de vier bewerkingen achter zo goed als elk formulier en elk beheerscherm. Verzamelnaam voor de helft van een app die routinematig gegevensbeheer is, tegenover de delen die echte domeinlogica dragen.","architecture",[679],"Create, Read, Update, Delete",[681],{"kind":627,"url":682},"https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FCreate,_read,_update_and_delete",[684,396],"rest","\u002Fglossary#crud",{"slug":687,"term":688,"definition":689,"category":677,"aliases":690,"links":696,"related":699,"readMore":-1,"target":702,"hasArticle":613},"container-registry","Containerregistry","Een gehoste opslagplaats voor container-images, aangesproken op naam en tag — Docker Hub, GitHub Container Registry, of die van je eigen cloudprovider. Een build daarheen pushen verandert 'werkt op mijn machine' in een image die iedereen ongewijzigd kan pullen en draaien.",[691,692,693,694,695],"container registry","image registry","Docker registry","GHCR","ghcr.io",[697],{"kind":639,"url":698},"https:\u002F\u002Fdocs.github.com\u002Fen\u002Fpackages\u002Fworking-with-a-github-packages-registry\u002Fworking-with-the-container-registry",[700,701],"dev-container","multi-arch-image","\u002Fglossary#container-registry",{"slug":642,"term":704,"definition":705,"category":603,"aliases":706,"links":711,"related":714,"readMore":715,"target":715,"hasArticle":588},"Deep linking","Een link die een specifiek scherm in een geïnstalleerde app opent in plaats van het beginscherm of een webpagina. Deferred deep linking overleeft een installatie, zodat een tik die via de appwinkel loopt alsnog op het juiste scherm landt.",[707,708,709,710],"deferred deep linking","universal links","Android App Links","diepe links",[712],{"kind":627,"url":713},"https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FMobile_deep_linking",[633,643],"\u002Fglossary\u002Fdeep-linking",{"slug":700,"term":717,"definition":718,"category":617,"aliases":719,"links":724,"related":729,"readMore":-1,"target":730,"hasArticle":613},"Dev Container","Een ontwikkelomgeving die één keer beschreven staat in devcontainer.json — het OS, de tools en de runtimeversies die een project nodig heeft — en die bij iedere bijdrager identiek in een container opent, in plaats van een installatiehandleiding die iedereen anders leest.",[720,721,722,723],"devcontainer.json","Dev Containers","VS Code Dev Containers","ontwikkelcontainer",[725,727],{"kind":608,"url":726},"https:\u002F\u002Fcontainers.dev\u002F",{"kind":639,"url":728},"https:\u002F\u002Fcode.visualstudio.com\u002Fdocs\u002Fdevcontainers\u002Fcontainers",[687],"\u002Fglossary#dev-container",{"slug":732,"term":733,"definition":734,"category":677,"aliases":735,"links":740,"related":743,"readMore":-1,"target":744,"hasArticle":613},"floating-point","Drijvende komma","Het binaire IEEE 754-formaat achter double en float. Het kan 0,1 niet exact weergeven, dus 0.1 + 0.2 is 0.30000000000000004 — onzichtbaar in graphics en fataal bij geld, dat thuishoort in gehele kleinste eenheden (centen) of een decimaal type.",[736,737,738,739],"IEEE 754","double","floating point","zwevende komma",[741],{"kind":627,"url":742},"https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FIEEE_754",[],"\u002Fglossary#floating-point",{"slug":657,"term":746,"definition":747,"category":603,"aliases":748,"links":751,"related":756,"readMore":-1,"target":757,"hasArticle":613},"Elasticsearch","Een zoek- en analysemachine die records indexeert zodat je ze interactief kunt filteren en doorzoeken in plaats van ze te scannen. Waar je naar grijpt als de vraag 'laat me deze specifieke sessies zien, op zes manieren ingeperkt' is en niet 'tel deze kolom op'.",[749,750],"Elastic","ELK",[752,754],{"kind":608,"url":753},"https:\u002F\u002Fwww.elastic.co\u002Felasticsearch",{"kind":627,"url":755},"https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FElasticsearch",[646],"\u002Fglossary#elasticsearch",{"slug":759,"term":760,"definition":761,"category":677,"aliases":762,"links":766,"related":769,"readMore":-1,"target":772,"hasArticle":613},"end-to-end-encryption","End-to-end-versleuteling","Versleuteling die op het verzendende apparaat wordt aangebracht en pas op het ontvangende weer wordt weggehaald, zodat de dienst die het bericht vervoert het niet kan lezen — niet na een vordering, niet na een datalek. Het beschermt de inhoud, nooit de metadata.",[763,764,765],"E2EE","end-to-end encryption","end-to-end versleuteld",[767],{"kind":627,"url":768},"https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FEnd-to-end_encryption",[770,771],"tls","jwt","\u002Fglossary#end-to-end-encryption",{"slug":774,"term":775,"definition":776,"category":677,"aliases":777,"links":781,"related":782,"readMore":-1,"target":786,"hasArticle":613},"fan-out","Fan-out","Eén keer uit een bron lezen en elke update afleveren bij iedere client die erop geabonneerd is. De naïeve versie schrijft in een lus naar abonnees en loopt vast zodra één socket traag is; een echte buffert per client en laat vallen wie niet kan bijbenen.",[778,779,780],"fanout","broadcast","uitzending",[],[783,784,785],"websocket","pub-sub","server-sent-events","\u002Fglossary#fan-out",{"slug":788,"term":789,"definition":790,"category":617,"aliases":791,"links":795,"related":798,"readMore":-1,"target":802,"hasArticle":613},"feature-flags","Feature flags","Schakelaars die functionaliteit aan- of uitzetten vanuit configuratie in plaats van vanuit een release. Ze laten één binary zich per merk, markt of gebruiker anders gedragen, en laten je een riskante functie uitzetten zonder een nieuwe build door de review te sturen.",[792,793,794],"feature flag","feature toggle","functieschakelaar",[796],{"kind":627,"url":797},"https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FFeature_toggle",[799,800,801],"staged-rollout","white-label","multi-tenancy","\u002Fglossary#feature-flags",{"slug":799,"term":804,"definition":805,"category":617,"aliases":806,"links":810,"related":811,"readMore":-1,"target":812,"hasArticle":613},"Gefaseerde uitrol","Een build eerst naar een klein percentage gebruikers uitbrengen en pas verbreden als het crashvrije percentage standhoudt. Een slechte build die je bij tien procent betrapt is een slechte middag; dezelfde build bij honderd procent is een slechte week.",[807,808,809],"staged rollout","gefaseerde release","canary release",[],[788,660],"\u002Fglossary#staged-rollout",{"slug":814,"term":815,"definition":816,"category":617,"aliases":817,"links":821,"related":824,"readMore":-1,"target":825,"hasArticle":613},"golden-test","Golden test","Een test die een widget rendert en het resultaat pixel voor pixel vergelijkt met een opgeslagen referentiebeeld. In Flutter is het de goedkoopste manier om te zien of een herontwerp de empty state brak op 320pt, in donkere modus, bij 200% tekstgrootte.",[818,819,820],"golden tests","screenshottest","snapshottest",[822],{"kind":639,"url":823},"https:\u002F\u002Fapi.flutter.dev\u002Fflutter\u002Fflutter_test\u002FmatchesGoldenFile.html",[660],"\u002Fglossary#golden-test",{"slug":396,"term":827,"definition":828,"category":677,"aliases":829,"links":830,"related":835,"readMore":-1,"target":836,"hasArticle":613},"GraphQL","Een querytaal voor API's waarin de client precies de velden benoemt die hij wil en één antwoord terugkrijgt dat daarop past. Het haalt de over-fetching weg waar REST-endpoints naar afglijden, en voegt er een eigen faalmodus aan toe: een onbegrensde query die het hele datamodel afloopt.",[],[831,833],{"kind":608,"url":832},"https:\u002F\u002Fgraphql.org\u002F",{"kind":627,"url":834},"https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FGraphQL",[684],"\u002Fglossary#graphql",{"slug":630,"term":838,"definition":839,"category":617,"aliases":840,"links":842,"related":845,"readMore":-1,"target":846,"hasArticle":613},"HIPAA","De Amerikaanse wet over beschermde gezondheidsinformatie — hoe die opgeslagen, verstuurd, gelogd en gedeeld mag worden. Net als PCI-DSS is het een architectuurkeuze aan het begin, geen beleidsstuk dat je vlak voor de lancering toevoegt.",[841],"Health Insurance Portability and Accountability Act",[843],{"kind":627,"url":844},"https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FHealth_Insurance_Portability_and_Accountability_Act",[426,334,430],"\u002Fglossary#hipaa",{"slug":848,"term":849,"definition":850,"category":677,"aliases":851,"links":854,"related":857,"readMore":-1,"target":859,"hasArticle":613},"headless-cms","Headless CMS","Een contentsysteem met een redactieomgeving en een API, maar zonder eigen front-end. Redacteuren publiceren op één plek, en de site of app rendert die content zelf — zodat de presentatielaag van jou is en niet van de CMS-leverancier.",[852,853],"headless contentmanagementsysteem","content-API",[855],{"kind":627,"url":856},"https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FHeadless_content_management_system",[858,684],"server-side-rendering","\u002Fglossary#headless-cms",{"slug":611,"term":861,"definition":862,"category":603,"aliases":863,"links":867,"related":870,"readMore":-1,"target":871,"hasArticle":613},"Host Card Emulation","Een Android-telefoon zich in software laten gedragen als een contactloze kaart via NFC, zonder secure element in hardware. Zo betaalt een wallet-app bij een terminal: de telefoon spreekt hetzelfde contactloze EMV-protocol als de plastic kaart zou hebben gedaan.",[864,865,866],"HCE","EMV Contactless","contactloos betalen",[868],{"kind":639,"url":869},"https:\u002F\u002Fdeveloper.android.com\u002Fdevelop\u002Fconnectivity\u002Fnfc\u002Fhce",[426,600],"\u002Fglossary#host-card-emulation",{"slug":873,"term":874,"definition":875,"category":603,"aliases":876,"links":877,"related":880,"readMore":-1,"target":882,"hasArticle":613},"impeller","Impeller","De renderengine die Flutter vandaag gebruikt, standaard op iOS sinds 2023 en op Android sinds 2024. Hij compileert zijn shaders vooraf in plaats van tijdens de eerste animatie, wat de shader-jank wegnam die Flutters zichtbaarste productieprobleem was.",[],[878],{"kind":639,"url":879},"https:\u002F\u002Fdocs.flutter.dev\u002Fperf\u002Fimpeller",[881],"skia","\u002Fglossary#impeller",{"slug":884,"term":885,"definition":886,"category":887,"aliases":888,"links":892,"related":895,"readMore":-1,"target":897,"hasArticle":613},"in-app-purchase","In-app-aankoop","Digitale goederen of een abonnement verkopen via de Apple- of Google-billing die beide winkels verplicht stellen voor digitale content en waarover ze commissie rekenen. Het moeilijke is nooit de aankoop; het is het herstellen ervan op een nieuw toestel en de rechten kloppend houden.","business",[889,890,891],"IAP","in-app purchase","in-app-abonnement",[893],{"kind":639,"url":894},"https:\u002F\u002Fdeveloper.apple.com\u002Fin-app-purchase\u002F",[896],"product-market-fit","\u002Fglossary#in-app-purchase",{"slug":643,"term":899,"definition":900,"category":603,"aliases":901,"links":902,"related":905,"readMore":-1,"target":906,"hasArticle":613},"Install Referrer","Een Google Play-API die een net geïnstalleerde Android-app de campagneparameters overhandigt van de link die tot de installatie leidde. De Android-helft van deferred deep linking, en de betrouwbare manier om te weten waar een gebruiker vandaan kwam.",[],[903],{"kind":639,"url":904},"https:\u002F\u002Fdeveloper.android.com\u002Fgoogle\u002Fplay\u002Finstallreferrer",[642,633],"\u002Fglossary#install-referrer",{"slug":771,"term":908,"definition":909,"category":910,"aliases":911,"links":913,"related":918,"readMore":-1,"target":919,"hasArticle":613},"JWT","Een ondertekend token dat zijn eigen claims meedraagt, zodat een server kan zien bij wie een verzoek hoort zonder een sessie op te zoeken. Standaard voor mobiele authenticatie. De handtekening bewijst dat er niets is gewijzigd; ze verbergt niet wat erin staat.","protocol",[912],"JSON Web Token",[914,916],{"kind":608,"url":915},"https:\u002F\u002Fjwt.io\u002F",{"kind":627,"url":917},"https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FJSON_Web_Token",[426],"\u002Fglossary#jwt",{"slug":921,"term":922,"definition":923,"category":617,"aliases":924,"links":929,"related":932,"readMore":-1,"target":933,"hasArticle":613},"kyc","KYC","Know Your Customer — de identiteitscontroles die een gereguleerd financieel product uitvoert voordat het iemand geld laat verplaatsen: documentscans, liveness, sanctie- en witwascontroles. Het bepaalt de onboarding sterker dan welke ontwerpkeuze ook.",[925,926,927,928],"Know Your Customer","AML","KYC\u002FAML","witwascontrole",[930],{"kind":627,"url":931},"https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FKnow_your_customer",[426,334],"\u002Fglossary#kyc",{"slug":76,"term":74,"definition":935,"category":603,"aliases":936,"links":938,"related":939,"readMore":940,"target":940,"hasArticle":613},"Bedrijfslogica geschreven in Kotlin delen tussen Android, iOS en de server, terwijl elk platform zijn eigen native UI houdt. Het alternatief voor Flutter wanneer de interface native moet zijn maar de regels erachter niet.",[937],"KMP",[],[],"\u002Ftechnologies\u002Fkmp",{"slug":942,"term":943,"definition":944,"category":887,"aliases":945,"links":948,"related":951,"readMore":-1,"target":952,"hasArticle":613},"mvp","MVP","De kleinste versie van een product die je aan echte gebruikers kunt uitbrengen en die nog steeds de vraag beantwoordt waarvoor je het bouwde. Een besluit over scope, niet over kwaliteit — een MVP moet nog altijd werken.",[946,947],"minimum viable product","minimaal levensvatbaar product",[949],{"kind":627,"url":950},"https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FMinimum_viable_product",[800],"\u002Fglossary#mvp",{"slug":701,"term":954,"definition":955,"category":677,"aliases":956,"links":961,"related":964,"readMore":-1,"target":965,"hasArticle":613},"Multi-architectuur-image","Eén image-tag die per CPU-architectuur naar andere binaries verwijst — linux\u002Famd64 en linux\u002Farm64 zijn het gebruikelijke paar — zodat dezelfde docker pull ongewijzigd werkt op Intel- en AMD-servers en op Apple Silicon-laptops.",[957,958,959,960],"multi-arch build","multi-arch image","multi-platform image","linux\u002Famd64 + linux\u002Farm64",[962],{"kind":639,"url":963},"https:\u002F\u002Fdocs.docker.com\u002Fbuild\u002Fbuilding\u002Fmulti-platform\u002F",[687],"\u002Fglossary#multi-arch-image",{"slug":801,"term":967,"definition":968,"category":677,"aliases":969,"links":972,"related":975,"readMore":-1,"target":976,"hasArticle":613},"Multi-tenancy","Eén deployment die veel klanten bedient, waarbij elke klant alleen zijn eigen data, configuratie en ingeschakelde functies ziet doordat de tenantcontext per verzoek wordt bepaald. Het is wat een vloot merkapps één product maakt in plaats van veel forks.",[970,971],"multi-tenant","tenant",[973],{"kind":627,"url":974},"https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FMultitenancy",[800,788],"\u002Fglossary#multi-tenancy",{"slug":978,"term":979,"definition":980,"category":910,"aliases":981,"links":985,"related":990,"readMore":-1,"target":991,"hasArticle":613},"oauth","OAuth","De standaard achter Inloggen met Apple, Google en de rest: de gebruiker geeft je app toestemming bij een aanbieder die hij al vertrouwt, en je app krijgt een token in plaats van zijn wachtwoord. Niemand hoeft nieuwe inloggegevens te verzinnen en jij bewaart ze nergens.",[982,983,984],"OAuth 2.0","social login","Inloggen met Apple",[986,988],{"kind":608,"url":987},"https:\u002F\u002Foauth.net\u002F2\u002F",{"kind":627,"url":989},"https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FOAuth",[771],"\u002Fglossary#oauth",{"slug":656,"term":993,"definition":994,"category":677,"aliases":995,"links":1000,"related":1003,"readMore":-1,"target":1004,"hasArticle":613},"Objectopslag","Opslag die een heel bestand onder een sleutel bewaart in plaats van in een mappenboom — Amazon S3 en de vele diensten die zijn API spreken. Goedkoop, praktisch onbeperkt, en de gebruikelijke plek voor ruwe events, back-ups en media: eenmaal geschreven, zelden gelezen, eeuwig bewaard.",[996,997,998,999],"S3","S3-compatibele opslag","object storage","blob storage",[1001],{"kind":627,"url":1002},"https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FObject_storage",[646],"\u002Fglossary#object-storage",{"slug":426,"term":1006,"definition":1007,"category":617,"aliases":1008,"links":1011,"related":1016,"readMore":-1,"target":1017,"hasArticle":613},"PCI-DSS","De beveiligingsstandaard van de kaartindustrie die iedereen bindt die kaartgegevens opslaat, verwerkt of verstuurt. De meeste apps blijven er bewust buiten door de kaartinvoer over te laten aan een gecertificeerde betaaldienstverlener.",[1009,1010],"PCI DSS","Payment Card Industry Data Security Standard",[1012,1014],{"kind":608,"url":1013},"https:\u002F\u002Fwww.pcisecuritystandards.org\u002F",{"kind":627,"url":1015},"https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FPayment_Card_Industry_Data_Security_Standard",[771],"\u002Fglossary#pci-dss",{"slug":1019,"term":1020,"definition":1021,"category":603,"aliases":1022,"links":1026,"related":1029,"readMore":-1,"target":1030,"hasArticle":613},"platform-channels","Platform channels","De brug waarmee een Flutter-app native iOS- en Android-code aanroept — Keychain en Keystore, biometrie, betaalschermen, elke SDK zonder Dart-pakket. Routinewerk maar echt werk, en de eerste plek waar een engineer die nooit buiten Dart kwam vastloopt.",[1023,1024,1025],"platform channel","method channel","platformkanaal",[1027],{"kind":639,"url":1028},"https:\u002F\u002Fdocs.flutter.dev\u002Fplatform-integration\u002Fplatform-channels",[76],"\u002Fglossary#platform-channels",{"slug":1032,"term":1033,"definition":1034,"category":910,"aliases":1035,"links":1039,"related":1042,"readMore":-1,"target":1043,"hasArticle":613},"post-quantum-cryptography","Post-quantumcryptografie","Versleutelingsalgoritmen die veilig moeten blijven tegen een toekomstige quantumcomputer, inmiddels gestandaardiseerd door NIST. De migratie is nu al dringend, nog vóór die hardware bestaat, omdat verkeer dat vandaag wordt onderschept later alsnog te ontsleutelen valt.",[1036,1037,1038],"PQC","post-quantum cryptography","postkwantumcryptografie",[1040],{"kind":627,"url":1041},"https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FPost-quantum_cryptography",[770,759],"\u002Fglossary#post-quantum-cryptography",{"slug":896,"term":1045,"definition":1046,"category":887,"aliases":1047,"links":1051,"related":1054,"readMore":-1,"target":1056,"hasArticle":613},"Product-market fit","Het punt waarop een product aantoonbaar mensen heeft gevonden die het willen — ze gebruiken het, komen terug en betalen. Daarvoor beantwoordt engineering een vraag; daarna bedient engineering de vraag.",[1048,1049,1050],"PMF","product\u002Fmarket fit","productmarktfit",[1052],{"kind":627,"url":1053},"https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FProduct-market_fit",[942,1055],"time-to-market","\u002Fglossary#product-market-fit",{"slug":320,"term":1058,"definition":1059,"category":617,"aliases":1060,"links":1063,"related":1066,"readMore":-1,"target":1067,"hasArticle":613},"Prompt injection","Een aanval waarbij tekst van een gebruiker door een taalmodel als instructie wordt gelezen in plaats van als data, en het model zo om zijn eigen regels heen wordt gestuurd. De LLM-variant van SQL-injectie, en hij duikt overal op waar gebruikersinvoer in een prompt wordt geplakt.",[1061,1062],"injectieaanval","injection attack",[1064],{"kind":627,"url":1065},"https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FPrompt_injection",[363],"\u002Fglossary#prompt-injection",{"slug":784,"term":1069,"definition":1070,"category":677,"aliases":1071,"links":1074,"related":1077,"readMore":-1,"target":1078,"hasArticle":613},"Pub\u002FSub","Een berichtenpatroon waarin een producent een gebeurtenis publiceert en willekeurig veel consumenten die elk voor zich lezen, met een broker ertussen. De producent wacht nooit op ze, en zo blijft een verzoekpad snel terwijl het tragere werk erachter gebeurt.",[1072,1073],"publish\u002Fsubscribe","Google Cloud Pub\u002FSub",[1075],{"kind":627,"url":1076},"https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FPublish%E2%80%93subscribe_pattern",[],"\u002Fglossary#pub-sub",{"slug":684,"term":1080,"definition":1081,"category":677,"aliases":1082,"links":1085,"related":1088,"readMore":-1,"target":1089,"hasArticle":613},"REST","De gangbare stijl voor HTTP-API's: een URL benoemt een resource en het HTTP-werkwoord zegt wat ermee moet gebeuren. De standaardmanier waarop een app met een backend praat, en wat de meeste externe integraties verwachten aan te treffen.",[1083,1084],"REST API","Representational State Transfer",[1086],{"kind":627,"url":1087},"https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FREST",[783,785],"\u002Fglossary#rest",{"slug":363,"term":1091,"definition":1092,"category":617,"aliases":1093,"links":1097,"related":1100,"readMore":-1,"target":1101,"hasArticle":613},"Rate limiting","Een bovengrens op het aantal verzoeken dat één aanroeper binnen een bepaald venster mag doen. Het houdt tegen dat één enthousiaste gebruiker, een scraper of een bot in een middag een maand aan betaald API-budget opmaakt, en het moet aan jouw kant van de integratie staan.",[1094,1095,1096],"rate limit","throttling","verzoeklimiet",[1098],{"kind":627,"url":1099},"https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FRate_limiting",[320],"\u002Fglossary#rate-limiting",{"slug":430,"term":1103,"definition":1104,"category":617,"aliases":1105,"links":1108,"related":1111,"readMore":-1,"target":1112,"hasArticle":613},"SOC 2","Een rapport van een externe auditor over hoe een organisatie met klantgegevens omgaat — beveiliging, beschikbaarheid, vertrouwelijkheid — en niet een certificaat dat je koopt. Zakelijke kopers vragen erom, en het beperkt de architectuur lang voordat de audit dat doet.",[1106,1107],"SOC2","System and Organization Controls",[1109],{"kind":627,"url":1110},"https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FSystem_and_Organization_Controls",[426,334,630],"\u002Fglossary#soc-2",{"slug":1114,"term":1115,"definition":1116,"category":887,"aliases":1117,"links":1120,"related":1123,"readMore":-1,"target":1124,"hasArticle":613},"saas","SaaS","Software die als doorlopend abonnement op een gehost product wordt verkocht in plaats van als eenmalige licentie die de klant zelf installeert en draait. De leverancier beheert de servers, levert doorlopend updates en factureert per gebruiker of per verbruik.",[1118,1119],"Software as a Service","software-as-a-service",[1121],{"kind":627,"url":1122},"https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FSoftware_as_a_service",[801,800],"\u002Fglossary#saas",{"slug":785,"term":1126,"definition":1127,"category":910,"aliases":1128,"links":1130,"related":1133,"readMore":-1,"target":1134,"hasArticle":613},"Server-Sent Events","Een eenrichtingsstroom van server naar client over een gewone HTTP-verbinding. Eenvoudiger dan een WebSocket en het volstaat overal waar alleen de server iets te melden heeft — een voortgangsfeed, een AI-antwoord dat token voor token binnenkomt.",[1129],"SSE",[1131],{"kind":627,"url":1132},"https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FServer-sent_events",[783,684],"\u002Fglossary#server-sent-events",{"slug":858,"term":1136,"definition":1137,"category":677,"aliases":1138,"links":1142,"related":1145,"readMore":-1,"target":1146,"hasArticle":613},"Server-side rendering","Een pagina op de server als kant-en-klare HTML opbouwen, zodat het eerste antwoord de inhoud, koppen, metatags en gestructureerde data al meedraagt. Crawlers, linkvoorbeelden en trage apparaten lezen dat zonder JavaScript uit te voeren.",[1139,1140,1141],"SSR","server-rendered","renderen op de server",[1143],{"kind":627,"url":1144},"https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FServer-side_scripting",[848],"\u002Fglossary#server-side-rendering",{"slug":881,"term":1148,"definition":1149,"category":603,"aliases":1150,"links":1153,"related":1158,"readMore":-1,"target":1159,"hasArticle":613},"Skia","De opensource 2D-graphicsbibliotheek van Google die Chrome, Android en — tot Impeller — elk Flutter-frame tekent. Ze rendert net zo goed naar PDF als naar een scherm, en dat is wat print-naar-PDF in Chrome doet.",[1151,1152],"Skia Graphics Engine","skia-safe",[1154,1156],{"kind":608,"url":1155},"https:\u002F\u002Fskia.org\u002F",{"kind":627,"url":1157},"https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FSkia_Graphics_Engine",[873],"\u002Fglossary#skia",{"slug":1161,"term":1162,"definition":1163,"category":677,"aliases":1164,"links":1168,"related":1171,"readMore":-1,"target":1172,"hasArticle":613},"state-management","State management","Hoe een app bepaalt waar een waarde leeft, wie hem mag wijzigen en welke delen van het scherm opnieuw tekenen als dat gebeurt. In Flutter is de keuze tussen Riverpod, BLoC en Provider een van de eerste architectuurbesluiten en het lastigst te herzien.",[1165,1166,1167],"statemanagement","BLoC","Riverpod",[1169],{"kind":639,"url":1170},"https:\u002F\u002Fdocs.flutter.dev\u002Fdata-and-backend\u002Fstate-mgmt\u002Foptions",[814],"\u002Fglossary#state-management",{"slug":770,"term":1174,"definition":1175,"category":910,"aliases":1176,"links":1180,"related":1183,"readMore":-1,"target":1184,"hasArticle":613},"TLS","De versleutelingslaag onder HTTPS. Ze bewijst dat de server is wie zijn certificaat zegt, spreekt een verse sleutel voor de sessie af en versleutelt alles daarna — zodat het netwerk ertussen alleen cijfertekst ziet die het niet stiekem kan wijzigen.",[1177,1178,1179],"SSL","HTTPS","Transport Layer Security",[1181],{"kind":627,"url":1182},"https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FTransport_Layer_Security",[759,771],"\u002Fglossary#tls",{"slug":1186,"term":1187,"definition":1188,"category":887,"aliases":1189,"links":1195,"related":1196,"readMore":-1,"target":1198,"hasArticle":613},"staff-augmentation","Teamuitbreiding","Een inhuurmodel waarbij engineers van een externe partner bij je team komen en onder jouw aansturing werken — in jouw repository, jouw sprints, jouw proces — in plaats van een eigen project op te leveren. Je koopt capaciteit; de code en de context blijven bij jou.",[1190,1191,1192,1193,1194],"staff augmentation","team augmentation","dedicated developers","outstaffing","teamversterking",[],[1197,1055],"total-cost-of-ownership","\u002Fglossary#staff-augmentation",{"slug":1055,"term":1200,"definition":1201,"category":887,"aliases":1202,"links":1205,"related":1208,"readMore":-1,"target":1209,"hasArticle":613},"Time to market","Hoe lang het duurt om een product van besluit naar echte gebruikers te krijgen. De meeste discussies over stack en scope gaan eigenlijk over dit getal, want elke gewonnen week is een week omzet, feedback en concurrentiepositie.",[1203,1055,1204],"TTM","doorlooptijd tot de markt",[1206],{"kind":627,"url":1207},"https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FTime_to_market",[942,1197],"\u002Fglossary#time-to-market",{"slug":1197,"term":1211,"definition":1212,"category":887,"aliases":1213,"links":1217,"related":1220,"readMore":-1,"target":1221,"hasArticle":613},"Total cost of ownership","Wat een product over zijn hele leven kost in plaats van alleen de bouw: onderhoud, upgrades, jaarlijkse OS- en winkelmigraties, en het tweede team dat je aanneemt om twee codebases gelijk te houden. Meestal groter dan de bouwofferte, en er vrijwel nooit in opgenomen.",[1214,1215,1216],"TCO","kosten van eigenaarschap","totale eigendomskosten",[1218],{"kind":627,"url":1219},"https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FTotal_cost_of_ownership",[1055],"\u002Fglossary#total-cost-of-ownership",{"slug":1223,"term":1224,"definition":1225,"category":910,"aliases":1226,"links":1228,"related":1233,"readMore":-1,"target":1235,"hasArticle":613},"webrtc","WebRTC","De standaard voor browsers en mobiel om audio, video en data rechtstreeks tussen twee apparaten te sturen, waarbij servers er alleen aan te pas komen om ze aan elkaar voor te stellen. Hierop is een videogesprek in een app gebouwd, tenzij er een gehuurde SDK onder zit.",[1227],"Web Real-Time Communication",[1229,1231],{"kind":608,"url":1230},"https:\u002F\u002Fwebrtc.org\u002F",{"kind":627,"url":1232},"https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FWebRTC",[1234,783],"xmpp","\u002Fglossary#webrtc",{"slug":783,"term":1237,"definition":1238,"category":910,"aliases":1239,"links":1240,"related":1243,"readMore":-1,"target":1244,"hasArticle":613},"WebSocket","Een protocol dat één verbinding openhoudt tussen client en server, zodat beide kanten op elk moment kunnen sturen in plaats van dat de client keer op keer vraagt. Waar live koersen, chat en aanwezigheidsindicatoren op draaien.",[],[1241],{"kind":627,"url":1242},"https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FWebSocket",[785,684],"\u002Fglossary#websocket",{"slug":800,"term":1246,"definition":1247,"category":887,"aliases":1248,"links":1252,"related":1255,"readMore":1256,"target":1256,"hasArticle":588},"White-label","Eén product dat onder veel merken wordt uitgebracht. Een white-label platform voor mobiel bouwt elke klant een winkelklare app met een eigen naam, ontwerp en content vanuit één gedeelde codebase, in plaats van het project per klant te forken.",[1249,1250,1251],"white label","multi-tenant app","merkloos product",[1253],{"kind":627,"url":1254},"https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FWhite-label_product",[942],"\u002Fglossary\u002Fwhite-label",{"slug":1234,"term":1258,"definition":1259,"category":910,"aliases":1260,"links":1263,"related":1268,"readMore":-1,"target":1269,"hasArticle":613},"XMPP","Een open, gefedereerd berichtenprotocol, en al lang het alternatief voor zelf een chatbackend schrijven of er een huren. Het dekt ook aanwezigheid, typindicatoren en bestandsoverdracht, en het is oud genoeg dat elk platform een volwassen clientbibliotheek heeft.",[1261,1262],"Jabber","Extensible Messaging and Presence Protocol",[1264,1266],{"kind":608,"url":1265},"https:\u002F\u002Fxmpp.org\u002F",{"kind":627,"url":1267},"https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FXMPP",[1223,783],"\u002Fglossary#xmpp"]