AVG En AI-verwerking: Juridische Borging En Praktische Implementatie

💼 Management Samenvatting

AI-toepassingen in Microsoft 365 en Azure bieden enorme kansen voor productiviteit en dienstverlening, maar zorgen er tegelijkertijd voor dat de AVG-eisen rond rechtmatigheid, transparantie en verantwoordingsplicht scherper dan ooit moeten worden ingevuld. Zodra persoonsgegevens via AI-functionaliteit worden geanalyseerd, geclassificeerd of gebruikt om beslissingen te ondersteunen, ontstaat de plicht om precies te kunnen uitleggen welke gegevens worden verwerkt, op welke grondslag dit gebeurt en hoe rechten van betrokkenen zijn geborgd.

Aanbeveling
IMPLEMENT
Risico zonder
High
Risk Score
8/10
Implementatie
200u (tech: 80u)
Van toepassing op:
Rijksoverheid
Gemeenten
Zorginstellingen
Onderwijs
Vitale aanbieders

Voor Nederlandse publieke organisaties is het onvoldoende om alleen te verwijzen naar standaarddocumentatie van leveranciers. Toezichthouders zoals de Autoriteit Persoonsgegevens verwachten dat organisaties zelf een duidelijk beeld hebben van AI-verwerkingen, de rolverdeling met leveranciers vastleggen en kunnen aantonen dat zij vooraf de risico's voor betrokkenen hebben beoordeeld. Dit geldt zowel voor generatieve AI-functies in Microsoft 365, zoals Copilot, als voor meer traditionele AI-toepassingen op basis van machine learning, bijvoorbeeld fraudedetectie, voorspellende analyses of documentclassificatie. Zonder heldere documentatie ontstaat al snel onduidelijkheid over de verwerkingsgrondslag, bewaartermijnen, profiling, geautomatiseerde besluitvorming en de manier waarop betrokkenen hun rechten kunnen uitoefenen. Dit maakt het lastig om vragen van de AP, burgers, ondernemingsraad of interne audits te beantwoorden en vergroot het risico op juridische discussies na incidenten.

PowerShell Modules Vereist
Primary API: Microsoft 365 Admin Center, Microsoft Purview, Azure Portal
Connection: PowerShell, Microsoft Graph, REST API's
Required Modules: Microsoft.PowerShell.Management

Implementatie

Dit artikel beschrijft hoe u AI-verwerkingen binnen Microsoft 365 en Azure in kaart brengt en AVG-conform documenteert. We behandelen de juridische context rond verwerkingsgrondslagen, DPIA's, profiling en geautomatiseerde besluitvorming, werken uit hoe u AI-scenario's vertaalt naar concreet beheerbare verwerkingsactiviteiten in het verwerkingsregister en laten zien hoe u documentatie structureert rond dataminimalisatie, bewaartermijnen, beveiligingsmaatregelen en rechten van betrokkenen. Het gekoppelde PowerShell-script ondersteunt u bij het controleren of kernstukken zoals DPIA, verwerkingsregisteritems en beleidsdocumenten daadwerkelijk aanwezig zijn in uw documentatiestructuur en kan sjablonen genereren om hiaten snel te vullen in lijn met de Nederlandse Baseline voor Veilige Cloud.

AI-verwerkingen vallen niet buiten de AVG; integendeel, veel bestaande verplichtingen worden juist scherper wanneer algoritmen grote hoeveelheden gegevens combineren, patronen ontdekken en beslissingen ondersteunen. Voor Nederlandse overheidsorganisaties betekent dit dat iedere AI-toepassing eerst moet worden beoordeeld als een afzonderlijke verwerkingsactiviteit. U moet daarbij minimaal vastleggen welke categorieën persoonsgegevens worden gebruikt, wat het concrete doel van de verwerking is, op welke rechtsgrond u steunt (bijvoorbeeld publiekrechtelijke taak of gerechtvaardigd belang) en of er sprake is van bijzondere persoonsgegevens of grootschalige monitoring. Zodra AI wordt gebruikt in een context waarin beslissingen aanzienlijke gevolgen kunnen hebben voor burgers – denk aan toekenning van voorzieningen, risicoprofilering of selectie voor toezicht – dringen bepalingen rond geautomatiseerde besluitvorming (AVG artikel 22) en fairness zich nadrukkelijk op.

De AVG verplicht organisaties bovendien om al vóór de inzet van een AI-systeem na te denken over proportionaliteit en subsidiariteit: is deze verwerking noodzakelijk voor het beoogde doel en bestaan er minder ingrijpende alternatieven? In combinatie met richtsnoeren van de European Data Protection Board (EDPB) en nationale guidance van de Autoriteit Persoonsgegevens betekent dit dat een Data Protection Impact Assessment (DPIA) vaak verplicht is, met name wanneer AI wordt ingezet voor profiling, gedragstracking of inschatting van risico's. In een DPIA beschrijft u onder andere de aard, omvang, context en doeleinden van de verwerking, analyseert u de noodzaak en proportionaliteit en identificeert u de belangrijkste risico's voor de rechten en vrijheden van betrokkenen. Vervolgens legt u vast welke mitigerende maatregelen worden genomen, zoals dataminimalisatie, strikte toegangscontrole, technische en organisatorische waarborgen tegen bias en voorzieningen voor menselijke tussenkomst bij beslissingen.

Voor AI in de publieke sector speelt daarnaast het transparantiebeginsel een centrale rol. Burgers moeten in begrijpelijke taal kunnen achterhalen dat hun gegevens worden gebruikt in een AI-systeem, welke logica daarachter ligt en welke gevolgen dat voor hen kan hebben. Dat betekent dat organisaties naast juridische documenten ook publieksvriendelijke toelichtingen moeten ontwikkelen, bijvoorbeeld via privacyverklaringen, FAQ-pagina's en procesbeschrijvingen waarin wordt uitgelegd hoe AI wordt gebruikt en hoe men bezwaar kan maken of inzage kan vragen. Deze transparantieverplichting sluit aan op bredere kaders rond betrouwbare AI, zoals de EU AI Act, hoewel dit artikel primair focust op de huidige AVG-verplichtingen. Door de juridische context expliciet te koppelen aan concrete AI-scenario's binnen Microsoft 365 en Azure ontstaat een praktisch toetsingskader dat juristen, CISO's, privacy officers en productteams gezamenlijk kunnen gebruiken.

Governance en documentatie: van DPIA tot verwerkingsregister

Een volwassen aanpak van AVG-conforme AI-verwerking begint bij een duidelijke governance-structuur. Bestuurders moeten expliciet vastleggen wie verantwoordelijk is voor de inzet van AI, hoe de rollen tussen CISO, privacy officer, architectuur en proceseigenaren zijn verdeeld en welke besluitvormingsstappen verplicht zijn voordat een AI-systeem in productie gaat. In de praktijk betekent dit dat AI-initiatieven niet ad hoc door individuele teams worden gestart, maar via een gestandaardiseerde intakeprocedure lopen. In die procedure wordt onder meer getoetst of de voorgestelde toepassing past bij de wettelijke taak van de organisatie, of de gekozen rechtsgrond houdbaar is, of er een DPIA nodig is en welke aanvullende ethische en maatschappelijke afwegingen moeten worden gemaakt. Deze besluitvorming hoort traceerbaar te zijn in een centrale documentatieomgeving, zodat bij audits of vragen van de AP snel is te reconstrueren waarom een bepaalde toepassing is goedgekeurd.

Vervolgens moeten AI-verwerkingen systematisch worden opgenomen in het verwerkingsregister. In plaats van een generieke regel als 'gebruik van Microsoft 365' vraagt de AVG om voldoende specificiteit: welke concrete AI-functionaliteit wordt gebruikt (bijvoorbeeld Copilot in Word, AI-classificatie van documenten in SharePoint of sentimentanalyse op klantfeedback), welke categorieën betrokkenen en gegevens worden geraakt, welke bewaartermijnen gelden en met welke ontvangers of verwerkers gegevens worden gedeeld. Het is verstandig om voor AI-verwerkingen een eigen categorie of label in het register te gebruiken, zodat ze eenvoudig zijn te filteren en te rapporteren. Tevens is het aan te bevelen om in het register te verwijzen naar de onderliggende DPIA, technische documentatie en beleidsteksten, zodat het geheel een samenhangend dossier vormt. Het ontbreken van deze koppeling leidt in de praktijk vaak tot versnipperde informatie, waardoor niemand nog het volledige beeld heeft van hoe AI binnen de organisatie wordt ingezet.

Naast DPIA's en verwerkingsregisteritems zijn aanvullende documenten nodig om de verantwoordingsplicht in te vullen. Denk aan een AI-specifiek beveiligingsbeleid waarin eisen aan logging, toegangsbeheer, modelbeheer en testdata zijn vastgelegd, richtlijnen voor het omgaan met trainingsdata (geen liveproductiedata zonder noodzaak), instructies voor medewerkers die AI gebruiken in hun dagelijkse werk en procedures voor het afhandelen van inzage- en correctieverzoeken die mede betrekking hebben op AI-uitkomsten. Deze documenten hoeven niet allemaal nieuw te zijn; vaak kunnen bestaande BIO-, informatiebeveiligings- en privacybeleidstukken worden uitgebreid met AI-specifieke paragrafen. Belangrijk is dat zij consistent zijn, duidelijke eigenaars kennen en periodiek worden herzien. Het gekoppelde PowerShell-script kan helpen om te controleren of de belangrijkste kernstukken daadwerkelijk bestaan op de afgesproken locatie en om eventuele gaten vroegtijdig zichtbaar te maken.

Technische implementatie in Microsoft 365 en Azure

Wanneer de juridische en governance-kaders duidelijk zijn, moet de technische inrichting van Microsoft 365 en Azure daarop aansluiten. Dat begint bij dataminimalisatie: AI-toepassingen mogen alleen toegang krijgen tot de gegevens die daadwerkelijk nodig zijn voor het beoogde doel. In de praktijk betekent dit dat u zorgvuldig moet bepalen welke SharePoint-sites, Teams-kanalen, mailboxen en andere datastromen door AI-functionaliteit mogen worden gebruikt. Voor Copilot-scenario's kan dit bijvoorbeeld inhouden dat gevoelige dossiers in aparte sites worden geplaatst met strengere toegangs- en labelinstellingen, of dat bepaalde contenttypen worden uitgesloten van indexering. Ook binnen Azure speelt segmentatie een belangrijke rol: datasets voor AI-modellen worden bij voorkeur opgeslagen in gescheiden opslagaccounts of databases met duidelijke tagging en toegangscontroles, zodat altijd kan worden aangetoond welke gegevens in welke modellen terecht zijn gekomen.

Beveiligingsmaatregelen moeten vervolgens worden afgestemd op de gevoeligheid van de gegevens en de aard van de AI-verwerking. Voor veel AI-scenario's is sterke authenticatie en autorisatie een basisvoorwaarde: alleen geautoriseerde medewerkers mogen prompts kunnen geven, trainingsdata beheren of modelconfiguraties aanpassen. Daarnaast zijn logging en auditing cruciaal. Organisaties moeten kunnen reconstrueren welke prompts zijn ingevoerd, welke databronnen zijn geraadpleegd en welke uitkomsten zijn gebruikt voor beslissingen. Dit vraagt om een combinatie van Microsoft Purview-functionaliteit, auditlogs in Microsoft 365 en aanvullende logging in Azure voor zelfgebouwde AI-oplossingen. Waar mogelijk worden logs gekoppeld aan SIEM-oplossingen zoals Microsoft Sentinel, zodat verdachte patronen – bijvoorbeeld ongewoon intensief gebruik van bepaalde datasets of pogingen om gevoelige informatie uit te lezen – tijdig worden gedetecteerd en onderzocht.

Ten slotte is het belangrijk om de technische implementatie van AI te verbinden met processen rond wijzigingsbeheer en testen. Iedere wijziging in configuratie, toegangsrechten of gebruikte datasets kan nieuwe AVG-risico's introduceren. Daarom moeten AI-gerelateerde changes altijd worden voorzien van een privacy- en security-impactanalyse, hoe klein de wijziging ook lijkt. Testomgevingen dienen zo veel mogelijk te werken met gesynthetiseerde of geanonimiseerde data, zodat privacyrisico's tijdens ontwikkeling en acceptatietesten worden beperkt. Alleen waar het echt noodzakelijk is om met productiedata te testen, bijvoorbeeld om performanceproblemen of datakwaliteit te beoordelen, worden aanvullende maatregelen getroffen zoals beperkte subsets, tijdelijk gebruik en strikte logging. Door technische configuraties, change-logs en testresultaten te koppelen aan de juridische documentatie ontstaat een sluitende keten van verantwoordelijkheid van ontwerp tot exploitatie.

Monitoring, remediatie en continue verbetering

Gebruik PowerShell-script avg-ai-processing.ps1 (functie Invoke-Monitoring) – Controleert of kernstukken voor AVG- en AI-documentatie aanwezig zijn (zoals DPIA, verwerkingsregisteritem en beleidsteksten) en rapporteert hiaten..

AVG-conforme AI-verwerking is geen eenmalig project, maar een doorlopend proces van monitoren, evalueren en bijsturen. Nieuwe functionaliteit in Microsoft 365 en Azure komt regelmatig beschikbaar, datasets groeien en maatschappelijke en juridische verwachtingen ontwikkelen zich snel. Daarom moeten organisaties een periodieke controle inrichten waarin wordt nagegaan of alle AI-verwerkingen nog in lijn zijn met het oorspronkelijke ontwerp en de bijbehorende DPIA. In die controle wordt bijvoorbeeld bekeken of er nieuwe datastromen zijn bijgekomen, of gebruikspatronen zijn veranderd, of incidentsignalen zijn ontvangen van gebruikers, security operations of externe partijen en of reeds afgesproken mitigerende maatregelen daadwerkelijk zijn ingevoerd. Een gestructureerde checklist en geautomatiseerde scripts kunnen helpen om deze controles herhaalbaar te maken en resultaten vast te leggen als auditbewijs.

Gebruik PowerShell-script avg-ai-processing.ps1 (functie Invoke-Remediation) – Genereert sjablonen voor ontbrekende AVG- en AI-documentatie en helpt verbeteracties te structureren binnen het bestaande governanceproces..

Wanneer uit monitoring blijkt dat documentatie ontbreekt, verwerkingsactiviteiten niet meer actueel zijn of AI-systemen anders worden gebruikt dan oorspronkelijk bedoeld, is gerichte remediatie nodig. Dit begint met het actualiseren van DPIA's en verwerkingsregisteritems, maar kan ook leiden tot technische aanpassingen, aanvullende trainings- en bewustwordingsmaatregelen of zelfs het tijdelijk pauzeren van bepaalde AI-functionaliteit. Bij ernstige afwijkingen – bijvoorbeeld wanneer AI-uitkomsten systematisch discriminatoire effecten hebben of wanneer onduidelijk is geworden welke datasets precies zijn gebruikt – kan het noodzakelijk zijn om modellen opnieuw te trainen met opgeschoonde data of om bepaalde datasets uit te sluiten. Belangrijk is dat deze besluiten goed worden gedocumenteerd, dat er een duidelijk verbeterplan is met eigenaars en deadlines en dat bestuurders en toezichthouders tijdig worden geïnformeerd over de impact. Door monitoring- en remediatieprocessen te koppelen aan de bredere governance rond informatiebeveiliging en privacy ontstaat een lerende organisatie die AI verantwoord inzet en continu bijstuurt op basis van nieuwe inzichten.

Compliance & Frameworks

Automation

Gebruik het onderstaande PowerShell script om deze security control te monitoren en te implementeren. Het script bevat functies voor zowel monitoring (-Monitoring) als remediation (-Remediation).

PowerShell
<# .SYNOPSIS Monitoring en documentatiecontrole voor AVG- en AI-verwerkingen .DESCRIPTION Ondersteunt Nederlandse overheidsorganisaties bij het controleren of kernstukken voor AVG-conforme AI-verwerking aanwezig zijn (zoals DPIA, verwerkingsregisteritem en beleidsteksten) en kan sjablonen genereren wanneer documenten ontbreken. .NOTES Filename: avg-ai-processing.ps1 Author: Nederlandse Baseline voor Veilige Cloud Created: 2025-11-26 Last Modified: 2025-11-26 Version: 1.0 Related JSON: content/compliance/avg-ai-processing.json .EXAMPLE .\avg-ai-processing.ps1 -Monitoring -DebugMode Voert een lokale debug-run uit zonder afhankelijkheid van een specifieke mappenstructuur en toont voorbeeldresultaten voor rapportage. .EXAMPLE .\avg-ai-processing.ps1 -Monitoring Controleert in de repository of kernstukken voor AVG- en AI-documentatie aanwezig zijn. .EXAMPLE .\avg-ai-processing.ps1 -Remediation -WhatIf Toont welke sjablonen voor documentatie zouden worden aangemaakt zonder daadwerkelijk bestanden te wijzigen. #> #Requires -Version 5.1 [CmdletBinding()] param( [Parameter(HelpMessage = "Voer controles uit op aanwezigheid van AVG- en AI-documentatie")] [switch]$Monitoring, [Parameter(HelpMessage = "Genereer sjablonen voor ontbrekende AVG- en AI-documentatie")] [switch]$Remediation, [Parameter(HelpMessage = "Toon welke acties zouden worden uitgevoerd zonder wijzigingen aan te brengen")] [switch]$WhatIf, [Parameter(HelpMessage = "Voer een veilige lokale test uit met voorbeelddata")] [switch]$DebugMode ) $ErrorActionPreference = 'Stop' $VerbosePreference = 'Continue' function Get-RepositoryRoot { <# .SYNOPSIS Bepaalt de rootmap van de repository op basis van de locatie van dit script. #> [CmdletBinding()] param() $root = Resolve-Path (Join-Path $PSScriptRoot "..\..") -ErrorAction SilentlyContinue if (-not $root) { throw "Kon de repository-root niet bepalen op basis van PSScriptRoot: $PSScriptRoot" } return $root.Path } function Get-AvgAiProcessingPaths { <# .SYNOPSIS Bepaalt de paden voor AVG- en AI-gerelateerde documentatie. .OUTPUTS PSCustomObject met padinformatie. #> [CmdletBinding()] param() $repoRoot = Get-RepositoryRoot $docsRoot = Join-Path $repoRoot "documentatie\avg-ai-processing" $registerPath = Join-Path $docsRoot "verwerkingsregister-ai.csv" $dpiaPath = Join-Path $docsRoot "dpia-avg-ai-processing.md" $policyPath = Join-Path $docsRoot "beleid-ai-en-avg.md" $publicInfoPath = Join-Path $docsRoot "publieksinformatie-ai-verwerking.md" $improvementPlan = Join-Path $docsRoot "verbeterplan-ai-verwerkingen.md" [PSCustomObject]@{ RepositoryRoot = $repoRoot DocsRoot = $docsRoot RegisterPath = $registerPath DpiaPath = $dpiaPath PolicyPath = $policyPath PublicInfoPath = $publicInfoPath ImprovementPlanPath= $improvementPlan } } function New-VerwerkingsregisterTemplate { <# .SYNOPSIS Maakt een CSV-template voor AI-gerelateerde verwerkingsactiviteiten. .PARAMETER OutputPath Volledig pad naar het csv-bestand dat moet worden aangemaakt. #> [CmdletBinding()] param( [Parameter(Mandatory = $true)] [string]$OutputPath ) $folder = Split-Path -Path $OutputPath -Parent if (-not (Test-Path -Path $folder)) { New-Item -Path $folder -ItemType Directory -Force | Out-Null } $header = "NaamVerwerking;Doel;Rechtsgrond;CategorieBetrokkenen;CategorieGegevens;GebruikAI;ProfilingOfGeautomatiseerdeBesluitvorming;Bewaartermijn;Ontvangers;Verwerkers;DPIAVerwijzing;Opmerkingen" $header | Out-File -FilePath $OutputPath -Encoding UTF8 -Force } function New-DpiaTemplate { <# .SYNOPSIS Maakt een Markdown-sjabloon voor een DPIA voor AI-verwerkingen. .PARAMETER OutputPath Pad naar het Markdown-bestand dat moet worden aangemaakt. #> [CmdletBinding()] param( [Parameter(Mandatory = $true)] [string]$OutputPath ) $folder = Split-Path -Path $OutputPath -Parent if (-not (Test-Path -Path $folder)) { New-Item -Path $folder -ItemType Directory -Force | Out-Null } $template = @" # DPIA – AVG en AI-verwerkingen in Microsoft 365 en Azure Laatst bijgewerkt: $(Get-Date -Format "yyyy-MM-dd") Eigenaar DPIA: [Naam / functie] ## 1. Beschrijving van de verwerkingen Beschrijf de AI-scenario's (bijvoorbeeld Copilot, documentclassificatie, voorspellende analyses), inclusief gebruikte systemen, datasets en betrokken processen. ## 2. Doeleinden en rechtsgronden Licht toe welke doeleinden worden nagestreefd en op welke AVG-rechtsgronden de verwerkingen steunen. ## 3. Noodzakelijkheid en proportionaliteit Beoordeel of de inzet van AI noodzakelijk is voor het doel en of minder ingrijpende alternatieven bestaan. ## 4. Risicoanalyse voor betrokkenen Identificeer de belangrijkste risico's voor rechten en vrijheden van betrokkenen, inclusief mogelijke bias, onverwachte profilering en impact van fouten in voorspellingen. ## 5. Mitigerende maatregelen Beschrijf technische en organisatorische maatregelen, zoals dataminimalisatie, toegangsbeheer, logging, menselijke tussenkomst en periodieke evaluatie. ## 6. Rest-risico en besluitvorming Vat het resterende risico samen en leg vast welk besluit is genomen door het bevoegd orgaan (bijvoorbeeld college, directie, bestuur). "@ $template | Out-File -FilePath $OutputPath -Encoding UTF8 -Force } function New-PolicyTemplate { <# .SYNOPSIS Maakt een beleidsjabloon voor inzet van AI onder de AVG. .PARAMETER OutputPath Pad naar het Markdown-bestand dat moet worden aangemaakt. #> [CmdletBinding()] param( [Parameter(Mandatory = $true)] [string]$OutputPath ) $folder = Split-Path -Path $OutputPath -Parent if (-not (Test-Path -Path $folder)) { New-Item -Path $folder -ItemType Directory -Force | Out-Null } $template = @" # Beleid voor inzet van AI in relatie tot de AVG Laatst bijgewerkt: $(Get-Date -Format "yyyy-MM-dd") Eigenaar beleid: [Naam / functie] ## 1. Doel en reikwijdte Omschrijf voor welke AI-toepassingen dit beleid geldt en welke organisatiedelen betrokken zijn. ## 2. Juridische uitgangspunten Beschrijf de relevante AVG-beginselen, rechtsgronden en eisen rond DPIA, transparantie en rechten van betrokkenen. ## 3. Governance en rollen Leg vast welke rollen verantwoordelijk zijn voor initiatie, beoordeling, goedkeuring en beheer van AI-toepassingen. ## 4. Technische en organisatorische maatregelen Beschrijf generieke eisen aan dataminimalisatie, toegangsbeheer, logging, monitoring en lifecycle management. ## 5. Documentatie en verantwoording Omschrijf welke documentatie verplicht is (DPIA, verwerkingsregister, publieksinformatie) en hoe deze wordt beheerd. "@ $template | Out-File -FilePath $OutputPath -Encoding UTF8 -Force } function New-PublicInfoTemplate { <# .SYNOPSIS Maakt een publieksvriendelijke toelichting voor AI-verwerkingen. .PARAMETER OutputPath Pad naar het Markdown-bestand dat moet worden aangemaakt. #> [CmdletBinding()] param( [Parameter(Mandatory = $true)] [string]$OutputPath ) $folder = Split-Path -Path $OutputPath -Parent if (-not (Test-Path -Path $folder)) { New-Item -Path $folder -ItemType Directory -Force | Out-Null } $template = @" # Toelichting op het gebruik van AI binnen onze organisatie In deze tekst leggen we in begrijpelijke taal uit hoe en waarom wij AI-toepassingen inzetten, welke gegevens daarbij worden gebruikt en welke keuzes u heeft als betrokkene. ## Waarom gebruiken wij AI? Leg kort en helder uit welke doelen de organisatie heeft met AI (bijvoorbeeld betere dienstverlening, snellere beantwoording van vragen of efficiëntere verwerking van aanvragen). ## Welke gegevens gebruiken we? Beschrijf op hoofdlijnen welke categorieën persoonsgegevens worden verwerkt en uit welke bronnen deze komen. ## Hoe beschermen we uw privacy? Licht toe welke maatregelen zijn genomen om privacy te beschermen, zoals dataminimalisatie, versleuteling, toegangsbeheer en menselijke controle. ## Uw rechten Leg uit hoe betrokkenen gebruik kunnen maken van hun rechten op inzage, correctie, beperking, bezwaar en, waar van toepassing, het recht om niet te worden onderworpen aan uitsluitend geautomatiseerde besluitvorming. "@ $template | Out-File -FilePath $OutputPath -Encoding UTF8 -Force } function New-ImprovementPlanTemplate { <# .SYNOPSIS Maakt een eenvoudig verbeterplan voor AI-verwerkingen. .PARAMETER OutputPath Pad naar het Markdown-bestand dat moet worden aangemaakt. #> [CmdletBinding()] param( [Parameter(Mandatory = $true)] [string]$OutputPath ) $folder = Split-Path -Path $OutputPath -Parent if (-not (Test-Path -Path $folder)) { New-Item -Path $folder -ItemType Directory -Force | Out-Null } $template = @" # Verbeterplan AI-verwerkingen en AVG Laatst bijgewerkt: $(Get-Date -Format "yyyy-MM-dd") Eigenaar verbeterplan: [Naam / functie] | Verwerking | Bevinding | Impact op betrokkenen | Prioriteit | Actie-eigenaar | Streefdatum | Status | |-----------|----------|-----------------------|-----------|----------------|------------|--------| | | | | | | | | "@ $template | Out-File -FilePath $OutputPath -Encoding UTF8 -Force } function Invoke-Monitoring { <# .SYNOPSIS Controleert de aanwezigheid van kernstukken voor AVG- en AI-documentatie. .OUTPUTS PSCustomObject met een samenvatting van de status. #> [CmdletBinding()] param() Write-Host "" Write-Host "AVG en AI-verwerking – Documentatiecontrole" -ForegroundColor Cyan Write-Host "==========================================" -ForegroundColor Cyan if ($DebugMode) { Write-Host "DebugMode ingeschakeld: er worden geen bestanden gewijzigd of aangemaakt." -ForegroundColor Yellow $summary = [PSCustomObject]@{ DocsRootExists = $true RegisterExists = $true DpiaExists = $true PolicyExists = $true PublicInfoExists = $false ImprovementPlanExists = $false } Write-Host "" Write-Host "Voorbeeldsamenvatting (debug):" -ForegroundColor Cyan $summary return $summary } $paths = Get-AvgAiProcessingPaths Write-Verbose "Repository root: $($paths.RepositoryRoot)" Write-Verbose "Documentatiepad: $($paths.DocsRoot)" $summary = [PSCustomObject]@{ DocsRootExists = $false RegisterExists = $false DpiaExists = $false PolicyExists = $false PublicInfoExists = $false ImprovementPlanExists = $false } if (Test-Path -Path $paths.DocsRoot) { $summary.DocsRootExists = $true } else { Write-Host "Documentatiemap voor AVG en AI bestaat nog niet: $($paths.DocsRoot)" -ForegroundColor Yellow } if (Test-Path -Path $paths.RegisterPath) { $summary.RegisterExists = $true } if (Test-Path -Path $paths.DpiaPath) { $summary.DpiaExists = $true } if (Test-Path -Path $paths.PolicyPath) { $summary.PolicyExists = $true } if (Test-Path -Path $paths.PublicInfoPath) { $summary.PublicInfoExists = $true } if (Test-Path -Path $paths.ImprovementPlanPath) { $summary.ImprovementPlanExists = $true } Write-Host "" Write-Host "Samenvatting:" -ForegroundColor Cyan Write-Host (" Documentatiemap aanwezig : {0}" -f ($summary.DocsRootExists)) -ForegroundColor Cyan Write-Host (" Verwerkingsregister voor AI aanwezig: {0}" -f ($summary.RegisterExists)) -ForegroundColor Cyan Write-Host (" DPIA-document aanwezig : {0}" -f ($summary.DpiaExists)) -ForegroundColor Cyan Write-Host (" Beleidsdocument aanwezig : {0}" -f ($summary.PolicyExists)) -ForegroundColor Cyan Write-Host (" Publieksinformatie aanwezig : {0}" -f ($summary.PublicInfoExists)) -ForegroundColor Cyan Write-Host (" Verbeterplan aanwezig : {0}" -f ($summary.ImprovementPlanExists)) -ForegroundColor Cyan return $summary } function Invoke-Remediation { <# .SYNOPSIS Genereert basisdocumentatie voor AVG- en AI-verwerkingen wanneer deze ontbreekt. #> [CmdletBinding()] param() Write-Host "" Write-Host "AVG en AI-verwerking – Remediatie" -ForegroundColor Cyan Write-Host "=================================" -ForegroundColor Cyan $paths = Get-AvgAiProcessingPaths if (-not (Test-Path -Path $paths.DocsRoot)) { if ($WhatIf) { Write-Host "WhatIf: zou documentatiemap aanmaken: $($paths.DocsRoot)" -ForegroundColor Yellow } else { New-Item -Path $paths.DocsRoot -ItemType Directory -Force | Out-Null Write-Host "Documentatiemap aangemaakt: $($paths.DocsRoot)" -ForegroundColor Green } } if (-not (Test-Path -Path $paths.RegisterPath)) { if ($WhatIf) { Write-Host "WhatIf: zou template voor verwerkingsregister aanmaken: $($paths.RegisterPath)" -ForegroundColor Yellow } else { New-VerwerkingsregisterTemplate -OutputPath $paths.RegisterPath Write-Host "Template voor verwerkingsregister aangemaakt: $($paths.RegisterPath)" -ForegroundColor Green } } if (-not (Test-Path -Path $paths.DpiaPath)) { if ($WhatIf) { Write-Host "WhatIf: zou DPIA-sjabloon aanmaken: $($paths.DpiaPath)" -ForegroundColor Yellow } else { New-DpiaTemplate -OutputPath $paths.DpiaPath Write-Host "DPIA-sjabloon aangemaakt: $($paths.DpiaPath)" -ForegroundColor Green } } if (-not (Test-Path -Path $paths.PolicyPath)) { if ($WhatIf) { Write-Host "WhatIf: zou beleidsjabloon aanmaken: $($paths.PolicyPath)" -ForegroundColor Yellow } else { New-PolicyTemplate -OutputPath $paths.PolicyPath Write-Host "Beleidsjabloon aangemaakt: $($paths.PolicyPath)" -ForegroundColor Green } } if (-not (Test-Path -Path $paths.PublicInfoPath)) { if ($WhatIf) { Write-Host "WhatIf: zou publieksinformatie-sjabloon aanmaken: $($paths.PublicInfoPath)" -ForegroundColor Yellow } else { New-PublicInfoTemplate -OutputPath $paths.PublicInfoPath Write-Host "Publieksinformatie-sjabloon aangemaakt: $($paths.PublicInfoPath)" -ForegroundColor Green } } if (-not (Test-Path -Path $paths.ImprovementPlanPath)) { if ($WhatIf) { Write-Host "WhatIf: zou verbeterplan-sjabloon aanmaken: $($paths.ImprovementPlanPath)" -ForegroundColor Yellow } else { New-ImprovementPlanTemplate -OutputPath $paths.ImprovementPlanPath Write-Host "Verbeterplan-sjabloon aangemaakt: $($paths.ImprovementPlanPath)" -ForegroundColor Green } } } try { Write-Host "" Write-Host "========================================" -ForegroundColor Cyan Write-Host "AVG en AI-verwerking" -ForegroundColor Cyan Write-Host "Nederlandse Baseline voor Veilige Cloud" -ForegroundColor Cyan Write-Host "========================================" -ForegroundColor Cyan if ($Monitoring) { $result = Invoke-Monitoring if ($DebugMode) { return $result } } elseif ($Remediation) { Invoke-Remediation } else { Write-Host "" Write-Host "Geen modus opgegeven. Gebruik een van de volgende opties:" -ForegroundColor Yellow Write-Host " -Monitoring Controleer de aanwezigheid van kernstukken voor AVG- en AI-documentatie." -ForegroundColor Yellow Write-Host " -Remediation Genereer sjablonen voor DPIA, verwerkingsregister en beleid." -ForegroundColor Yellow Write-Host " -DebugMode Gebruik voorbeelddata voor een veilige lokale test." -ForegroundColor Yellow Write-Host " -WhatIf Toon remediatieacties zonder bestanden te wijzigen." -ForegroundColor Yellow } } catch { Write-Error "Fout in avg-ai-processing.ps1: $_" throw } finally { Write-Host "" Write-Host "========================================" -ForegroundColor Cyan }

Risico zonder implementatie

Risico zonder implementatie
High: Zonder expliciete AVG-borging van AI-verwerkingen ontbreekt overzicht en onderbouwing van juridische keuzes, zijn DPIA's en verwerkingsregister onvolledig en kan de organisatie onvoldoende reageren op vragen van toezichthouders, burgers en auditors.

Management Samenvatting

Breng alle AI-verwerkingen in Microsoft 365 en Azure in kaart, voer waar nodig DPIA's uit en leg scenario's gestructureerd vast in het verwerkingsregister en aanvullende documentatie. Richt een governanceproces in waarin juridische, ethische en technische aspecten gezamenlijk worden beoordeeld en gebruik geautomatiseerde controles om te verifiëren dat kernstukken zoals DPIA, verwerkingsregisteritems en beleidsteksten aanwezig en actueel zijn.