diff --git a/.gitignore b/.gitignore index 113e4b95bd..c250f15cf8 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,8 @@ # build files site -.venv/ \ No newline at end of file +.venv/ + +# python cache +**/__pycache__/** + +src/overrides/hooks/create_vereisten.py \ No newline at end of file diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 0000000000..aabff35bff --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,118 @@ +# Bijdragen aan het Algoritmekader + +Allereerst, bedankt dat je de tijd hebt genomen om een bijdrage te leveren! ❤️ + +We waarderen alle soorten bijdragen enorm. Zie die [Inhoudsopgave](#inhoudsopgave) voor verschillende manieren waarop je kan bijdragen aan het Algoritmekader. +Zorg ervoor dat je de relevante hoofdstukken even leest voordat je een bijdrage levert. +Het zal het voor het team van het Algoritmekader een stuk makkelijker maken en de ervaring voor alle betrokkenen soepeler laten verlopen. +We kijken uit naar alle bijdragen! 🎉 + +> ## Opmerking +> Werken in Github is voor het team Algoritmekader nieuw en experimenteel. +> Dit vraagt voor ons om een aangepaste werkwijze en hier is bepaalde expertise voor nodig. +> Het begin is gemaakt en het team Algoritmekader is nog lerende om hier optimaal invulling aan te geven. +> Hierdoor kan het iets langer duren voordat er wordt gereageerd op suggesties of toevoegingen. +> We werken aan een duidelijk proces om hier goed mee om te gaan (deze guidelines zijn daar een voorbeeld van). +> Daarnaast werken we niet aan alle bouwblokken tegelijk. Deze worden één voor één opgepakt. +> Aanbevelingen over onderwerpen die later op de planning staan kunnen daardoor ook iets langer duren om te verwerken, en worden mogelijk pas verwerkt wanneer dit bouwblok wordt uitgewerkt. + +## Inhoudsopgave + +- [Code of Conduct](#code-of-conduct) +- [Ik heb een vraag](#ik-heb-een-vraag) +- [Ik wil iets bijdragen](#ik-wil-iets-bijdragen) +- [Ik wil een fout of bug melden](#ik-wil-een-fout--bug-melden) +- [Hoe we werken op GitHub](#hoe-we-werken-op-github) + +### Code of Conduct +Dit project en iedereen die eraan deelneemt, valt onder de +[Code of Conduct](https://github.com/MinBZK/Algoritmekader?tab=coc-ov-file#readme). +Door deel te nemen, wordt van je verwacht dat je je aan deze code houdt. Meld onacceptabel gedrag +aan **[algoritmes@minbzk.nl](mailto:algoritmes@minbzk.nl)**. + +## Ik heb een vraag + +### Maak een issue aan + +Voordat je een [Issues](https://github.com/MinBZK/Algoritmekader/issues) gaat aanmaken, kan je bekijken of jouw vraag al tussen de bestaande [Issues](https://github.com/MinBZK/Algoritmekader/issues) staat. Wellicht staat er al een issue tussen die jou vraag kan beantwoorden. + +Als je jouw vraag nog steeds wilt stellen, kan je een [Issue](https://github.com/MinBZK/Algoritmekader/issues) aanmaken. + +1. Gebruik daarvoor de knop new issue. +2. Schrijf je vraag of opmerking is en geef een heldere toelichting. +3. Anderen kunnen nu opmerkingen toevoegen aan jouw issue. +4. Het team van het Algoritmekader zal deze issue labelen als `question` en pakt jouw issue zo snel mogelijk op. Mogelijk neemt het team van het Algoritmekader contact op voor een verduidelijking of een oplossing. + +### Stel een vraag via mail + +Je kan je vragen ook altijd stellen door een mail te sturen naar **[algoritmes@minbzk.nl](mailto:algoritmes@minbzk.nl)**. + +## Ik wil iets bijdragen +Er zijn verschillende manieren waarop je kan bijdragen. Zie hieronder de mogelijkheden. + +> #### Ter kennisgeving +> Wanneer je bijdraagt aan dit project, moet je ermee akkoord gaan dat je 100% van de inhoud hebt geschreven, dat je de benodigde rechten op de inhoud hebt en dat de inhoud die je bijdraagt mag worden geleverd onder de Code of Conduct. + +### Sluit je aan bij een werkgroep +Voor sommige bouwblokken wordt er gewerkt met werkgroepen, om de informatie verder uit te werken. Deelname aan een werkgroep kost tijd. Werkgroepen komen regelmatig bij elkaar, en tussendoor worden bepaalde zaken uitgewerkt door werkgroepleden. Wil je op één van de onderwerpen meewerken? Stuur dan een bericht naar **[algoritmes@minbzk.nl](mailto:algoritmes@minbzk.nl)**. + +### Neem deel aan een sprint review / klankbord / demo +Het team van het algoritmekader werkt in sprints van ongeveer 3 weken. Daarin werken we toe naar de volgende release van het Algoritmekader. Ongeveer eens in de 6 weken vindt er een nieuwe release plaats. Wanneer er een release is, wordt deze altijd toegelicht en gepresenteerd in een open online review / demo. Deze kan je vrijblijvend volgen. Zo blijf je op de hoogte en kun je een bijdrage leveren. [Bekijk de agenda op Algoritmes Pleio](https://algoritmes.pleio.nl/events) voor de komende bijeenkomsten. + +### Ik wil een fout / bug melden +Heb je een foutje gevonden in het Algoritmekader? Dan kan je deze melden door een [Issue](https://github.com/MinBZK/Algoritmekader/issues) aan te maken. + +Voordat je een [Issues](https://github.com/MinBZK/Algoritmekader/issues) gaat aanmaken, kan je bekijken of jouw gevonden fout al tussen de bestaande [Issues](https://github.com/MinBZK/Algoritmekader/issues) staat. + +Als je de gevonden fout nog steeds wilt melden, kan je een [Issue](https://github.com/MinBZK/Algoritmekader/issues) aanmaken. + +1. Gebruik daarvoor de knop new issue. +2. Beschrijf de fout duidelijk en geef een heldere toelichting. Voeg waar mogelijk een screenshot toe. +3. Het team van het Algoritmekader zal deze issue labelen als `bug` en pakt jouw issue zo snel mogelijk op. Mogelijk neemt het team van het Algoritmekader contact op voor een verduidelijking of een oplossing. + +### Ik wil een verbetering voorstellen +Heb je een suggestie of wil je een verbetering voorstellen? Dat kan gaan om een compleet nieuwe functionaliteit van de site of om kleine verbeteringen. Het volgen van onderstaande instructie helpt het team van het algoritmekader om je suggestie te begrijpen en gerelateerde suggesties te vinden. + +Je kan een suggestie doen door een [Issue](https://github.com/MinBZK/Algoritmekader/issues) aan te maken of door een Pull Request te maken. + +#### Voordat je een suggestie gaat maken + +- Voordat je een suggestie gaat maken, kan je bekijken of jouw suggestie al tussen de bestaande [Issues](https://github.com/MinBZK/Algoritmekader/issues) staat. Wellicht bestaat er al een issue die jouw suggestie beschrijft, en zijn we er al mee bezig. +- Zoek uit of jouw idee past binnen het doel en de scope van het project. Wat zijn de voordelen van deze functionaliteit of toevoeging? Het is aan jou om het team van het Algoritmekader en de community te overtuigen dat dit een nuttige toevoeging is aan het Algoritmekader. Houd in gedachten dat we functioanliteiten willen die nuttig zijn +voor de meerderheid van onze gebruikers en niet slechts voor een kleine groep. + +#### Een issue aanmaken + +Als je jouw suggestie nog steeds wilt doen, kan je een [Issue](https://github.com/MinBZK/Algoritmekader/issues) aanmaken. + +1. Gebruik daarvoor de knop new issue. +2. Beschrijf duidelijk jouw suggestie en geef een heldere toelichting en onderbouwing waarom dit een goede toevoeging zal zijn aan het Algoritmekader +3. Het team van het Algoritmekader zal deze issue labelen als `enhancement` en pakt jouw issue zo snel mogelijk op. Mogelijk neemt het team van het Algoritmekader contact op voor een verduidelijking of een oplossing. + +> Afhankelijk van de complexiteit en het onderwerp van jouw suggestie kan het even duren voordat deze wordt opgepakt door het team van het Algoritmekader. + +#### Een pull-request maken +Kun je niet uit de voeten met de issues? +Bijvoorbeeld omdat je verschillende wijzigingsvoorstellen wilt doen? Je kan ook gebruik maken van een [Fork en een Pull Request](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/working-with-forks). + +Het team van Algoritmekader bekijkt daarna jouw aanpassingen en kan bij akkoord jouw aanpassingen *mergen*. Er zijn ook andere manieren om een pull request te doen. [Meer daarover](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/creating-a-pull-request). + +> Afhankelijk van de complexiteit en het onderwerp van jouw suggestie kan het even duren voordat deze wordt opgepakt door het team van het Algoritmekader. + +> #### Preview van een pull-request +> We maken gebruik van de tool [pr-preview-action](https://github.com/rossjrw/pr-preview-action) om automatisch previews te maken van een pull-request. +Dit maakt het mogelijk om de wijzigingen die zijn gedaan in een pull-request al te bekijken in de uiteindelijke omgeving. +> Wanneer er een pull-request gedaan wordt via een fork, leidt dit helaas tot een error, zie [Issue #79](https://github.com/MinBZK/Algoritmekader/issues/79). Dit blokkeert de pull-request niet. + +### Hoe we werken op Github +We werken met [Markdown](https://www.markdownguide.org/basic-syntax/) bestanden. +Dit is bestandsformaat voor platte tekstbestanden en wordt door veel verschillende tools ondersteund. Dit maakt het eenvoudig om versiebeheer op het Algoritmekader toe te passen. + +Daarnaast maken gebruik van [mkdocs](https://www.mkdocs.org/) en [material for mkdocs](https://squidfunk.github.io/mkdocs-material/) om de informatie op een interactieve wijze inzichtelijk te maken op de website van [het Algoritmekader](https://minbzk.github.io/Algoritmekader/). + +#### Wil je een nieuwe pagina aanmaken? +In het [mkdocs.yml](https://github.com/MinBZK/Algoritmekader/blob/main/mkdocs.yml) bestand staan de settings voor deze website. +In principe hoef je hier niets aan aan te passen, maar als je een nieuwe pagina wilt aanmaken kan het nodig zijn om hier een aanpassing in te doen. +Onderdeel van deze settings is namelijk de navigatie voor de site (welke pagina's zijn zichtbaar, en welke pagina's vallen daaronder). Dit staat in de nav: sectie. +Indien je een nieuwe pagina wilt toevoegen, is het vaak nodig deze wijziging ook door te voeren in het [mkdocs.yml](https://github.com/MinBZK/Algoritmekader/blob/main/mkdocs.yml) bestand. + diff --git a/README.md b/README.md index 076d7936b8..6afced51b0 100644 --- a/README.md +++ b/README.md @@ -1,39 +1,17 @@ -# Algoritmekader -We ontwikkelen het Algoritmekader op een open manier via Github. Bekijk [de ontwikkelomgeving van het Algoritmekader](https://minbzk.github.io/Algoritmekader/). - -**Dit is de Github repo voor het Algoritmekader** -Op deze pagina lees je hoe je kunt bijdragen aan de ontwikkeling van het Algoritmekader. Boven deze tekst vind je de bestanden voor het kader. We gebruiken Markdown en Mkdocs. Meer daarover lees je onder punt 5. - -## Hoe kun je bijdragen? -Dat kan op verschillende manieren. Kijk welke manier jou het beste past. -1 t/m 5 zijn geschikte manieren voor gebruikers die nog niet zo bekend zijn met Github. -5 en 6 Geven input voor ervaren Github gebruikers, die op de voor hen bekende manieren een bijdrage kunnen leveren. +[![Built with Material for MkDocs](https://img.shields.io/badge/Material_for_MkDocs-brightgreen?logo=MaterialForMkDocs&logoColor=white)](https://squidfunk.github.io/mkdocs-material/) -### 1. Sluit je aan bij een werkgroep ### -Regelmatig starten er nieuwe werkgroepen op bouwblokken of thema's. Deelname kost gemiddeld 3-4 uur per week. Wil je op een van de onderwerpen meewerken? Stuur dan een bericht naar algoritmes@minbzk.nl  - -### 2. Neem deel aan een sprintreview ### -We werken in sprints van 3 of 4 weken, gevolgd door een open online review. Zo blijf je op de hoogte en kun je een bijdrage leveren. [Bekijk de agenda op Algoritmes Pleio](https://algoritmes.pleio.nl/events) voor de komende bijeenkomsten. - -### 3. Stuur een e-mail naar [algoritmes@minbzk.nl](mailto:algoritmes@minbzk.nl) -1. Stuur ons je vraag of opmerking, met een duidelijke toelichting. We reageren binnen enkele dagen op je mail. -2. Het team van het Algoritmekader pakt jouw issue op en neemt mogelijk contact op voor verduidelijking of oplossing. +# Algoritmekader +We ontwikkelen het Algoritmekader op een open manier via Github. -### 4. Maak een issue aan -1. Via [Issues](https://github.com/MinBZK/Algoritmekader/issues) kan je bestaande issues bekijken of een nieuwe aanmaken. -2. Gebruik daarvoor de knop `new issue`. -3. Schrijf je vraag of opmerking is en geef een heldere toelichting. -4. Anderen kunnen comments toevoegen aan jouw issue. -5. Het team van het Algoritmekader pakt jouw issue op en neemt mogelijk contact op voor verduidelijking of oplossing. +Deze repository wordt deployed op [https://minbzk.github.io/Algoritmekader](https://minbzk.github.io/Algoritmekader/). -### 5. Stuur een *pull request* -Kun je niet uit de voeten met de issues? Bijvoorbeeld omdat je verschillende wijzigingsvoorstellen wilt doen. We houden het aantal collaborators zeer beperkt. Gebruik bijvoorbeeld [Fork en doe een Pull Request](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/working-with-forks). Het team van Algoritmekader bekijkt daarna jouw aanpassingen en kan bij akkoord jouw aanpassingen *mergen*. Er zijn ook andere manieren om een pull request te doen. [Meer daarover](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/creating-a-pull-request). +### Dit is de Github repository voor het Algoritmekader +In deze repository ontwikkelen wij het Algoritmekader. Boven op deze pagina vind je de bestanden van het Algoritmekader. +De informatie van het algoritmekader wordt uitgewerkt in verschillende markdown bestanden (een bestandsformaat voor platte tekstbestanden). +Deze bestanden worden inzichtelijk gemaakt met behulp van [mkdocs](https://www.mkdocs.org/) en [material for mkdocs](https://squidfunk.github.io/mkdocs-material/). -We werken met [Markdown](https://www.markdownguide.org/basic-syntax/) bestanden. Dit bestandsformaat wordt door veel verschillende tools ondersteund, en maakt het eenvoudig versiebeheer toe te passen. Tijdens de ontwikkelfase gebruiken we [mkdocs](https://www.mkdocs.org/) en [material for mkdocs](https://squidfunk.github.io/mkdocs-material/) voor de presentatie op [de ontwikkelomgeving](https://minbzk.github.io/Algoritmekader/). Zo werken we direct aan de interactiviteit en flexibiliteit van het kader. Uiteindelijk landt het Algoritmekader op een bestaande overheidswebsite zoals [Digitale Overheid](https://www.digitaleoverheid.nl/). - -### 6. Iets aanpassen in de navigatie van de website? -We maken gebruik van [mkdocs](https://www.mkdocs.org/) en [material for mkdocs](https://squidfunk.github.io/mkdocs-material/) om de documentatie inzichtelijk te maken op een website. In het bestand [mkdocs.yml](https://github.com/MinBZK/Algoritmekader/blob/main/mkdocs.yml) bestand staan de settings voor deze website. In principe hoef je hier niets aan aan te passen. -Onderdeel van deze settings is de navigatie voor de site (welke kopjes zijn zichtbaar, en welke kopjes vallen daaronder). Dit staat in de `nav:` sectie. Indien je een kopje wilt toevoegen, kan dat in deze sectie. +## Hoe kun je bijdragen? +Dat kan op verschillende manieren. Zie onze [Contributing Guidelines](https://github.com/MinBZK/Algoritmekader/blob/vereisten-toevoegen/CONTRIBUTING.md) voor meer uitleg over hoe je kan bijdragen aan het Algoritmekader. ## Vragen? Maak een [Issue](https://github.com/MinBZK/Algoritmekader/issues) aan op GitHub. Of mail [algoritmes@minbzk.nl](mailto:algoritmes@minbzk.nl) diff --git a/docs/bouwblokken/conformiteitsbeoordeling/audit.md b/docs/bouwblokken/conformiteitsbeoordeling/audit.md deleted file mode 100644 index 6e30c3d485..0000000000 --- a/docs/bouwblokken/conformiteitsbeoordeling/audit.md +++ /dev/null @@ -1,73 +0,0 @@ ---- -title: Audit -summary: hier staat een korte samenvatting over dit onderwerp ---- -!!! info "Disclaimer" - - Het Algoritmekader is nog volop in ontwikkeling. Op deze plek willen we vooral aan de slag gaan op een open en transparante wijze. Het is dus niet definitief. Dat betekent dat er dingen opstaan die niet af zijn en soms zelfs fout. Mocht er iets niet kloppen, laat het ons weten via [GitHub](https://github.com/MinBZK/Algoritmekader). - -## Waarom? -Schrijf hier een tekst over wat [title] is en waarom dit belangrijk is voor een verantwoord gebruik van algoritmes bij overheidsorganisaties. - -## Levenscyclus -Een overzicht van welke fasen van de levenscyclus relevant zijn voor dit bouwblok. - -
- -- [ ] Probleemanalyse -- [ ] Ontwerp -- [ ] Data verkenning en data preparatie -- [ ] Ontwikkelen -- [x] **Validatie** (1) - { .annotate } - -- [ ] Implementatie -- [x] **Monitoren** *met daarbij een uitleg waarom deze fase van de levenscyclus belangrijk is voor dit bouwblok* -- [x] **Archiveren** *met daarbij een uitleg waarom deze fase van de levenscyclus belangrijk is voor dit bouwblok* - -
- 1. met daarbij een uitleg waarom deze fase van de levenscyclus belangrijk is voor dit bouwblok. In welke zin moet dit bouwblok aan bod komen tijdens deze fase? - - - -## Normen - -Onderstaand een overzicht van de minimale vereisten die volgen uit geldende wet- en regelgeving, toetingskaders en andere bronnen - -=== "Laag risico" - - | **Norm** | **Uitleg** | **Bron** | - |-----------------------------------|------------------------------------------|----------| - | Norm 2 | Korte uitleg over norm 2 | | - -=== "Hoog risico" - - | **Norm** | **Uitleg** | **Bron** | - |-----------------------------------|------------------------------------------|----------| - | Norm 2 | Korte uitleg over norm 2 | | - | Norm 3 | Korte uitleg over norm 3 | | - | Norm 4 | Korte uitleg over norm 4 | | - - -## Rollen -Overzicht van welke rollen belangrijk zijn te betrekken bij dit bouwblok. - -
- -- __dats scientist__ beschijf waarom deze rol belangrijk is -- __projectleider__ beschijf waarom deze rol belangrijk is -- __jurist__ beschijf waarom deze rol belangrijk is - -
-## Best practices -!!! example "Voorbeeld" - - Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla et - euismod nulla. Curabitur feugiat, tortor non consequat finibus, justo - purus auctor massa, nec semper lorem quam in massa. - -??? info "Meer weten?" - - Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla et - euismod nulla. Curabitur feugiat, tortor non consequat finibus, justo - purus auctor massa, nec semper lorem quam in massa. diff --git a/docs/bouwblokken/conformiteitsbeoordeling/index.md b/docs/bouwblokken/conformiteitsbeoordeling/index.md index 687c53f1c2..2016b33f09 100644 --- a/docs/bouwblokken/conformiteitsbeoordeling/index.md +++ b/docs/bouwblokken/conformiteitsbeoordeling/index.md @@ -1,6 +1,21 @@ --- title: Conformiteitsbeoordeling summary: Hier staat een korte samenvatting over dit onderwerp +icon: material/check-circle --- -Hier komt een beschrijving van de welke bouwblokken er zijn \ No newline at end of file +Hier komt een beschrijving van dit bouwblok. + +!!! info "Opmerking" + + Dit bouwblok moet nog ontwikkeld worden. Deze pagina is dus nog niet volledig. Op deze pagina vind je mogelijk wel al onderdelen waar we aandacht aan willen besteden in dit bouwblok. + + +## Vereisten + + + + +## Maatregelen + + \ No newline at end of file diff --git a/docs/bouwblokken/conformiteitsbeoordeling/toezicht.md b/docs/bouwblokken/conformiteitsbeoordeling/toezicht.md deleted file mode 100644 index a9732cd391..0000000000 --- a/docs/bouwblokken/conformiteitsbeoordeling/toezicht.md +++ /dev/null @@ -1,106 +0,0 @@ ---- -title: Toezicht -summary: hier staat een korte samenvatting over dit onderwerp ---- -!!! info "Disclaimer" - - Het Algoritmekader is nog volop in ontwikkeling. Op deze plek willen we vooral aan de slag gaan op een open en transparante wijze. Het is dus niet definitief. Dat betekent dat er dingen opstaan die niet af zijn en soms zelfs fout. Mocht er iets niet kloppen, laat het ons weten via [GitHub](https://github.com/MinBZK/Algoritmekader). - -## Waarom? -Schrijf hier een tekst over wat [title] is en waarom dit belangrijk is voor een verantwoord gebruik van algoritmes bij overheidsorganisaties. - -## Levenscyclus -
- -- __Probleemanalyse__ - - --- - - beschrijving waarom deze fase van de levenscyclus wel/niet relevant is voor dit onderwerp - -- __Ontwerp__ - - --- - - beschrijving waarom deze fase van de levenscyclus wel/niet relevant is voor dit onderwerp - -- __Data verkenning en data preparatie__ - - --- - - for text running out of boxes - -- __Ontwikkelen__ - - --- - - Hallo - -- __Ontwerp__ - - --- - - beschrijving waarom deze fase van de levenscyclus wel/niet relevant is voor dit onderwerp - -- __Ontwerp__ - - --- - - beschrijving waarom deze fase van de levenscyclus wel/niet relevant is voor dit onderwerp - - - -
- -## Normen - -Onderstaand een overzicht van de minimale vereisten die volgen uit geldende wet- en regelgeving, toetingskaders en andere bronnen - -=== "Laag risico" - | **Norm** | **Uitleg** | **Bron** | - |-----------------------------------|------------------------------------------|----------| - | Norm 2 | Korte uitleg over norm 2 | | - -=== "Hoog risico" - - | **Norm** | **Uitleg** | **Bron** | - |-----------------------------------|------------------------------------------|----------| - | Norm 2 | Korte uitleg over norm 2 | | - | Norm 3 | Korte uitleg over norm 3 | | - | Norm 4 | Korte uitleg over norm 4 | | - - - -## Aanvullende maatregelen -Overzicht van de relevante aanvullende (maar niet verplichte) maatregelen - -| **Maatregel** | **Uitleg** | **Bron** | -|-----------------|-----------------------------|-----------| -| Maatregel 1 | Korte uitleg over maatregel 1 | | -| Maatregel 2 | Korte uitleg over maatregel 2 | | -| Maatregel 3 | Korte uitleg over maatregel 3 | | - -## Rollen -Overzicht van welke rollen belangrijk zijn te betrekken bij dit bouwblok. - -
- -- __dats scientist__ beschijf waarom deze rol belangrijk is -- __projectleider__ beschijf waarom deze rol belangrijk is -- __jurist__ beschijf waarom deze rol belangrijk is - -
-## Best practices -!!! example "Voorbeeld" - - Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla et - euismod nulla. Curabitur feugiat, tortor non consequat finibus, justo - purus auctor massa, nec semper lorem quam in massa. - -??? info "Meer weten?" - - Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla et - euismod nulla. Curabitur feugiat, tortor non consequat finibus, justo - purus auctor massa, nec semper lorem quam in massa. - - diff --git a/docs/bouwblokken/data/data governance.md b/docs/bouwblokken/data/data governance.md deleted file mode 100644 index f78acccfed..0000000000 --- a/docs/bouwblokken/data/data governance.md +++ /dev/null @@ -1,36 +0,0 @@ ---- -title: Data governance -summary: hier staat een korte samenvatting over dit onderwerp ---- -!!! info "Disclaimer" - - Het Algoritmekader is nog volop in ontwikkeling. Op deze plek willen we vooral aan de slag gaan op een open en transparante wijze. Het is dus niet definitief. Dat betekent dat er dingen opstaan die niet af zijn en soms zelfs fout. Mocht er iets niet kloppen, laat het ons weten via [GitHub](https://github.com/MinBZK/Algoritmekader). - - -## Waarom? -Schrijf hier een tekst over wat [title] is en waarom dit belangrijk is voor een verantwoord gebruik van algoritmes bij overheidsorganisaties. - -## Normen - -Onderstaand een overzicht van de minimale vereisten die volgen uit geldende wet- en regelgeving, toetingskaders en andere bronnen - -| **Norm** | **Uitleg** | **Bron** | -|------------|-----------| ---------| -| Norm 1 | Uitleg over norm 1 | | -| Norm 2 | Uitleg over norm 2 | | -| Norm 3 | Uitleg over norm 3 | | -| Norm 4 | Uitleg over norm 4 | | - - -## Aanvullende maatregelen - -| **Maatregel** | **Uitleg** | **Bron** | -|------------|-----------| ---------| -| Maatregel 1 | Uitleg over maatregel 1 | | -| Maatregel 2 | Uitleg over maatregel 2 | | -| Maatregel 3 | Uitleg over maatregel 3 | | - -## Rollen - -## Best practices -even een test diff --git a/docs/bouwblokken/data/data kwaliteit.md b/docs/bouwblokken/data/data kwaliteit.md deleted file mode 100644 index 87f13e451d..0000000000 --- a/docs/bouwblokken/data/data kwaliteit.md +++ /dev/null @@ -1,34 +0,0 @@ ---- -title: Data kwaliteit -summary: hier staat een korte samenvatting over dit onderwerp ---- -!!! info "Disclaimer" - - Het Algoritmekader is nog volop in ontwikkeling. Op deze plek willen we vooral aan de slag gaan op een open en transparante wijze. Het is dus niet definitief. Dat betekent dat er dingen opstaan die niet af zijn en soms zelfs fout. Mocht er iets niet kloppen, laat het ons weten via [GitHub](https://github.com/MinBZK/Algoritmekader). - -## Waarom? -Schrijf hier een tekst over wat [title] is en waarom dit belangrijk is voor een verantwoord gebruik van algoritmes bij overheidsorganisaties. - -## Normen - -Onderstaand een overzicht van de minimale vereisten die volgen uit geldende wet- en regelgeving, toetingskaders en andere bronnen - -| **Norm** | **Uitleg** | **Bron** | -|------------|-----------| ---------| -| Norm 1 | Uitleg over norm 1 | | -| Norm 2 | Uitleg over norm 2 | | -| Norm 3 | Uitleg over norm 3 | | -| Norm 4 | Uitleg over norm 4 | | - - -## Aanvullende maatregelen - -| **Maatregel** | **Uitleg** | **Bron** | -|------------|-----------| ---------| -| Maatregel 1 | Uitleg over maatregel 1 | | -| Maatregel 2 | Uitleg over maatregel 2 | | -| Maatregel 3 | Uitleg over maatregel 3 | | - -## Rollen - -## Best practices diff --git a/docs/bouwblokken/data/index.md b/docs/bouwblokken/data/index.md index 750879ca84..48f8586490 100644 --- a/docs/bouwblokken/data/index.md +++ b/docs/bouwblokken/data/index.md @@ -1,6 +1,22 @@ --- title: Data summary: Hier staat een korte samenvatting over dit onderwerp +icon: material/database --- -Hier komt een beschrijving van dit bouwblok \ No newline at end of file +Hier komt een beschrijving van dit bouwblok. + +!!! info "Opmerking" + + Dit bouwblok moet nog ontwikkeld worden. Deze pagina is dus nog niet volledig. Op deze pagina vind je mogelijk wel al onderdelen waar we aandacht aan willen besteden in dit bouwblok. + +## Vereisten + + + +## Maatregelen + + + +## Nuttige informatie +- FAIR data: [GO FAIR Foundation](https://www.gofair.foundation/). \ No newline at end of file diff --git a/docs/bouwblokken/duurzaamheid/index.md b/docs/bouwblokken/duurzaamheid/index.md index 83ff41c327..d3e95a009c 100644 --- a/docs/bouwblokken/duurzaamheid/index.md +++ b/docs/bouwblokken/duurzaamheid/index.md @@ -1,9 +1,21 @@ --- title: Duurzaamheid summary: Hier staat een korte samenvatting over dit onderwerp +icon: material/leaf --- -Hier komt een beschrijving van dit bouwblok +Hier komt een beschrijving van dit bouwblok. -## Normen -Hier staan de normen die onze werkgroep gaat uitwerken +!!! info "Opmerking" + + Dit bouwblok moet nog ontwikkeld worden. Deze pagina is dus nog niet volledig. Op deze pagina vindt je mogelijk wel al onderdelen waar we aandacht aan willen besteden in dit bouwblok. + + +## Vereisten + + + + +## Maatregelen + + \ No newline at end of file diff --git a/docs/bouwblokken/fundamentele rechten/index.md b/docs/bouwblokken/fundamentele rechten/index.md deleted file mode 100644 index b3f7e307bd..0000000000 --- a/docs/bouwblokken/fundamentele rechten/index.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -title: Duurzaamheid -summary: Hier staat een korte samenvatting over dit onderwerp ---- - -Hier komt een beschrijving van dit bouwblok \ No newline at end of file diff --git a/docs/bouwblokken/fundamentele-rechten/index.md b/docs/bouwblokken/fundamentele-rechten/index.md new file mode 100644 index 0000000000..4af8e8f677 --- /dev/null +++ b/docs/bouwblokken/fundamentele-rechten/index.md @@ -0,0 +1,21 @@ +--- +title: Fundamentele rechten +summary: Hier staat een korte samenvatting over dit onderwerp +icon: material/scale-balance +--- + +Hier komt een beschrijving van dit bouwblok. + +!!! info "Opmerking" + + Dit bouwblok moet nog ontwikkeld worden. Deze pagina is dus nog niet volledig. Op deze pagina vind je mogelijk wel al onderdelen waar we aandacht aan willen besteden in dit bouwblok. + +Onderdeel van het bouwblok Fundamentele rechten is het onderwerp [Bias en non-discriminatie](non-discriminatie.md). + +## Vereisten + + + +## Maatregelen + + \ No newline at end of file diff --git a/docs/bouwblokken/fundamentele rechten/non-discriminatie.md b/docs/bouwblokken/fundamentele-rechten/non-discriminatie.md similarity index 62% rename from docs/bouwblokken/fundamentele rechten/non-discriminatie.md rename to docs/bouwblokken/fundamentele-rechten/non-discriminatie.md index 5949216aa1..526b5c7354 100644 --- a/docs/bouwblokken/fundamentele rechten/non-discriminatie.md +++ b/docs/bouwblokken/fundamentele-rechten/non-discriminatie.md @@ -1,62 +1,29 @@ --- -title: Non-discriminatie -summary: hier staat een korte samenvatting over dit onderwerp +title: Bias en non-discriminatie --- !!! info "Disclaimer" Het Algoritmekader is nog volop in ontwikkeling. Op deze plek willen we vooral aan de slag gaan op een open en transparante wijze. Het is dus niet definitief. Dat betekent dat er dingen opstaan die niet af zijn en soms zelfs fout. Mocht er iets niet kloppen, laat het ons weten via [GitHub](https://github.com/MinBZK/Algoritmekader). -## Waarom? -Schrijf hier een tekst over wat [title] is en waarom dit belangrijk is voor een verantwoord gebruik van algoritmes bij overheidsorganisaties. +Algoritmes worden binnen de overheid veelvuldig ingezet om publieke taken uit te voeren. Dit biedt veel kansen, maar er zijn ook risico's aan verbonden. +Hoewel algoritmes in sommige gevallen kunnen bijdragen aan het tegengaan van discriminatie, kan bias[^1] in het algoritme ook leiden tot een ongelijke en oneerlijke behandeling van burgers of groepen, en kan er ook sprake zijn van discriminerende effecten. +In dit bouwblok van het algoritmekader besteden we aandacht aan de onderwerpen bias, eerlijkheid en non-discriminatie. +We werken uit wat bias is, hoe bias kan ontstaan, hoe we dit kunnen signaleren, welke maatregelen er genomen kunnen worden om dit te voorkomen en geven we handvatten wat te doen wanneer een (onwenselijke) bias is gesignaleerd. -## Levenscyclus -Een overzicht van welke fasen van de levenscyclus relevant zijn voor dit bouwblok. +Hierbij is het goed om op te merken dat het omgaan met het thema bias gedurende het ontwikkelen, inkopen of gebruik van het algoritme vraagt om continue aandacht voor dit onderwerp. +Het betreft geen probleem dat eenmalig kan worden weggenomen, maar het vraagt voortdurende reflectie op eerlijkheid en rechtvaardigheid van het systeem. -- [x] Probleemanalyse -- [x] Ontwerp -- [x] Data verkenning en data preparatie -- [x] Ontwikkelen -- [x] Validatie -- [x] Implementatie -- [x] Monitoren -- [ ] Archiveren +[^1]: In het Nederlands vertaald als vooringenomenheid, vooroordeel of neiging -## Normen +Dit bouwblok wordt uitgewerkt in vereisten die weergeven wat er vanuit wet- en regelgeving en bestaande toetsingskaders vereist is om bias en discriminatie tegen te gaan. +Daarbij worden er suggesties gedaan hoe deze vereisten kunnen worden nageleefd met concrete maatregelen, en welke actoren daarbij betrokken kunnen zijn. +Waar mogelijk worden concrete voorbeelden en best practices uit de praktijk gegeven en zal worden aangegeven bij welk type algoritmen of AI dit relevant is. +Deze vereisten en maatregelen worden ook gekoppeld aan de algoritme levenscyclus. +Dit geeft een beeld van wanneer bepaalde vereisten of maatregelen, bij het ontwikkelen van algoritmen en AI, moeten worden geadresseerd. -Onderstaand een overzicht van de minimale vereisten die volgen uit geldende wet- en regelgeving, toetingskaders en andere bronnen +Door bij de ontwikkeling van algoritmes rekening te houden met vereisten die voorkomen uit wet- en regelgeving, het type algoritme of AI en de potentiële risico’s die ontstaan bij het gebruiken ervan, kunnen negatieve gevolgen worden voorkomen. -=== "Laag risico" - - | **Norm** | **Uitleg** | **Bron** | - |-----------------------------------|------------------------------------------|----------| - | Norm 2 | Korte uitleg over norm 2 | | - -=== "Hoog risico" - - | **Norm** | **Uitleg** | **Bron** | - |-----------------------------------|------------------------------------------|----------| - | Verbod op ongelijke behandeling in gelijke omstandigheden. Discriminatie wegens godsdienst, levensovertuiging, politieke gezindheid, ras, geslacht of op welke grond dan ook, is niet toegestaan | Korte uitleg over norm 1 | | IKA1.0 - | Norm 2 | Korte uitleg over norm 2 | | - | Norm 3 | Korte uitleg over norm 3 | | - | Norm 4 | Korte uitleg over norm 4 | | - - -## Rollen -Overzicht van welke rollen belangrijk zijn te betrekken bij dit bouwblok. - -
- -- __technische expert__ bron: handreiking non-discriminatie by design -- __projectleider__ bron: handreiking non-discriminatie by design -- __jurist__ bron: handreiking non-discriminatie by design -- __functionaris gegevensbescherming__ bron: handreiking non-discriminatie by design -- __relevante stakeholders__ bron: handreiking non-discriminatie by design -- __domein expert__ bron: handreiking non-discriminatie by design -- __data steward__ bron: handreiking non-discriminatie by design -- __data analist__ bron: handreiking non-discriminatie by design -- __beleid__ bron: evaluatie handreiking non-discriminatie by design door ADR - -
+De onderwerpen bias en non-discriminatie spelen daarom een belangrijke rol bij de totstandkoming van verantwoord ontwikkelde algoritmen en AI en het gebruik daarvan door ambtenaren. ## Aanbevelingen [Rathenau](https://www.rathenau.nl/nl/digitalisering/algoritmes-afwegen) diff --git a/docs/bouwblokken/governance/index.md b/docs/bouwblokken/governance/index.md index 3c90e5b146..0cb11db3a0 100644 --- a/docs/bouwblokken/governance/index.md +++ b/docs/bouwblokken/governance/index.md @@ -1,6 +1,20 @@ --- title: Governance summary: Hier staat een korte samenvatting over dit onderwerp +icon: material/bank --- -Hier komt een beschrijving van dit bouwblok \ No newline at end of file +Hier komt een beschrijving van dit bouwblok. + +!!! info "Opmerking" + + Dit bouwblok moet nog ontwikkeld worden. Deze pagina is dus nog niet volledig. Op deze pagina vind je mogelijk wel al onderdelen waar we aandacht aan willen besteden in dit bouwblok. + + +## Vereisten + + + +## Maatregelen + + \ No newline at end of file diff --git a/docs/bouwblokken/index.md b/docs/bouwblokken/index.md index 044e0039e3..780000b85d 100644 --- a/docs/bouwblokken/index.md +++ b/docs/bouwblokken/index.md @@ -1,57 +1,95 @@ --- title: Bouwblokken summary: Hier staat een korte samenvatting over dit onderwerp +icon: material/cube --- -Bij het algoritmekader hebben we 10 bouwblokken gedefinieerd. Deze bouwblokken geven structuur aan het algoritmekader. +
-### :fontawesome-solid-square-check: [Conformiteitsbeoordeling](../bouwblokken/conformiteitsbeoordeling/index.md) +- :material-scale-balance: __Fundamentele rechten__ *(in ontwikkeling)* -- [audit]( ../bouwblokken/conformiteitsbeoordeling/audit.md) + --- -- [toezicht]( ../bouwblokken/conformiteitsbeoordeling/toezicht.md) + Het bouwblok fundamentele rechten is opgesplitst in verschillende delen ---- + [:octicons-arrow-right-24: Naar fundamentele rechten](../bouwblokken/fundamentele-rechten/index.md) -### :fontawesome-solid-database: [Data](../bouwblokken/data/index.md) + [:octicons-arrow-right-24: Naar bias en non-discriminatie](../bouwblokken/fundamentele-rechten/non-discriminatie.md) -- [data kwaliteit](../bouwblokken/data/data%20kwaliteit.md) +- :material-cart: __Publieke inkoop__ *(in ontwikkeling)* -- [data governance](../bouwblokken/data/data%20governance.md) + --- ---- + Hier kunnen we een korte tekst kwijt over publieke inkoop -### :fontawesome-solid-leaf: [Duurzaamheid](../bouwblokken/duurzaamheid/index.md) + [:octicons-arrow-right-24: Naar publieke inkoop](../bouwblokken/publieke-inkoop/index.md) ---- +- :material-shield-lock: __Privacy en gegevensbescherming__ *(in ontwikkeling)* -### :material-scale-balance: [Fundamentele rechten](../bouwblokken/fundamentele%20rechten/index.md) + --- -- [non-discriminatie](../bouwblokken/fundamentele%20rechten/non-discriminatie.md) + Hier kunnen we een korte tekst kwijt over privacy en gegevensbescherming ---- + [:octicons-arrow-right-24: Naar privacy en gegevensbescherming](../bouwblokken/privacy-en-gegevensbescherming/index.md) -### :fontawesome-solid-building-columns: [Governance](../bouwblokken/governance/index.md) +- :material-magnify: __Transparantie__ *(in ontwikkeling)* ---- + --- -### :fontawesome-solid-cart-shopping: [Inkoop](../bouwblokken/inkoop/index.md) + Hier kunnen we een korte tekst kwijt over transparantie ---- + [:octicons-arrow-right-24: Naar transparantie](../bouwblokken/transparantie/index.md) -### :fontawesome-solid-person-circle-check: [Menselijke controle](../bouwblokken/menselijke%20controle/index.md) +- :material-check-circle: __Conformiteitsbeoordeling__ *(nog te doen)* ---- + --- -### :fontawesome-solid-lock: [Privacy en gegevensbescherming](../bouwblokken/privacy%20en%20gegevensbescherming/index.md) + Hier kunnen we een korte tekst kwijt over conformiteitsbeoordeling ---- + [:octicons-arrow-right-24: Naar conformiteitsbeoordeling](../bouwblokken/conformiteitsbeoordeling/index.md) -### :fontawesome-solid-gear: [Technische robuustheid en veiligheid](../bouwblokken/technische%20robuustheid%20en%20veiligheid/index.md) +- :material-database: __Data__ *(nog te doen)* ---- + --- + + Hier kunnen we een korte tekst kwijt over data + + [:octicons-arrow-right-24: Naar data](../bouwblokken/data/index.md) + +- :material-leaf: __Duurzaamheid__ *(nog te doen)* + + --- + + Hier kunnen we een korte tekst kwijt over duurzaamheid + + [:octicons-arrow-right-24: Naar duurzaamheid](../bouwblokken/duurzaamheid/index.md) + +- :material-bank: __Governance__ *(nog te doen)* + + --- + + Hier kunnen we een korte tekst kwijt over governance + + [:octicons-arrow-right-24: Naar governance](../bouwblokken/governance/index.md) + +- :material-account-check: __Menselijke controle__ *(nog te doen)* + + --- + + Hier kunnen we een korte tekst kwijt over menselijke controle + + [:octicons-arrow-right-24: Naar menselijke controle](../bouwblokken/menselijke-controle/index.md) + +- :material-cog: __Technische robuustheid en veiligheid__ *(nog te doen)* + + --- + + Hier kunnen we een korte tekst kwijt over technische robuustheid en veiligheid + + [:octicons-arrow-right-24: Naar technische robuustheid en veiligheid](../bouwblokken/technische-robuustheid-en-veiligheid/index.md) + +
-### :fontawesome-solid-magnifying-glass: [Transparantie](../bouwblokken/transparantie/index.md) !!! info "Disclaimer" diff --git a/docs/bouwblokken/inkoop/index.md b/docs/bouwblokken/inkoop/index.md deleted file mode 100644 index 652d9d9834..0000000000 --- a/docs/bouwblokken/inkoop/index.md +++ /dev/null @@ -1,77 +0,0 @@ -# Het inkopen van algoritmen en kunstmatige intelligentie door overheidsinstellingen - -!!! info "Disclaimer" - - Het Algoritmekader is nog volop in ontwikkeling. Op deze plek willen we vooral aan de slag gaan op een open en transparante wijze. Het is dus niet definitief. Dat betekent dat er dingen opstaan die niet af zijn en soms zelfs fout. Mocht er iets niet kloppen, laat het ons weten via [GitHub](https://github.com/MinBZK/Algoritmekader). - - - -## Levenscyclus - -### Probleem analyse - - -### Ontwerp - - -### Data verkennen en (data)preparatie - - -### Ontwikkelen - - -### Validatie - - - -### Implementatie - - -## Normen - -Onderstaand een overzicht van de minimale vereisten die volgen uit geldende wet- en regelgeving, toetingskaders en andere bronnen - -=== "Laag risico" - - | **Norm** | **Uitleg** | **Bron** | - |-----------------------------------|------------------------------------------|----------| - | Norm 2 | Korte uitleg over norm 2 | | - -=== "Hoog risico" - - | **Norm** | **Uitleg** | **Bron** | - |-----------------------------------|------------------------------------------|----------| - | Norm 2 | Korte uitleg over norm 2 | | - | Norm 3 | Korte uitleg over norm 3 | | - | Norm 4 | Korte uitleg over norm 4 | | - - -## Rollen -Overzicht van welke rollen belangrijk zijn te betrekken bij dit bouwblok. - -
- -- __dats scientist__ beschijf waarom deze rol belangrijk is -- __projectleider__ beschijf waarom deze rol belangrijk is -- __jurist__ beschijf waarom deze rol belangrijk is - -
- -## Best practices - - -!!! example "Voorbeeld" - - Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla et - euismod nulla. Curabitur feugiat, tortor non consequat finibus, justo - purus auctor massa, nec semper lorem quam in massa. - -??? info "Meer weten?" - - Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla et - euismod nulla. Curabitur feugiat, tortor non consequat finibus, justo - purus auctor massa, nec semper lorem quam in massa. - -## Ervaringen - -Je kan ook dingen **dikgedrukt** maken. diff --git a/docs/bouwblokken/menselijke controle/index.md b/docs/bouwblokken/menselijke controle/index.md deleted file mode 100644 index 7729386225..0000000000 --- a/docs/bouwblokken/menselijke controle/index.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -title: Menselijke controle -summary: Hier staat een korte samenvatting over dit onderwerp ---- - -Hier komt een beschrijving van dit bouwblok \ No newline at end of file diff --git a/docs/bouwblokken/menselijke-controle/index.md b/docs/bouwblokken/menselijke-controle/index.md new file mode 100644 index 0000000000..b8007d8bc3 --- /dev/null +++ b/docs/bouwblokken/menselijke-controle/index.md @@ -0,0 +1,21 @@ +--- +title: Menselijke controle +summary: Hier staat een korte samenvatting over dit onderwerp +icon: material/account-check +--- + +Hier komt een beschrijving van dit bouwblok. + +!!! info "Opmerking" + + Dit bouwblok moet nog ontwikkeld worden. Deze pagina is dus nog niet volledig. Op deze pagina vind je mogelijk wel al onderdelen waar we aandacht aan willen besteden in dit bouwblok. + + +## Vereisten + + + + +## Maatregelen + + \ No newline at end of file diff --git a/docs/bouwblokken/privacy en gegevensbescherming/index.md b/docs/bouwblokken/privacy en gegevensbescherming/index.md deleted file mode 100644 index 41e3731e14..0000000000 --- a/docs/bouwblokken/privacy en gegevensbescherming/index.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -title: Privacy en gegevensbescherming -summary: Hier staat een korte samenvatting over dit onderwerp ---- - -Hier komt een beschrijving van dit bouwblok \ No newline at end of file diff --git a/docs/bouwblokken/privacy-en-gegevensbescherming/index.md b/docs/bouwblokken/privacy-en-gegevensbescherming/index.md new file mode 100644 index 0000000000..096d2dd252 --- /dev/null +++ b/docs/bouwblokken/privacy-en-gegevensbescherming/index.md @@ -0,0 +1,21 @@ +--- +title: Privacy en gegevensbescherming +summary: Hier staat een korte samenvatting over dit onderwerp +icon: material/shield-lock +--- + +Hier komt een beschrijving van dit bouwblok. + +!!! info "Opmerking" + + Dit bouwblok moet nog ontwikkeld worden. Deze pagina is dus nog niet volledig. Op deze pagina vind je mogelijk wel al onderdelen waar we aandacht aan willen besteden in dit bouwblok. + + +## Vereisten + + + + +## Maatregelen + + \ No newline at end of file diff --git a/docs/bouwblokken/publieke-inkoop/index.md b/docs/bouwblokken/publieke-inkoop/index.md new file mode 100644 index 0000000000..7be59a9768 --- /dev/null +++ b/docs/bouwblokken/publieke-inkoop/index.md @@ -0,0 +1,68 @@ +--- +title: Publieke inkoop +icon: material/cart +--- + + +!!! info "Disclaimer" + Het Algoritmekader is nog volop in ontwikkeling. Op deze plek willen we vooral aan de slag gaan op een open en transparante wijze. Het is dus niet definitief. Dat betekent dat er dingen opstaan die niet af zijn en soms zelfs fout. Mocht er iets niet kloppen, laat het ons weten via [GitHub](https://github.com/MinBZK/Algoritmekader). + + +Door middel van publieke inkoop wordt door overheidsinstellingen software ingekocht. Deze software wordt ingekocht om ambtenaren te ondersteunen met hun werkzaamheden om zo maatschappelijk waarden te creëren. Het kan bijvoorbeeld gaan om het inkopen van een systeem waarmee een aanvraag voor een subsidie of vergunning kan worden behandeld. Het virtueel vergaderen of het digitaal samenwerken aan documenten zijn hier ook voorbeelden van. + +Software met algoritmen en AI wordt vaak ontwikkeld door gespecialiseerde aanbieders en bevat steeds meer algoritmen en AI. Het komt ook voor dat de overheid deze technologie zelf ontwikkelt. Deze algoritmen en AI kunnen eenvoudig van aard zijn, zoals het maken van een eenvoudige berekening. Zij kunnen complexer van aard zijn, zoals een voorspelling geven of het genereren van informatie. In het laatste geval kan worden gedacht aan ChatGPT, Google Bard of Co-Pilot. +Er zijn verschillende type technologieën die vallen onder het bereik van algoritmen en AI. In dit kader drukken we deze uit als ‘rekenregel’, ‘machine learning’ en ‘generatieve AI’. Elke technologie heeft eigen bijzondere aandachtspunten. Ook de bijbehorende risico’s kunnen per type verschillen. Het identificeren van deze risico’s en het treffen van beheersmaatregelen is daarbij van belang. Dat geldt in het bijzonder als algoritmen en AI bijdragen aan de totstandkoming van overheidsbesluitvorming en impactvolle beslissingen die burgers en ondernemingen raken. + +Door bij publieke inkoop van software met algoritmen en AI rekening te houden met vereisten die voorkomen uit wet- en regelgeving, toepassen van publieke waarden, het type algoritme of AI en de potentiële risico’s die ontstaan bij het gebruiken ervan, kunnen negatieve gevolgen worden voorkomen. Publieke inkoop speelt daarom een belangrijke rol bij de totstandkoming van verantwoord ontwikkelde algoritmen en AI en het gebruik daarvan door ambtenaren. +In dit deel van het Algoritmekader wordt nader ingegaan op deze vereisten. Er worden suggesties gedaan hoe deze vereisten kunnen worden nageleefd en welke rollen daarbij betrokken kunnen zijn. Waar mogelijk worden concrete voorbeelden uit de praktijk gegeven en zal worden aangegeven bij welk type algoritmen of AI dit relevant is. + +Het publiek inkopen van algoritmen en AI wordt ook gekoppeld aan de algoritme levenscyclus. Dit geeft een beeld van wanneer bepaalde vereisten en maatregelen, bij het ontwikkelen van algoritmen en AI, moeten worden geadresseerd. Door deze vereisten ook te vertalen naar het inkoopproces, zullen de rollen binnen het inkoopproces beter in staat zijn om te duiden wanneer en hoe dit kan worden geadresseerd. Dit moet bijdragen aan een goed samenspel met aanbieders, zodat de kansen van algoritmen en AI worden benut en de negatieve gevolgen worden voorkomen. + + +## Algoritme levenscyclus +Algoritmen en AI kunnen een grote impact hebben op onze maatschappij. Daarom is het van belang dat deze op een verantwoorde manier worden ontwikkeld en gebruikt. Het toepassen van de algoritme levenscyclus is hierover een bruikbare leidraad. De algoritme levenscyclus bestaat uit meerdere fasen. De werkzaamheden die noodzakelijk zijn om een verantwoord algoritme of AI te ontwikkelen, kunnen logisch worden gekoppeld aan deze fasen. +Deze levenscyclus kan worden gebruikt voor alle typen algoritmen en AI. Het verschilt uiteraard wel per type wat moet worden gedaan en dit is mede afhankelijk van de risico classificatie. Bij hoge risico toepassing zal meer moeten worden gedaan om risico’s te mitigeren dan als er sprake is van lage risico toepassingen. De levenscyclus geeft een bruikbaar overzicht voor leveranciers en opdrachtgevers wanneer welke werkzaamheden moeten worden uitgevoerd. Het laat ook zien welke werkzaamheden moeten zijn afgerond als algoritmen en AI in de markt mogen worden gezet en klaar zijn voor gebruik. + +Bij het publiek inkopen van software met bijbehorende algoritmen en AI zijn de wensen van de behoeftesteller en de doelstellingen van de organisatie van groot belang. Dit kan tot verschillende situaties leiden: + +• Een al ontwikkelde kant-en-klare oplossing voldoet direct aan deze wensen en doelstellingen; + +• Een al ontwikkelde oplossing moet eerst worden aangepast voordat deze kan worden gebruikt; + +• Er moet een nieuwe oplossing worden ontwikkeld om te voldoen aan de wensen. + +Deze inschatting is dus bepalend wat wel en niet van een product mag worden verwacht. Dit is relevant voor zowel de leverancier als de opdrachtgever. Het is aannemelijk dat als het om risicovolle (nog te ontwikkelen) algoritmen of AI gaat, de opdrachtgever een intensieve bijdrage moet leveren aan de samenwerking om het product te kunnen gebruiken. De opdrachtgever zal bijvoorbeeld moeten aangeven wat de juridische en ethische grenzen zijn van de uiteindelijk werking van het algoritme of AI. Als een kant-en-klare oplossing wordt afgenomen, dan zal de leverancier moeten laten zien dat de ontwikkelde algoritmen en AI voldoen aan alle vereisten en moet dit kunnen aantonen. + +De inzichten uit de algoritme levenscyclus kunnen ondersteunen bij bijvoorbeeld de behoeftestelling, het maken van make-or-buy beslissingen, de te hanteren aanbestedingsvorm, de totstandkoming van de selectie- en gunningseisen, contractspecificaties en de uitvoering en management van het contract. De algoritme levenscyclus kan worden geraadpleegd via het tabblad boven aan deze pagina. Per fase en per type algoritme of AI kan worden bekeken aan welke vereisten moet worden voldaan en welke beheersmaatregelen kunnen worden getroffen. + +## Vereisten + + + +## Maatregelen + + + +| **Vereisten** | **Uitleg** | **verplicht voor hoog-risico AI systemen (AI Act)** | **verplicht voor impactvolle algoritmes** | **verplicht voor niet-impactvolle algoritmes** | +|------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|:---------------------------------------------------:|:-----------------------------------------------:|:-----------------------------------------------:| +| [Archiveren](../../vereisten/archiefwet.md ) | De grondslag van de Archiefwet is dat, als de overheid de informatie bewaart die voortkomt uit de verschillende werkprocessen, aan de hand van deze informatie de werkprocessen kunnen worden gereconstrueerd en kan worden nagegaan hoe besluiten tot stand zijn gekomen. De oordeelsvorming over hoe zaken zijn verlopen kan dan worden overgelaten aan anderen | :material-check-bold:{ style="color: #4DB6AC" } | :material-check-bold:{ style="color: #4DB6AC" } | :material-check-bold:{ style="color: #4DB6AC" } | +| [Non-discriminatie](../../vereisten/non_discriminatie.md) | Verbod op ongelijke behandeling in gelijke omstandigheden. Discriminatie wegens godsdienst, levensovertuiging, politieke gezindheid, ras, geslacht of op welke grond dan ook, is niet toegestaan. | :material-check-bold:{ style="color: #4DB6AC" } | :material-check-bold:{ style="color: #4DB6AC" } | :material-check-bold:{ style="color: #4DB6AC" } | +| [Verbod schenden Auteursrechten](../../vereisten/auteursrechten.md) | Bepaalde vormen van algoritmen en AI worden ontwikkeld op basis van grote hoeveelheden data. Deze data wordt gebruikt voor het trainingen en testen van algoritmen en AI. Deze data mag geen inbreuk maken op Auteursrechten. Ook de gegenereerde output van algoritmen en AI mag geen inbreuk maken op deze rechten. | :material-check-bold:{ style="color: #4DB6AC" } | :material-check-bold:{ style="color: #4DB6AC" } | :material-check-bold:{ style="color: #4DB6AC" } | + +## Nuttige informatie +[Europese modelcontractbepalingen AI-systemen (hoog risico)](https://public-buyers-community.ec.europa.eu/sites/default/files/2023-10/AI_Procurement_Clauses_template_High_Risk%20NL.pdf) + +[Europese modelcontractbepalingen AI-systemen (niet hoog risico)](https://public-buyers-community.ec.europa.eu/sites/default/files/2023-10/AI_Procurement_Clauses_Template_NON_HIGH_RISK_NL.pdf) + +[Contractvoorwaarden voor algoritmen gemeente Amsterdam](https://www.amsterdam.nl/innovatie/digitalisering-technologie/algoritmen-ai/contractvoorwaarden-algoritmen/) + + + + + + + + + + + diff --git a/docs/bouwblokken/technische robuustheid en veiligheid/index.md b/docs/bouwblokken/technische robuustheid en veiligheid/index.md deleted file mode 100644 index 34e7bba9c0..0000000000 --- a/docs/bouwblokken/technische robuustheid en veiligheid/index.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -title: Technische robuustheid en veiligheid -summary: Hier staat een korte samenvatting over dit onderwerp ---- - -Hier komt een beschrijving van dit bouwblok \ No newline at end of file diff --git a/docs/bouwblokken/technische-robuustheid-en-veiligheid/index.md b/docs/bouwblokken/technische-robuustheid-en-veiligheid/index.md new file mode 100644 index 0000000000..32d12c102b --- /dev/null +++ b/docs/bouwblokken/technische-robuustheid-en-veiligheid/index.md @@ -0,0 +1,20 @@ +--- +title: Technische robuustheid en veiligheid +summary: Hier staat een korte samenvatting over dit onderwerp +icon: material/cog +--- + +Hier komt een beschrijving van dit bouwblok. + +!!! info "Opmerking" + + Dit bouwblok moet nog ontwikkeld worden. Deze pagina is dus nog niet volledig. Op deze pagina vind je mogelijk wel al onderdelen waar we aandacht aan willen besteden in dit bouwblok. + + +## Vereisten + + + +## Maatregelen + + \ No newline at end of file diff --git a/docs/bouwblokken/transparantie/index.md b/docs/bouwblokken/transparantie/index.md index 2cc84ccf87..66f7fb61e4 100644 --- a/docs/bouwblokken/transparantie/index.md +++ b/docs/bouwblokken/transparantie/index.md @@ -1,6 +1,21 @@ --- title: Transparantie summary: Hier staat een korte samenvatting over dit onderwerp +icon: material/magnify --- -Hier komt een beschrijving van dit bouwblok \ No newline at end of file +Hier komt een beschrijving van dit bouwblok. + +!!! info "Opmerking" + + Dit bouwblok moet nog ontwikkeld worden. Deze pagina is dus nog niet volledig. Op deze pagina vind je mogelijk wel al onderdelen waar we aandacht aan willen besteden in dit bouwblok. + + +## Vereisten + + + + +## Maatregelen + + \ No newline at end of file diff --git a/docs/index.md b/docs/index.md index 2b694d95c8..43e1c8baae 100644 --- a/docs/index.md +++ b/docs/index.md @@ -1,16 +1,42 @@ --- -title: Welkom bij het algoritmekader! +title: Algoritmekader summary: Het ministerie van BZK gaat aan de slag met een Algoritmekader. Het doel daarvan is om overheden op praktische wijze te ondersteunen, zodat zij op een wettige en ethisch verantwoorde wijze algoritmes en AI-systemen gebruiken. +hide: + - navigation --- -# Algoritmekader -Wil de overheid effectief en verantwoord gebruik kunnen maken van algoritmes en (daarmee) van Artificiële Intelligentie (AI), dan stelt dat eisen aan de manier waarop we daarmee omgaan. Tegelijkertijd zien we ook dat wat nodig is voor verantwoorde inzet enorm in ontwikkeling is, bijvoorbeeld door de snelle opkomst van (generatieve) AI. In relatief korte tijd komen er veel nieuwe mogelijkheden, maar ook nieuwe wetten, regels, normen en instrumenten. Veel overheden zien soms door de bomen het bos niet meer. Want hoe voldoe je aan de minimale normen? Wanneer is er sprake van verantwoorde inzet? En: welk instrument pas je wanneer toe? +# Welkom bij het algoritmekader! -Met het Algoritmekader werken we als overheid samen aan de antwoorden daarop. Dat doen we open; iedereen kan deze ontwikkeling volgen en eraan bijdragen. We maken bij de ontwikkeling gebruik van wat er al is: wetten, normen, regels, instrumenten en expertise. Het kader brengt dit samen op een logische manier. Zodat overheden in alle fasen van de levenscyclus van algoritmische en AI-toepassingen praktische handvatten hebben. Best practices, use cases en input van eindgebruikers en de toezichthouder helpen te komen tot een goed en gedragen Algoritmekader voor alle overheden. Het kader wordt een praktisch hulpmiddel om algoritmes en AI verantwoord te kunnen inzetten en te voldoen aan de minimale eisen die wet- en regelgeving daaraan stellen. +!!! tip "TL;DR" + + Algoritmes en AI bieden kansen, maar ook risico’s. Om ervoor te zorgen dat algoritmes en AI op een verantwoorde manier gebruikt worden en publieke waarden gewaarborgd zijn, maken we een interactief Algoritmekader, zodat organisaties in alle fasen van de levenscyclus van algoritmische en AI-toepassingen praktische handvatten hebben en weten aan welke vereisten zij zich moeten houden. + +De invloed van digitalisering is overal merkbaar in ons persoonlijke en zakelijke leven: het internet, smartphones, apps en online platformen zijn niet meer weg te denken uit ons dagelijks bestaan. +Dat geldt ook voor hoe de overheid haar werk doet. +Het gaat daarbij niet alleen om het aanbieden van digitale dienstverlening, maar ook om hoe de overheid beslissingen neemt. Algoritmes en AI bieden hierbij kansen, maar ook risico’s. + +Het is niet altijd herleidbaar wanneer algoritmes en AI gebruikt worden en of in die gevallen publieke waarden gewaarborgd zijn en hoe dat gebeurt. +Specifiek voor de overheid geldt dat het voor burgers en ondernemers duidelijk moet zijn wanneer een algoritme is gebruikt in besluitvorming, vooral wanneer dat potentieel impact heeft op diens situatie. +Bovendien is belangrijk dat beslissingen niet worden ervaren als ‘black box’. + +## Het Algoritmekader +Waardengedreven met algoritmes en AI werken, betekent dat er aandacht moet zijn voor zaken als rollen en verantwoordelijkheden (governance), risico’s op bias/discriminatie vroegtijdig detecteren, het veilig kunnen verweken van gegevens, de uitvoering van mensenrechtentoetsen (zoals IAMA’s) en adequate inkoopvoorwaarden afspreken voor algoritmes die de overheid inkoopt bij derden. + +Aan deze opsomming zie je al dat op een verantwoorde manier met AI en algoritmes werken niet de verantwoordelijkheid is of kan zijn van één enkele professional in een organisatie. +Het vraagt bewustzijn en adequaat optreden van alle betrokkenen. +Van data scientists en beleidsmedewerkers, tot inkopers en bestuurders. En voor elk van deze professionals zijn andere vereisten en maatregelen relevant. Daarom maken we een Algoritmekader dat voor elk van deze professionals op een praktische manier te raadplegen is. Waarbij ze niet stranden in een overload aan informatie, maar kunnen vinden wat voor hen nuttig is. + +Bij het bouwen aan het Algoritmekader maken we zoveel mogelijk gebruik van wat er al is: vereisten uit wet- en regelgeving en standaarden, maatregelen uit de praktijk (best practises) en instrumenten. Het kader brengt dit samen op een logische manier in een interactieve kennisbank. Zodat overheden in alle fasen van de levenscyclus van algoritmische en AI-toepassingen praktische handvatten hebben. Het kader wordt een praktisch hulpmiddel om algoritmes en AI verantwoord te kunnen inzetten en te voldoen aan de (minimale) vereisten die wet- en regelgeving daaraan stellen. + +De informatie in het Algoritmekader is logisch aan elkaar gekoppeld, zodat gebruikers interactief door de informatie kunnen navigeren. Er kan worden gestart vanuit de algoritme levenscyclus, de bouwblokken, de vereisten, maatregelen en rollen via de bovenstaande tabs. De informatie is 'gelaagd' opgebouwd. Dat betekent dat kan worden doorgeklikt om meer gedetailleerde informatie te raadplegen. De zoekbalk kan eveneens worden benut en spoedig is het mogelijk om exports naar PDF te maken van de geraadpleegde informatie. + +We werken open en samen aan het Algoritmekader; iedereen kan deze ontwikkeling volgen en eraan bijdragen. +We werken samen met verschillende overheidsorganisaties en kennisinstellingen. +Wil je hier meer over weten, lees dan verder op de pagina waar we dit toelichten. !!! info "Disclaimer" - Het Algoritmekader is nog volop in ontwikkeling. Op deze plek willen we vooral aan de slag gaan op een open en transparante wijze. Het is dus niet definitief. Dat betekent dat er dingen opstaan die niet af zijn en soms zelfs fout. Mocht er iets niet kloppen, laat het ons weten via [GitHub](https://github.com/MinBZK/Algoritmekader). + Het Algoritmekader is volop in ontwikkeling. Het is mogelijk dat je zaken in het kader kunt tegenkomen die niet af of soms zelfs fout kunnen zijn. Mocht je denken dat er iets niet klopt, laat het ons weten via [GitHub](https://github.com/MinBZK/Algoritmekader). We werken stap voor stap toe naar een inhoudelijk zo correct en dekkend mogelijk Algoritmekader. ## Eerdere versies van het algoritmekader Zie het [Implementatiekader](https://www.rijksoverheid.nl/documenten/rapporten/2023/06/30/implementatiekader-verantwoorde-inzet-van-algoritmen) dat in juni 2023 naar de Tweede Kamer is verzonden. diff --git a/docs/instrumenten/index.md b/docs/instrumenten/index.md index 5992d6fd5e..bdb4487d9a 100644 --- a/docs/instrumenten/index.md +++ b/docs/instrumenten/index.md @@ -7,7 +7,41 @@ summary: Hier staat een korte samenvatting over dit onderwerp Het Algoritmekader is nog volop in ontwikkeling. Op deze plek willen we vooral aan de slag gaan op een open en transparante wijze. Het is dus niet definitief. Dat betekent dat er dingen opstaan die niet af zijn en soms zelfs fout. Mocht er iets niet kloppen, laat het ons weten via [GitHub](https://github.com/MinBZK/Algoritmekader). +Er is een groot aanbod aan instrumenten die kunnen worden ingezet tijdens de ontwikkeling, gebruik, beoordeling en/of monitoring van algoritmes. Binnen het Algoritmekader worden instrumenten als volgt gedefinieerd: + +> Een instrument heeft als doel om op systematische wijze (een bepaald aspect van) verantwoorde en effectieve inzet van algoritmes te bevorderen en/of te evalueren. Een instrument bevat hulpmiddelen of richtlijnen om kenmerken, prestaties, effecten en risico’s van de inzet van algoritmes in kaart te brengen, te beoordelen en mogelijk te verbeteren[^1]. +[^1]: Definitie opgesteld door team Algoritmekader + +Instrumenten worden ontwikkeld door de verschillende partijen, zoals de overheid, wetenschap en industrie. +Bekende voorbeelden hiervan zijn het IAMA (UU) en het Toetsingskader Algoritmes (ARK). +Het team Algoritmekader heeft verschillende instrumenten geanalyseerd. +Wat opvalt is dat er (veel) overlap zit tussen deze instrumenten wat betreft doel en onderwerpen. +Het is voor gebruikers ook niet altijd duidelijk wanneer welk instrument kan of moeten worden ingezet en of het dan alle relevante aspecten van een onderwerp dekt. + +Door een beperkt aantal instrumenten op te nemen in het Algoritmekader, wordt geprobeerd om organisaties handvatten te bieden voor het inzetten van passende instrumenten. +Er is gekozen voor een aanpak waarbij bekende instrumenten worden gelinkt aan de verschillende bouwblokken van het Algoritmekader. +Een instrument zal worden opgenomen wanneer: + +- Deze bekend is onder een gebruikersgroep (van overheidsorganisaties/-medewerkers) die relatief groot genoeg is; +- Kan worden vastgesteld of het instrument reeds vaker wordt ingezet; +- Kan worden vastgesteld of ervaringen met het instrument overwegend positief zijn + +Bovendien is het van belang dat een instrument in ieder geval passend is voor algoritmes binnen het overheidsdomein. +Wanneer een gebruiker informatie zoekt binnen een bouwblok, zal (wanneer beschikbaar) worden verwezen naar het betreffende instrument dat onderwerpen uit het betreffende bouwblok ondersteunt. +Het is de bedoeling dat daarbij een korte beschrijving van het instrument wordt opgenomen. +Indien hier (op termijn) informatie over beschikbaar is, zullen ook voor- en nadelen worden opgenomen. +Een gebruiker kan er dan voor kiezen het betreffende instrument wel of niet in te zetten. + +Deze aanpak geniet de voorkeur boven het opnemen van alle bestaande/bekende instrumenten in het Algoritmekader. +Er zou dan alsnog sprake zijn van een grote hoeveelheid overlap tussen de verschillende instrumenten en onduidelijkheid opleveren voor gebruikers. +Een ander praktisch aspect is dat het niet voor elk instrument valt vast te stellen of het van goede kwaliteit is. +Een inhoudelijke analyse van elk individueel instrument zou ook een opdracht op zichzelf zijn, die op het moment van schrijven niet is uit te voeren binnen de ontwikkeling van het Algoritmekader. + +Tot slot is het belangrijk te benadrukken dat een instrument iets anders is dan een wettelijke verplichting. +Er bestaan wettelijke verplichtingen die de inzet van bepaalde instrumenten voorschrijven. Een bekend voorbeeld hiervan is de DPIA. Echter is de inzet van de meeste instrumenten niet verplicht en ligt de keuze meestal bij de gebruiker. + +## De instrumenten Het Algoritmekader is tot stand gekomen op basis van de volgende instrumenten: | **Naam instrument** | **Categorie** | **Jaartal uitgebracht** | **Verantwoordelijke organisatie** | **Ontwikkeld door** | **null** | **null** | **Ontwikkeld voor** | **null** | **null** | **Voor overheidsorganisatie specfiek** | **Volwassenheidsniveau** | **Locatie** | **Doel** | **null** | **null** | **null** | **Mogelijke wettelijke verplichting** | **Toelichting doel** | **Toepassing** | diff --git a/docs/javascripts/tablesort.js b/docs/javascripts/tablesort.js new file mode 100644 index 0000000000..c916015f04 --- /dev/null +++ b/docs/javascripts/tablesort.js @@ -0,0 +1,6 @@ +document$.subscribe(function() { + var tables = document.querySelectorAll("article table:not([class])") + tables.forEach(function(table) { + new Tablesort(table) + }) + }) \ No newline at end of file diff --git a/docs/levenscyclus/Levenscyclus vergelijkingstabel.pdf b/docs/levenscyclus/Levenscyclus vergelijkingstabel.pdf deleted file mode 100644 index 26a867405f..0000000000 Binary files a/docs/levenscyclus/Levenscyclus vergelijkingstabel.pdf and /dev/null differ diff --git a/docs/levenscyclus/archiveren.md b/docs/levenscyclus/archiveren.md index 0c13deb750..b7c0e1b37d 100644 --- a/docs/levenscyclus/archiveren.md +++ b/docs/levenscyclus/archiveren.md @@ -1,12 +1,17 @@ --- -tags: - - archiveren +title: Archiveren --- -# Archiveren - Wanneer het AI-model niet langer nodig is of wordt vervangen door een verbeterde versie, wordt het gearchiveerd. Dit omvat het behouden van documentatie en eventuele relevante artefacten. +## Vereisten + + + +## Maatregelen + + + !!! info "Disclaimer" Het Algoritmekader is nog volop in ontwikkeling. Op deze plek willen we vooral aan de slag gaan op een open en transparante wijze. Het is dus niet definitief. Dat betekent dat er dingen opstaan die niet af zijn en soms zelfs fout. Mocht er iets niet kloppen, laat het ons weten via [GitHub](https://github.com/MinBZK/Algoritmekader). diff --git a/docs/levenscyclus/data verkenning en data preparatie.md b/docs/levenscyclus/dataverkenning-en-datapreparatie.md similarity index 71% rename from docs/levenscyclus/data verkenning en data preparatie.md rename to docs/levenscyclus/dataverkenning-en-datapreparatie.md index 990b20d7fb..c38884732d 100644 --- a/docs/levenscyclus/data verkenning en data preparatie.md +++ b/docs/levenscyclus/dataverkenning-en-datapreparatie.md @@ -1,11 +1,17 @@ --- -tags: - - data verkenning en preparatie +title: Dataverkenning en datapreparatie --- -# Data verkenning en preparatie In deze fase worden relevante datasets geidentificeerd en genaliseerd om inziichten te krijgen. Daarna worden de gegevens verzameld, gereinigd en voorbereid voor gebruik. +## Vereisten + + + +## Maatregelen + + + !!! info "Disclaimer" Het Algoritmekader is nog volop in ontwikkeling. Op deze plek willen we vooral aan de slag gaan op een open en transparante wijze. Het is dus niet definitief. Dat betekent dat er dingen opstaan die niet af zijn en soms zelfs fout. Mocht er iets niet kloppen, laat het ons weten via [GitHub](https://github.com/MinBZK/Algoritmekader). diff --git a/docs/levenscyclus/implementatie.md b/docs/levenscyclus/implementatie.md index ec1eea65a4..abe9683997 100644 --- a/docs/levenscyclus/implementatie.md +++ b/docs/levenscyclus/implementatie.md @@ -1,11 +1,17 @@ --- -tags: - - implementatie +title: Implementatie --- -# Implementatie In deze fase wordt het AI-model in de praktijk gebracht en geïntegreerd in het bedrijfsproces. Het wordt operationeel en begint te werken met echte gegevens. +## Vereisten + + + +## Maatregelen + + + !!! info "Disclaimer" Het Algoritmekader is nog volop in ontwikkeling. Op deze plek willen we vooral aan de slag gaan op een open en transparante wijze. Het is dus niet definitief. Dat betekent dat er dingen opstaan die niet af zijn en soms zelfs fout. Mocht er iets niet kloppen, laat het ons weten via [GitHub](https://github.com/MinBZK/Algoritmekader). diff --git a/docs/levenscyclus/index.md b/docs/levenscyclus/index.md index c889a49a25..60e2ee098e 100644 --- a/docs/levenscyclus/index.md +++ b/docs/levenscyclus/index.md @@ -1,10 +1,17 @@ -# Levenscyclus +--- +title: Levenscyclus +icon: material/reload +--- !!! info "Disclaimer" Het Algoritmekader is nog volop in ontwikkeling. Op deze plek willen we vooral aan de slag gaan op een open en transparante wijze. Het is dus niet definitief. Dat betekent dat er dingen opstaan die niet af zijn en soms zelfs fout. Mocht er iets niet kloppen, laat het ons weten via [GitHub](https://github.com/MinBZK/Algoritmekader). -Algoritmen en kunstmatige intelligentie zijn ‘producten’ die door overheidsinstellingen kunnen worden gebruikt om de uitvoering van wettelijke taken te ondersteunen. Deze producten doorlopen een zogenaamde levenscyclus. Een algoritme wordt ontwikkeld en na enige tijd van gebruik kan worden besloten het gebruik ervan te beëindigen. Een krachtig aspect van de ‘algoritme levenscyclus’ is dat de levenscyclus voor alle gevallen nagenoeg hetzelfde is. Daarmee is het bruikbaar als leidraad om relevante informatie te structureren en te communiceren. Het is tegelijkertijd een brug tussen de technische kant van het product en de wereld van gebruikers. Om tot een wettige, ethisch verantwoorde en robuuste oplossing te komen zullen in elke fase van de algoritme levenscyclus specifieke handelingen of maatregelen moeten worden getroffen. +Algoritmen en kunstmatige intelligentie zijn ‘producten’ die door overheidsinstellingen kunnen worden gebruikt om de uitvoering van wettelijke taken te ondersteunen. Deze producten doorlopen een zogenaamde levenscyclus. Een algoritme wordt ontwikkeld en na enige tijd van gebruik kan worden besloten het gebruik ervan te beëindigen. + +Een krachtig aspect van de ‘algoritme levenscyclus’ is dat de levenscyclus voor alle gevallen nagenoeg hetzelfde is. Daarmee is het bruikbaar als leidraad om relevante informatie te structureren en te communiceren. Het is tegelijkertijd een brug tussen de technische kant van het product en de wereld van gebruikers. + +Om tot een wettige, ethisch verantwoorde en robuuste oplossing te komen zullen in elke fase van de algoritme levenscyclus specifieke handelingen of maatregelen moeten worden getroffen. ![Levenscyclus](levenscyclus.jpg) diff --git a/docs/levenscyclus/monitoren.md b/docs/levenscyclus/monitoren.md index 69e454a5f5..28dba20b84 100644 --- a/docs/levenscyclus/monitoren.md +++ b/docs/levenscyclus/monitoren.md @@ -1,11 +1,18 @@ --- -tags: - - monitoren +title: Monitoren --- -# Monitoren Het AI-model wordt voortdurend gemonitord om ervoor te zorgen dat het blijft presteren zoals verwacht. Eventuele afwijkingen of degradatie van prestaties worden geïdentificeerd en aangepakt. +## Vereisten + + + +## Maatregelen + + + + !!! info "Disclaimer" Het Algoritmekader is nog volop in ontwikkeling. Op deze plek willen we vooral aan de slag gaan op een open en transparante wijze. Het is dus niet definitief. Dat betekent dat er dingen opstaan die niet af zijn en soms zelfs fout. Mocht er iets niet kloppen, laat het ons weten via [GitHub](https://github.com/MinBZK/Algoritmekader). diff --git a/docs/levenscyclus/ontwerp.md b/docs/levenscyclus/ontwerp.md index 53be1ee2e0..51ecdb185d 100644 --- a/docs/levenscyclus/ontwerp.md +++ b/docs/levenscyclus/ontwerp.md @@ -1,11 +1,18 @@ --- -tags: - - ontwerp +title: Ontwerp --- -# Ontwerp Hier wordt het conceptuele ontwerp van het AI-systeem gemaakt. Dit omvat het bepalen van de architectuur, algoritmen en benodigde middelen voor de implementatie. +## Vereisten + + + +## Maatregelen + + + + !!! info "Disclaimer" Het Algoritmekader is nog volop in ontwikkeling. Op deze plek willen we vooral aan de slag gaan op een open en transparante wijze. Het is dus niet definitief. Dat betekent dat er dingen opstaan die niet af zijn en soms zelfs fout. Mocht er iets niet kloppen, laat het ons weten via [GitHub](https://github.com/MinBZK/Algoritmekader). diff --git a/docs/levenscyclus/ontwikkelen.md b/docs/levenscyclus/ontwikkelen.md index 13714ca04a..5d47ea1052 100644 --- a/docs/levenscyclus/ontwikkelen.md +++ b/docs/levenscyclus/ontwikkelen.md @@ -1,11 +1,18 @@ --- -tags: - - ontwikkelen +title: Ontwikkelen --- -# Ontwikkelen Dit is de fase waarin het AI-model of algoritme wordt gebouwd. Als het gaat om AI-modellen, omvat het trainen van modellen met behulp van de voorbereide gegevens. +## Vereisten + + + +## Maatregelen + + + + !!! info "Disclaimer" Het Algoritmekader is nog volop in ontwikkeling. Op deze plek willen we vooral aan de slag gaan op een open en transparante wijze. Het is dus niet definitief. Dat betekent dat er dingen opstaan die niet af zijn en soms zelfs fout. Mocht er iets niet kloppen, laat het ons weten via [GitHub](https://github.com/MinBZK/Algoritmekader). diff --git a/docs/levenscyclus/probleemanalyse.md b/docs/levenscyclus/probleemanalyse.md index 4842a5818d..bba4dfb26f 100644 --- a/docs/levenscyclus/probleemanalyse.md +++ b/docs/levenscyclus/probleemanalyse.md @@ -1,11 +1,18 @@ --- -tags: - - probleemanalyse +title: Probleemanalyse --- -# Probleemanalyse In deze fase wordt het probleem gedefinieerd dat moet worden opgelost. Het omvat het begrijpen van de vereisten, doelstellingen en beperkingen van het probleem. +## Vereisten + + + +## Maatregelen + + + + !!! info "Disclaimer" Het Algoritmekader is nog volop in ontwikkeling. Op deze plek willen we vooral aan de slag gaan op een open en transparante wijze. Het is dus niet definitief. Dat betekent dat er dingen opstaan die niet af zijn en soms zelfs fout. Mocht er iets niet kloppen, laat het ons weten via [GitHub](https://github.com/MinBZK/Algoritmekader). diff --git a/docs/levenscyclus/validatie.md b/docs/levenscyclus/validatie.md index b8aee6df42..70e5b0e2b4 100644 --- a/docs/levenscyclus/validatie.md +++ b/docs/levenscyclus/validatie.md @@ -1,11 +1,18 @@ --- -tags: - - validatie +title: Validatie --- -# Validatie Nadat het model is ontwikkeld, wordt het gevalideerd om ervoor te zorgen dat het goed presteert op nieuwe, niet eerder geziene gegevens. Dit omvat het evalueren van de nauwkeurigheid en prestaties van het model. Validatie is een interatief proces dat plaatsvindt op verschillende momenten van de levenscyclus. +## Vereisten + + + +## Maatregelen + + + + !!! info "Disclaimer" Het Algoritmekader is nog volop in ontwikkeling. Op deze plek willen we vooral aan de slag gaan op een open en transparante wijze. Het is dus niet definitief. Dat betekent dat er dingen opstaan die niet af zijn en soms zelfs fout. Mocht er iets niet kloppen, laat het ons weten via [GitHub](https://github.com/MinBZK/Algoritmekader). diff --git a/docs/maatregelen/index.md b/docs/maatregelen/index.md new file mode 100644 index 0000000000..20eba77af3 --- /dev/null +++ b/docs/maatregelen/index.md @@ -0,0 +1,36 @@ +--- +title: Maatregelen +--- + +De maatregelen die zijn opgenomen in het Algoritmekader geven aan 'hoe' overheidsorganisaties invulling *kunnen* geven aan specifieke vereisten. +Deze laag is aan het Algoritmekader toegevoegd, omdat het organisaties handvatten kan geven om zelf op een betekenisvolle wijze invulling te geven aan de vereisten. +In het Algoritmekader zijn al deze maatregelen gekoppeld aan de levenscyclus van een algoritme, vereisten en rollen. +Daarmee is inzichtelijk wanneer en met wie deze maatregelen logischerwijs in stelling kunnen worden gebracht. +Organisaties zijn niet verplicht om deze maatregelen te volgen, hoewel ze soms dermate sterk aan de vereisten zijn gekoppeld of voortkomen uit standaarden dat ze praktisch gezien wel moeten worden toegepast. + +Een maatregel kan bijvoorbeeld zijn: + +> 'onderzoek het ontwikkelde algoritme op onbewuste vooringenomenheid (discriminatie) door middel van een bias-analyse'. + +Deze maatregel geeft invulling aan het vereiste van 'non-discriminatie'. +Er kunnen meerdere maatregelen zijn die invulling geven aan het vereiste van non-discriminatie. +Het is ook denkbaar dat bepaalde maatregelen aan meerdere vereisten kunnen worden gekoppeld. +Dit moet organisaties helpen om met hun beschikbare middelen effectief en gericht te komen tot een verantwoorde ontwikkeling en inzet van algoritmes en AI. + +Om tot een overzicht van de maatregelen te komen is naar een aantal waardevolle bronnen gekeken. +Het [Toetsingskader Algoritmes](https://www.rekenkamer.nl/onderwerpen/algoritmes-digitaal-toetsingskader) van de Algemene Rekenkamer en het [Onderzoekskader algoritmes](https://www.rijksoverheid.nl/documenten/rapporten/2023/07/11/onderzoekskader-algoritmes-adr-2023)van de Auditdienst Rijk zijn daar goede voorbeelden van. +Daarnaast is ook de kennis van experts binnen en buiten het team Algoritmekader toegevoegd om te kunnen duiden welke maatregelen in de praktijk kunnen worden getroffen om te voldoen aan de vereisten. + +## Standaarden +Op nationaal, Europees en internationaal niveau wordt momenteel gewerkt aan de totstandkoming van standaarden. +Deze standaarden worden opgesteld door gespecialiseerde organisaties (NEN, JTC21 en ISO) en ondergaan een uitgebreid proces. +Dit proces zorgt uiteindelijk voor brede consensus voor de standaarden. +Het naleven van deze standaarden door organisaties levert een vermoeden van conformiteit op, ofwel, door het naleven van standaarden is de kans groot dat organisaties voldoen aan de vereisten. +De standaarden worden daarom een waardevolle bron voor het Algoritmekader. +Waar mogelijk zullen de standaarden onderdeel worden van het Algoritmekader en tot uiting komen in de laag van 'maatregelen'. +Er zal een verwijzing worden gemaakt naar de betreffende standaard. +Hierover moeten nog nadere afspraken worden gemaakt met deze standaardisatieorganisaties. + + +!!! note "Opmerking" + Hier volgt in een volgende versie een opsomming van de maatregelen. \ No newline at end of file diff --git a/docs/normen/conformiteitsbeoordeling/index.md b/docs/normen/conformiteitsbeoordeling/index.md deleted file mode 100644 index a5b4049c6b..0000000000 --- a/docs/normen/conformiteitsbeoordeling/index.md +++ /dev/null @@ -1,8 +0,0 @@ ---- -title: Conformiteitsbeoordeling -summary: Hier staat een korte samenvatting over dit onderwerp ---- - -!!! info "Disclaimer" - - Het Algoritmekader is nog volop in ontwikkeling. Op deze plek willen we vooral aan de slag gaan op een open en transparante wijze. Het is dus niet definitief. Dat betekent dat er dingen opstaan die niet af zijn en soms zelfs fout. Mocht er iets niet kloppen, laat het ons weten via [GitHub](https://github.com/MinBZK/Algoritmekader). \ No newline at end of file diff --git a/docs/normen/conformiteitsbeoordeling/n.t.b..md b/docs/normen/conformiteitsbeoordeling/n.t.b..md deleted file mode 100644 index 47501bafb1..0000000000 --- a/docs/normen/conformiteitsbeoordeling/n.t.b..md +++ /dev/null @@ -1,39 +0,0 @@ ---- -title: n.t.b. -summary: hier staat een korte samenvatting over de norm ---- - -!!! info "Disclaimer" - - Het Algoritmekader is nog volop in ontwikkeling. Op deze plek willen we vooral aan de slag gaan op een open en transparante wijze. Het is dus niet definitief. Dat betekent dat er dingen opstaan die niet af zijn en soms zelfs fout. Mocht er iets niet kloppen, laat het ons weten via [GitHub](https://github.com/MinBZK/Algoritmekader). - - -## Norm -** ** - -## Risico -In progress - -## Bronnen - -#### Wet- en regelgeving - - -#### Toetsingskaders - - -## Toelichting - - -## Hoe? - -## Maatregelen - -## Rollen -Hieronder beschrijven we welke rollen er betrokken kunnen worden bij de uitvoering van deze norm. - - -## Best practices - - - diff --git a/docs/normen/data/index.md b/docs/normen/data/index.md deleted file mode 100644 index 3ae192d81d..0000000000 --- a/docs/normen/data/index.md +++ /dev/null @@ -1,8 +0,0 @@ ---- -title: Data - ---- - -!!! info "Disclaimer" - - Het Algoritmekader is nog volop in ontwikkeling. Op deze plek willen we vooral aan de slag gaan op een open en transparante wijze. Het is dus niet definitief. Dat betekent dat er dingen opstaan die niet af zijn en soms zelfs fout. Mocht er iets niet kloppen, laat het ons weten via [GitHub](https://github.com/MinBZK/Algoritmekader). \ No newline at end of file diff --git a/docs/normen/data/n.t.b..md b/docs/normen/data/n.t.b..md deleted file mode 100644 index 802f40b6a0..0000000000 --- a/docs/normen/data/n.t.b..md +++ /dev/null @@ -1,37 +0,0 @@ ---- -title: n.t.b. -summary: hier staat een korte samenvatting over norm 1 ---- - -!!! info "Disclaimer" - - Het Algoritmekader is nog volop in ontwikkeling. Op deze plek willen we vooral aan de slag gaan op een open en transparante wijze. Het is dus niet definitief. Dat betekent dat er dingen opstaan die niet af zijn en soms zelfs fout. Mocht er iets niet kloppen, laat het ons weten via [GitHub](https://github.com/MinBZK/Algoritmekader). - - -## Norm -** ** - -## Risico -In progress - -## Bronnen - -#### Wet- en regelgeving - - -#### Toetsingskaders - - -## Toelichting - - -## Maatregelen - -## Rollen -Hieronder beschrijven we welke rollen er betrokken kunnen worden bij de uitvoering van deze norm. - - -## Best practices - - - diff --git a/docs/normen/duurzaamheid/Bewerkstellig duurzaamheid.md b/docs/normen/duurzaamheid/Bewerkstellig duurzaamheid.md deleted file mode 100644 index 78056256c9..0000000000 --- a/docs/normen/duurzaamheid/Bewerkstellig duurzaamheid.md +++ /dev/null @@ -1,43 +0,0 @@ ---- -title: Bewerkstellig duurzaamheid - ---- - -!!! info "Disclaimer" - - Het Algoritmekader is nog volop in ontwikkeling. Op deze plek willen we vooral aan de slag gaan op een open en transparante wijze. Het is dus niet definitief. Dat betekent dat er dingen opstaan die niet af zijn en soms zelfs fout. Mocht er iets niet kloppen, laat het ons weten via [GitHub](https://github.com/MinBZK/Algoritmekader). - - -## Norm -**Bewerkstellig duurzaamheid; ook in de ontwikkeling van algoritmen.** - -## Risico -De impact van het model op het milieu is disproportioneel hoog. - -## Bronnen - -#### Wet- en regelgeving -- [AI Act](https://artificialintelligenceact.eu/wp-content/uploads/2023/08/AI-Mandates-20-June-2023.pdf), recital 46a - -#### Toetsingskaders -- SDG 11 -- EC/AI HLEG April 2019 hoofdstuk II 1.6 -- ADR DM.24 - -## Toelichting -Het trainen van een neuraal netwerk kost bijv. meer energie dan een beslisboom. Er is meegenomen of de hoeveelheid gebruikte energie proportioneel is voor het doel dat van het algoritme. Daarnaast is nagedacht hoe de milieu-impact bij de ontwikkeling zo laag mogelijk kan worden gehouden. Parameters worden bijv. tijdens het trainen niet via trial and error bepaald als deze ook afgeleid kunnen worden. - -AI-systemen moeten worden ontwikkeld en gebruikt op een duurzame en milieuvriendelijke manier, evenals op een manier die ten goede komt aan alle mensen, terwijl de langetermijneffecten op het individu, de samenleving en de democratie worden gecontroleerd en beoordeeld. - -## Maatregelen -Aanbeveling; geen maatregel: -Inventariseer de impact op het milieu en neem deze mee bij de modelkeuze en ontwikkeling. Maak de consequentie expliciet en leg deze op het juiste niveau vast. Neem indien nodig tegenmaatregelen. Een ultimate tegenmaatregel kan zijn het (tijdelijk) stopzetten van het algoritme. - -## Rollen -Hieronder beschrijven we welke rollen er betrokken kunnen worden bij de uitvoering van deze norm. - - -## Best practices - - - diff --git a/docs/normen/duurzaamheid/index.md b/docs/normen/duurzaamheid/index.md deleted file mode 100644 index 110cfdbe73..0000000000 --- a/docs/normen/duurzaamheid/index.md +++ /dev/null @@ -1,8 +0,0 @@ ---- -title: Duurzaamheid - ---- - -!!! info "Disclaimer" - - Het Algoritmekader is nog volop in ontwikkeling. Op deze plek willen we vooral aan de slag gaan op een open en transparante wijze. Het is dus niet definitief. Dat betekent dat er dingen opstaan die niet af zijn en soms zelfs fout. Mocht er iets niet kloppen, laat het ons weten via [GitHub](https://github.com/MinBZK/Algoritmekader). diff --git a/docs/normen/fundamentele rechten/Non discriminatie.md b/docs/normen/fundamentele rechten/Non discriminatie.md deleted file mode 100644 index fe746ac64c..0000000000 --- a/docs/normen/fundamentele rechten/Non discriminatie.md +++ /dev/null @@ -1,93 +0,0 @@ ---- -title: Non discriminatie - ---- - -!!! info "Disclaimer" - - Het Algoritmekader is nog volop in ontwikkeling. Op deze plek willen we vooral aan de slag gaan op een open en transparante wijze. Het is dus niet definitief. Dat betekent dat er dingen opstaan die niet af zijn en soms zelfs fout. Mocht er iets niet kloppen, laat het ons weten via [GitHub](https://github.com/MinBZK/Algoritmekader). - - -## Norm -**Verbod op ongelijke behandeling in gelijke omstandigheden. Discriminatie wegens godsdienst, levensovertuiging, politieke gezindheid, ras, geslacht of op welke grond dan ook, is niet toegestaan.** - -## Risico -- Toepassing van het model leidt tot discriminatie op basis van beschermde persoonskenmerken. - -- Andere data dan beschermde persoonskenmerken leiden tot discriminatie in de uitkomsten. - -- Het gebruik van proxy variabelen leidt tot indirecte discriminatatie. - -- Bias in het algoritme leidt tot discriminatie - -## Bronnen - -#### Wet- en regelgeving -- Grondwet Art. 1 -- EVRM Art. 1 en 14, jo. 21 HvEU jo. 1 GW -- Algemene wet gelijke behandeling, Protocol 12 2.2, Artikel 1 lid 1 sub c -- Aritkel 9 AVG - -#### Toetsingskaders -EC/AI HLEG April 2019 - hoofdstuk II. 1.1, 1.5 - -## Toelichting -- Er is sprake van een objectieve rechtvaardiging als sprake is van een legitiem doel en het middel dat wordt gebruikt om het doel te bereiken is passend, noodzakelijk en evenredig. Om te bepalen of een algoritme verboden onderscheid maakt, moet worden bekeken of door het algoritme sprake is van een ongelijke behandeling van een persoon of groep personen in verhouding tot anderen in een vergelijkbare situatie. - -Verdacht onderscheid op basis van onder andere: - -- Burgerlijke staat -- Handicap/chronische ziekte -- Geslacht (incl. genderidentiteit) -- Godsdienst -- Leeftijd -- Levensovertuiging -- Nationaliteit -- Politieke gezindheid -- Ras/etniciteit -- Seksuele gerichtheid - -- Onvoldoende representativiteit in de trainingsdata kan leiden tot ongelijke uitkomsten -Onvoldoende representativiteit in de trainingsdata kan leiden tot ongelijke uitkomsten. Kan bij voorspellende algoritmes ook leiden tot ongewenste feedbackloops. (Gebruik van data van bijvoorbeeld vroegere surveillances en criminaliteitscijfers in nieuwe algoritmes kan leiden tot link aan wijken, personen met een immigratieachtergrond. Indien het geval, is dit niet representatief en neutraal) - -- Ogenschijnlijk neutrale data die op het eerste gezicht geen enkele link hebben met afkomst of nationaliteit kunnen leiden tot indirect onderscheid op grond van ras of nationaliteit. Voorbeelden zijn postcode, hoogte van inkomen, hoogte van inkomensafhankelijke toeslagen, kinderopvang door een gastouderbureau met een ‘homogeen’ klantenbestand, een familielid in het buitenland, kenteken en laaggeletterdheid. -(ook black box opties zoal bias mitigation met adversarial networks zijn mogelijk) - -- Van belang bij de gemete bias die duidt op discriminatie is het kijken vanuit wetgeving én wenselijkheid. -- Eerst moet duidelijk worden wat eerlijk is voor het proces. Dan kunnen fairness metrics worden opgesteld om eerlijkheid te meten -- Documentatie van de aanpak van bias bevordert de controleerbaarheid. -- De keuze voor een gewenste prestatie per groep is een ethische afweging. -- Bias in de trainingsdata kan leiden tot bias in het model. Regels in het model kan leiden tot bias. De beslissing van de eindgebruiker kan leiden tot bias. Bias in de inputdata kan doorwerken tot bias in de uitkomst. -- Een model kan gemiddeld goed presteren, maar kan voor bepaalde subgroepen die minder in de testset aanwezig waren verkeerde uitkomsten geven. Een ongebalanceerde dataset kan ervoor zorgen dat het model minder goed presteert voor sommige subgroepen in de data. -- Tijdens de ontwikkeling van het model kunnen methoden om bias te corrigeren helpen om uiteindelijk aan de prestatiecriteria te voldoen. Testresultaten op de uitkomtstbias tijdens het ontwikkelen zijn ook wenselijk. Merk op dat voor het meten van uitkomst bias alleen de inputdata en uitkomst van het model nodig is. Uitkomstbias kan zonder gelabelde dataset gemeten worden. - - -## Maatregelen -- Stel vast of bij het doel, design of de uitkomst van het algoritme sprake is van mogelijk verdacht (direct of indirect) onderscheid. Maak bij de uitkomst ook gebruik van controlevariabelen (bijvoorbeeld nationaliteit/ras). Stel vervolgens vast of dit leid tot benadeling. Bepaal of er goede redenen zijn voor het maken van onderscheid zoals een wettelijke uitzondering of een objectieve rechtvaardiging. Maak de consequentie expliciet en leg deze op het juiste niveau vast. Neem indien nodig tegenmaatregelen. Een ultimate tegenmaatregel kan zijn het (tijdelijk) stopzetten van het algoritme. -- Zorg voor gelijke mate van vertegenwoordiging relevante groepen. Selecteer een afgebakende toepassing om het systeem te testen; zorg dat deze afgebakende toepassing representatief is voor het gehele domein waarop het AI-systeem later wordt ingezet. Maak de consequentie expliciet en leg deze op het juiste niveau vast. Neem indien nodig tegenmaatregelen. Een ultimate tegenmaatregel kan zijn het (tijdelijk) stopzetten van het algoritme. -- Documenteer de mate van afhankelijkheid van historische data. Weeg af of de geconstateerde afhankelijkheid wenselijk is en of deze op discriminatie duidt. Maak de consequentie expliciet en leg deze op het juiste niveau vast. Neem indien nodig tegenmaatregelen. Een ultimate tegenmaatregel kan zijn het (tijdelijk) stopzetten van het algoritme. -- Identificeer bij een onrechtmatigheid in de uitkomst van het algoritme ogenschijnlijk neutrale data (proxies). Maak de consequentie expliciet en leg deze op het juiste niveau vast. Neem indien nodig tegenmaatregelen. Een ultimate tegenmaatregel kan zijn het (tijdelijk) stopzetten van het algoritme. -- Beoordeel of de geconstateerde bias wenselijk is en of deze op discriminatie duidt. Maak de consequentie expliciet en leg deze op het juiste niveau vast. Neem indien nodig tegenmaatregelen. Een ultimate tegenmaatregel kan zijn het (tijdelijk) stopzetten van het algoritme. -- Documenteer in de funtionele eisen de definitie van acceptabele bias. In de documentatie waarin deze eisen tot meetbare prestatiecriteria zijn uitgewerkt is te vinden welke fairness metrics hierbij horen. Maak de consequenties expliciet. -- Documenteer in de functionele eisen de methoden van voorkomen, detecteren en corrigeren van bias. Maak de consequenties expliciet. -- Documenteer in de functionele eisen de doelstelling voor en definitie van de verschillende groepen en gewenste prestatie van het model voor deze groepen. Maak de consequenties expliciet en bespreek dit in het ethisch gesprek. -- Documenteer de mate van bias in de (trainings)data, dataverzameling en het model. Maak de consequentie expliciet en leg deze op het juiste niveau vast. Neem indien nodig tegenmaatregelen. Een ultimate tegenmaatregel kan zijn het (tijdelijk) stopzetten van het algoritme. -- Beoordeel tijdens de ontwikkeling van het model of een verschil bestaat tussen prestatie van het model voor verschillende subgroepen. Maak de consequentie expliciet en leg deze op het juiste niveau vast. Neem indien nodig tegenmaatregelen. Een ultimate tegenmaatregel kan zijn het (tijdelijk) stopzetten van het algoritme. -- Beoordeel of de uitkomstbias van de productiedata voor de verschillende subgroepen voldoet aan de productiecriteria. Doe dit ook met een testset gedurende het ontwikkelproces. Maak de consequentie expliciet en leg deze op het juiste niveau vast. Neem indien nodig tegenmaatregelen. Een ultimate tegenmaatregel kan zijn het (tijdelijk) stopzetten van het algoritme. - - -## Rollen -Hieronder beschrijven we welke rollen er betrokken kunnen worden bij de uitvoering van deze norm. - - -## Best practices -Het is aan te bevelen om hiervoor de [handreiking non-discriminatie by design](https://open.overheid.nl/documenten/ronl-3f9fa69c-acf4-444d-96e1-5c48df00eb3c/pdf) te gebruiken. - - - -Indien risicoprofielen worden ingezet en bestaat een risico op discriminatie, dan kan de [Beslisboom van het College van de Rechten van de Mens](https://publicaties.mensenrechten.nl/file/6ac9f9ec-c837-23b1-0032-5c2e684db188.pdf) worden gebruikt. - - - - - diff --git a/docs/normen/fundamentele rechten/index.md b/docs/normen/fundamentele rechten/index.md deleted file mode 100644 index 317ef1910a..0000000000 --- a/docs/normen/fundamentele rechten/index.md +++ /dev/null @@ -1,8 +0,0 @@ ---- -title: Fundamentele rechten - ---- - -!!! info "Disclaimer" - - Het Algoritmekader is nog volop in ontwikkeling. Op deze plek willen we vooral aan de slag gaan op een open en transparante wijze. Het is dus niet definitief. Dat betekent dat er dingen opstaan die niet af zijn en soms zelfs fout. Mocht er iets niet kloppen, laat het ons weten via [GitHub](https://github.com/MinBZK/Algoritmekader). \ No newline at end of file diff --git a/docs/normen/governance/Aantoonbaarheid.md b/docs/normen/governance/Aantoonbaarheid.md deleted file mode 100644 index 3c302d07cc..0000000000 --- a/docs/normen/governance/Aantoonbaarheid.md +++ /dev/null @@ -1,42 +0,0 @@ ---- -title: Aantoonbaarheid - ---- - -!!! info "Disclaimer" - - Het Algoritmekader is nog volop in ontwikkeling. Op deze plek willen we vooral aan de slag gaan op een open en transparante wijze. Het is dus niet definitief. Dat betekent dat er dingen opstaan die niet af zijn en soms zelfs fout. Mocht er iets niet kloppen, laat het ons weten via [GitHub](https://github.com/MinBZK/Algoritmekader). - - -## Norm -**Technische documentatie moet worden opgesteld op een manier die aantoont dat het hoog risico AI-systeem voldoet aan de eisen, en de nationale toezichthoudende autoriteiten en aangemelde instanties voorzien van de nodige informatie om de naleving van de eisen voor het AI-systeem te beoordelen.** - -## Risico -In progress - -## Bronnen - -#### Wet- en regelgeving -- [AI Act](https://artificialintelligenceact.eu/wp-content/uploads/2023/08/AI-Mandates-20-June-2023.pdf), artikel 11 - - - -#### Toetsingskaders - - -## Toelichting - - -## Maatregelen -Hierbij kan verwezen worden naar informatie over het algoritme in het [Algoritmeregister](https://algoritmes.overheid.nl/nl). - -## Rollen -Hieronder beschrijven we welke rollen er betrokken kunnen worden bij de uitvoering van deze norm. - - - -## Best practices -Voorbeeld toevoegen van hoe er in een brief aan een burger verwezen wordt naar het [Algoritmeregister](https://algoritmes.overheid.nl/nl). - - - diff --git a/docs/normen/governance/Archiveren.md b/docs/normen/governance/Archiveren.md deleted file mode 100644 index 1fc4910c73..0000000000 --- a/docs/normen/governance/Archiveren.md +++ /dev/null @@ -1,36 +0,0 @@ ---- -title: Archiveren - ---- - -!!! info "Disclaimer" - - Het Algoritmekader is nog volop in ontwikkeling. Op deze plek willen we vooral aan de slag gaan op een open en transparante wijze. Het is dus niet definitief. Dat betekent dat er dingen opstaan die niet af zijn en soms zelfs fout. Mocht er iets niet kloppen, laat het ons weten via [GitHub](https://github.com/MinBZK/Algoritmekader). - - -## Norm -**Het algoritme is in goede geordende staat en voldoet aan de Archiefwet 1995, dit betekent dat het algoritme duurzaam toegankelijk is (vindbaar, beschikbaar, leesbaar, interpreteerbaar, betrouwbaar en toekomstbestendig. Voor iedereen die daar recht op heeft en voor zo lang als noodzakelijk.** - -## Risico -In progress - -## Bronnen - -#### Wet- en regelgeving - -#### Toetsingskaders - - -## Toelichting - - -## Maatregelen - -## Rollen -Hieronder beschrijven we welke rollen er betrokken kunnen worden bij de uitvoering van deze norm. - - - -## Best practices - - diff --git a/docs/normen/governance/Data governance.md b/docs/normen/governance/Data governance.md deleted file mode 100644 index 29a475d252..0000000000 --- a/docs/normen/governance/Data governance.md +++ /dev/null @@ -1,36 +0,0 @@ ---- -title: Data governance ---- - -!!! info "Disclaimer" - - Het Algoritmekader is nog volop in ontwikkeling. Op deze plek willen we vooral aan de slag gaan op een open en transparante wijze. Het is dus niet definitief. Dat betekent dat er dingen opstaan die niet af zijn en soms zelfs fout. Mocht er iets niet kloppen, laat het ons weten via [GitHub](https://github.com/MinBZK/Algoritmekader). - - -## Norm -**Hoge risico AI systemen moeten een data governance system implementeren.** - -## Risico -In progress - -## Bronnen - -#### Wet- en regelgeving -- [AI Act](https://artificialintelligenceact.eu/wp-content/uploads/2023/08/AI-Mandates-20-June-2023.pdf), artikel 10 - - -#### Toetsingskaders - - -## Toelichting - - -## Maatregelen - -## Rollen -Hieronder beschrijven we welke rollen er betrokken kunnen worden bij de uitvoering van deze norm. - - - -## Best practices - diff --git a/docs/normen/governance/Eigenaarschap en beheer.md b/docs/normen/governance/Eigenaarschap en beheer.md deleted file mode 100644 index 897c88d44d..0000000000 --- a/docs/normen/governance/Eigenaarschap en beheer.md +++ /dev/null @@ -1,48 +0,0 @@ ---- -title: Eigenaarschap en beheer - ---- - -!!! info "Disclaimer" - - Het Algoritmekader is nog volop in ontwikkeling. Op deze plek willen we vooral aan de slag gaan op een open en transparante wijze. Het is dus niet definitief. Dat betekent dat er dingen opstaan die niet af zijn en soms zelfs fout. Mocht er iets niet kloppen, laat het ons weten via [GitHub](https://github.com/MinBZK/Algoritmekader). - - -## Norm -**Motiveer de deugdelijke inzet van algoritmen.** - -## Risico -Afhankelijkheid van externe deskundigen die na het ontwikkelen van het algoritme met de betreffende kennis en ervaring weggaan, waardoor continuïteit en beheersing daarna niet meer gewaarborgd is. - -## Bronnen - -#### Wet- en regelgeving -Art. 3.46 Awb (bij besluiten) - - -#### Toetsingskaders -EC/AI HLEG April 2019 - hoofdstuk II. 1.1, 1.4 en 1.7 -ADR SV.11, DM.10, SV.16, SV.17, SV.19 -ARK 1.07, 2.01/2.02/2.03 - - -## Toelichting -- Overeenkomst met betreffende partij met afspraken over o.a. eigenaarschap en beheer (bijv. SLA). Maatregelen om een te grote afhankelijkheid te voorkomen moeten zijn beschreven/getroffen, zoals het opstellen van een exitstrategie. Bij het maken van afspraken met leveranciers moet aandacht zijn voor het risico op vendor lock-in. Hiervan is sprake als de opdrachtgever afhankelijk wordt van een externe partij (ontwikkelaar), omdat deze niet in staat is om van partij te veranderen zonder substantiële omschakelingskosten of ongemak. -- De documentatie moet dusdanig begrijpelijk zijn dat het voor (nieuwe) medewerkers hoe een model gebruikt moet worden (collegiale uitlegbaarheid). Ook wanneer de ontwikkelaars van het model niet meer binnen de organisatie werken. Instructies over het gebruik van het model. Bij medewerkers navragen of de instructies bekend zijn. Het algoritme moet uitlegbaar zijn en er moet een afweging plaatsvinden tussen de uitlegbaarheid van het model en de prestatie van het model. - - -## Maatregelen -- Bij uitbesteding van onderdelen of activiteiten met betrekking tot het algoritme zijn afspraken met betrokken externe partijen gemaakt en vastgelegd m.b.t. eigenaarschap, beheer, prestatiecriteria en reproduceerbaarheid van het algoritme -- De documentatie over het model (ontwerp, werking en voorwaarden) is beschikbaar en begrijpelijk voor ontwikkelaars, gebruikers en de eigenaar van het model. - -## Rollen -Hieronder beschrijven we welke rollen er betrokken kunnen worden bij de uitvoering van deze norm. - - - -## Best practices -Overeenkomst met betreffende partij met afspraken over o.a. eigenaarschap en beheer (bijv. SLA). -Maatregelen om een te grote afhankelijkheid te voorkomen zijn beschreven/getroffen, zoals het opstellen van een exitstrategie - - - diff --git a/docs/normen/governance/Kwaliteitsmanagementsysteem.md b/docs/normen/governance/Kwaliteitsmanagementsysteem.md deleted file mode 100644 index 72355e4311..0000000000 --- a/docs/normen/governance/Kwaliteitsmanagementsysteem.md +++ /dev/null @@ -1,39 +0,0 @@ ---- -title: Kwaliteitsmanagementsysteem - ---- - -!!! info "Disclaimer" - - Het Algoritmekader is nog volop in ontwikkeling. Op deze plek willen we vooral aan de slag gaan op een open en transparante wijze. Het is dus niet definitief. Dat betekent dat er dingen opstaan die niet af zijn en soms zelfs fout. Mocht er iets niet kloppen, laat het ons weten via [GitHub](https://github.com/MinBZK/Algoritmekader). - - -## Norm -**Hoge risico AI systemen moeten een Kwaliteitsmanagementsysteem implementeren.** - -## Risico -In progress - -## Bronnen - -#### Wet- en regelgeving -- [AI Act](https://artificialintelligenceact.eu/wp-content/uploads/2023/08/AI-Mandates-20-June-2023.pdf), artikel 17 - - - -#### Toetsingskaders - - -## Toelichting - - -## Maatregelen - -## Rollen -Hieronder beschrijven we welke rollen er betrokken kunnen worden bij de uitvoering van deze norm. - - - -## Best practices - - diff --git a/docs/normen/governance/Mensenrechteneffectbeoordeling.md b/docs/normen/governance/Mensenrechteneffectbeoordeling.md deleted file mode 100644 index 78c18d56fd..0000000000 --- a/docs/normen/governance/Mensenrechteneffectbeoordeling.md +++ /dev/null @@ -1,37 +0,0 @@ ---- -title: Mensenrechteneffectbeoordeling - ---- - -!!! info "Disclaimer" - - Het Algoritmekader is nog volop in ontwikkeling. Op deze plek willen we vooral aan de slag gaan op een open en transparante wijze. Het is dus niet definitief. Dat betekent dat er dingen opstaan die niet af zijn en soms zelfs fout. Mocht er iets niet kloppen, laat het ons weten via [GitHub](https://github.com/MinBZK/Algoritmekader). - - -## Norm -**Een mensenrechteneffectbeoordeling / Fundamental Right Impact Assessment is verplicht, indien een verwerking van persoonsgegevens waarschijnlijk een hoog risico inhoudt voor de rechten van natuurlijke personen.** - -## Risico -In progress - -## Bronnen - -#### Wet- en regelgeving -- [AI Act](https://artificialintelligenceact.eu/wp-content/uploads/2023/08/AI-Mandates-20-June-2023.pdf), artikel 29 - - -#### Toetsingskaders - - -## Toelichting - - -## Maatregelen - -## Rollen -Hieronder beschrijven we welke rollen er betrokken kunnen worden bij de uitvoering van deze norm. - -## Best practices - - - diff --git a/docs/normen/governance/Risicobeheer.md b/docs/normen/governance/Risicobeheer.md deleted file mode 100644 index 546c87a861..0000000000 --- a/docs/normen/governance/Risicobeheer.md +++ /dev/null @@ -1,38 +0,0 @@ ---- -title: Risicobeheer - ---- - -!!! info "Disclaimer" - - Het Algoritmekader is nog volop in ontwikkeling. Op deze plek willen we vooral aan de slag gaan op een open en transparante wijze. Het is dus niet definitief. Dat betekent dat er dingen opstaan die niet af zijn en soms zelfs fout. Mocht er iets niet kloppen, laat het ons weten via [GitHub](https://github.com/MinBZK/Algoritmekader). - - -## Norm -**Er moet een risicobeheersysteem worden opgezet, geïmplementeerd, gedocumenteerd en onderhouden met betrekking tot hoog risico AI-systemen gedurende de volledige levenscyclus.** - -## Risico -In progress - -## Bronnen - -#### Wet- en regelgeving -- [AI Act](https://artificialintelligenceact.eu/wp-content/uploads/2023/08/AI-Mandates-20-June-2023.pdf), artikel 9 - - - -#### Toetsingskaders - - -## Toelichting - - -## Maatregelen - -## Rollen -Hieronder beschrijven we welke rollen er betrokken kunnen worden bij de uitvoering van deze norm. - - - -## Best practices - diff --git a/docs/normen/governance/Rollen en verantwoordelijkheden.md b/docs/normen/governance/Rollen en verantwoordelijkheden.md deleted file mode 100644 index d86a7cc6ba..0000000000 --- a/docs/normen/governance/Rollen en verantwoordelijkheden.md +++ /dev/null @@ -1,45 +0,0 @@ ---- -title: Rollen en verantwoordlijkheden - ---- - -!!! info "Disclaimer" - - Het Algoritmekader is nog volop in ontwikkeling. Op deze plek willen we vooral aan de slag gaan op een open en transparante wijze. Het is dus niet definitief. Dat betekent dat er dingen opstaan die niet af zijn en soms zelfs fout. Mocht er iets niet kloppen, laat het ons weten via [GitHub](https://github.com/MinBZK/Algoritmekader). - - -## Norm -**Rollen en verantwoordlijkheden m.b.t. de verwerking van persoonsgegevens zijn gespecificeerd.** - -## Risico -Rollen en verantwoordelijkheden m.b.t. de verwerking van persoonsgegeven in het algoritme zijn niet helder belegd. - -## Bronnen - -#### Wet- en regelgeving - -- [Algemene Verordening Gegevensbescherming (AVG)](https://eur-lex.europa.eu/legal-content/NL/TXT/HTML/?uri=CELEX:32016R0679&qid=1685451198313), artikel 24,26,27, 28,29 AVG - -#### Toetsingskaders -ADR PRI.1 -ARK 3.09 - -## Toelichting -De verwerkingsverantwoordelijke bepaalt de doeleinden waarvoor en de middelen waarmee persoonsgegevens worden verwerkt. Als uw organisatie dus beslist „waarom” en „hoe” persoonsgegevens moeten worden verwerkt, is zij de verwerkingsverantwoordelijke. - -Uw organisatie is een gezamenlijke verwerkingsverantwoordelijke als zij samen met één of meer organisaties gezamenlijk bepaalt „waarom” en „hoe” persoonsgegevens moeten worden verwerkt. Gezamenlijke verwerkingsverantwoordelijken dienen een regeling te treffen waarin hun respectieve verantwoordelijkheden voor de naleving van de AVG-regels worden vastgelegd. - -De verwerker verwerkt persoonsgegevens uitsluitend ten behoeve van de verwerkingsverantwoordelijke. De taken van de verwerker jegens de verwerkingsverantwoordelijke moeten in een verwerkersovereenkomst of een andere rechtshandeling worden gespecificeerd. - -## Maatregelen - Ga van alle betrokken partijen na wat hun rol is en documenteer deze. Zorg ervoor dat met alle verwerkers een verwerkersovereenkomst is afgesloten. - -## Rollen -Hieronder beschrijven we welke rollen er betrokken kunnen worden bij de uitvoering van deze norm. - - - -## Best practices - - - diff --git a/docs/normen/governance/Zorgvuldigheidsbeginsel.md b/docs/normen/governance/Zorgvuldigheidsbeginsel.md deleted file mode 100644 index 4ba2352858..0000000000 --- a/docs/normen/governance/Zorgvuldigheidsbeginsel.md +++ /dev/null @@ -1,58 +0,0 @@ ---- -title: Zorgvuldigheidsbeginsel ---- - -!!! info "Disclaimer" - - Het Algoritmekader is nog volop in ontwikkeling. Op deze plek willen we vooral aan de slag gaan op een open en transparante wijze. Het is dus niet definitief. Dat betekent dat er dingen opstaan die niet af zijn en soms zelfs fout. Mocht er iets niet kloppen, laat het ons weten via [GitHub](https://github.com/MinBZK/Algoritmekader). - - -## Norm -**Zorgvuldig omgaan bij de ontwikkeling en de inzet algoritmes.** - -## Risico -1. Zonder eenduidigheid over het doel is geen sturing op en verantwoording over het algoritme mogelijk en is er een groter risico op fouten en/of verschillen in interpretatie -2. De impact van het algoritme is niet inzichtelijk, waardoor niet helder is welke maatregelen moeten worden getroffen om ongewenste effecten (zoals bias en discriminatie) te voorkomen. -3. Zonder actueel beeld van risico's kan er geen goede afweging worden gemaakt of de voordelen van de toepassing van het algoritme opwegen tegen de nadelen. Risico's worden niet (tijdig) vastgesteld en adequaat geadresseerd en behandeld. -4. Rollen en verantwoordelijkheden zijn niet duidelijk belegd of onvoldoende geborgd. -5. Het algoritme kan negatieve gevolgen hebben voor grondrechten -6. Zonder evaluatie van de kwaliteit van het algoritme is er geen goede sturing, beheersing en verantwoording mogelijk over de inzet van het algoritme. - -## Bronnen - -#### Wet- en regelgeving -- [AI Act](https://artificialintelligenceact.eu/wp-content/uploads/2023/08/AI-Mandates-20-June-2023.pdf), artikel 29 -- Art. 3.2 Awb (bij besluiten) - - -#### Toetsingskaders -- EC/AI HLEG April 2019 - Hoofdstuk I. 1.1 & Hoofdstuk II. 1.1,1.2, 1.5, 1.6 en 1.7 -- COBIT EDM03 / APO12 / APO01.02 / EDM01 -- ADR SV.1, SV.2, SV.3,SV.4,SV.13,SV.9 en SV. 10, SV.12 -- ARK 1.01, 2.02,1.02, 1.08,1.05 - -## Toelichting -- Het doel van het algoritme moet helder zijn gedefinieerd, ook in relatie tot het maatschappelijke resultaat (outcome), en wordt gedeeld door de eigenaar, ontwikkelaar en gebruiker van het algoritme. Een bewuste afweging of het algoritme het juiste middel is om het probleem op doelmatige en doeltreffende wijze op te lossen is gemaakt en vastgelegd. De publieke waarden die met de inzet van algoritmes worden ingegeven, zoals gelijkwaardigheid en veiligheid, maar ook grondrechten die worden geraakt, zijn geïnventariseerd en gewogen. Ook de doeltreffendheid, subsidiariteit en proportionaliteit van het in te zetten algoritme zijn afgewogen. -- Het gaat om zowel de impact op personen of doelgroepen, als de bredere impact op de samenleving (vanuit sociaal, democratisch en milieu/ecologisch perspectief). -- Het gaat hier om het feit dat er over risico's wordt nagedacht. De organisatie moet beschikken over een ingericht en gedocumenteerd proces voor risicobeheersing. -- Duidelijkheid en borging van rollen en verantwoordelijkheden zorgen voor een effectief en verantwoord verloop van het proces rondom de inzet van een algoritme. Alle relevante belanghebbenden zijn bij de ontwikkeling en inzet van het algoritme betrokken. Het personeel (intern en extern) dat werkt met het algoritme moet over voldoende deskundigheid en competenties beschikken. Dit moet in ieder geval blijken uit de risicoanalyse, waarbij de organisatie maatregelen neemt om eventuele gaten te overbruggen. De organisatie heeft een goed beeld van de beschikbare resources (kwalitatief en kwantitatief) en stuurt daarop. -- In situaties wanneer dergelijke risico’s bestaan, kan een effectbeoordeling worden uitgevoegd wat grondrechten betreft. Dit kan voorafgaand de ontwikkeling van het algoritme worden uitgevoerd en moet een evaluatie omvatten van de vraag of de risico’s kunnen worden beperkt of gerechtvaardigd. De afwegingen tussen de verschillende beginselen en rechten moeten zijn vastgesteld en gedocumenteerd. -- Kwaliteit is o.a. doeltreffendheid, doelmatigheid, betrouwbaarheid en accuraatheid (geschiktheid) en non-discriminatie. Evaluatie kan bijv. worden gedaan d.m.v. peerreview. Een proces voor een periodieke evaluatie van de kwaliteit van het algoritme is gedocumenteerd en in werking. De resultaten worden met belanghebbenden gedeeld. De organisatie analyseert of (interne en externe) klachten en incidenten het gevolg kunnen zijn van het gebruik van het algoritme. De verantwoordelijke in de business legt verantwoording af over de ontwikkeling, inzet en werking van het algoritme. - -## Maatregelen -- Het doel en eventuele subdoelen van het algoritme moeten zo specifiek mogelijk zijn geformuleerd, en waar mogelijk gekwantificeerd. Maak hiervoor gebruik van een multidisciplinaire aanpak en betrek hierbij meerdere gremia. Maak de consequentie expliciet en leg deze op het juiste niveau vast. Neem indien nodig tegenmaatregelen. Een ultimate tegenmaatregel kan zijn het niet inzetten van het algoritme. -- Onderzoek (aan de hand van een mensenrechtentoets) welke groepen kwetsbaar zijn voor een fout van het algoritme en welke impact dat heeft op deze groepen. Het betreft de ‘menselijke maat’ bij het nemen van beslissingen op basis van de output van het algoritme. Maak de consequentie expliciet en leg deze op het juiste niveau vast. Neem indien nodig tegenmaatregelen. Een ultimate tegenmaatregel kan zijn het niet inzetten van het algoritme. -- Zorg ervoor dat op vastgelegde (periodieke) momenten een afweging plaats vindt van de risico’s over het gebruik van het algoritme. Alle stappen van risicomanagement zijn uitgevoerd en op het juiste niveau in de organisatie behandeld, waaronder het identificeren, analyseren, evalueren (t.a.v. risk appetite), behandelen (risicoreactie, o.a. maatregelen), monitoren & beoordelen en communiceren & rapporteren van risico's. Maak de consequentie expliciet en leg deze op het juiste niveau vast. Neem indien nodig tegenmaatregelen. Een ultimate tegenmaatregel kan zijn het niet inzetten of (tijdelijk) stopzetten van het algoritme. -- De rollen en verantwoordelijkheden bij de ontwikkeling en inzet van het algoritme zijn belegd en gedocumenteerd. -- Onderzoek of het algoritme een onrechtvaarigde inbreuk maakt op grondrechten (aan de hand van een mensenrechtentoets). Maak de consequentie expliciet en leg deze op het juiste niveau vast. Neem indien nodig tegenmaatregelen. Een ultimate tegenmaatregel kan zijn het niet inzetten van het algoritme of het (tijdig) stopzetten. -- Er vindt periodiek een evaluatie plaatst van de op de werking en de kwaliteit van het algoritme. Er kunnen namelijk wijzigingen in de werking van het model of de inputdata zijn. De analyse van klachten en incidenten is hier ook onderdeel van. Maak de consequentie expliciet en leg deze op het juiste niveau vast. Neem indien nodig tegenmaatregelen. Een ultimate tegenmaatregel kan zijn het niet inzetten van het algoritme of het (tijdig) stopzetten. - -## Rollen -Hieronder beschrijven we welke rollen er betrokken kunnen worden bij de uitvoering van deze norm. - - - -## Best practices - - - diff --git a/docs/normen/governance/index.md b/docs/normen/governance/index.md deleted file mode 100644 index cdb8d23db1..0000000000 --- a/docs/normen/governance/index.md +++ /dev/null @@ -1,8 +0,0 @@ ---- -title: Governance - ---- - -!!! info "Disclaimer" - - Het Algoritmekader is nog volop in ontwikkeling. Op deze plek willen we vooral aan de slag gaan op een open en transparante wijze. Het is dus niet definitief. Dat betekent dat er dingen opstaan die niet af zijn en soms zelfs fout. Mocht er iets niet kloppen, laat het ons weten via [GitHub](https://github.com/MinBZK/Algoritmekader). \ No newline at end of file diff --git a/docs/normen/index.md b/docs/normen/index.md deleted file mode 100644 index 32336b9ab3..0000000000 --- a/docs/normen/index.md +++ /dev/null @@ -1,58 +0,0 @@ ---- -title: Normen ---- - -Op deze pagina staat een overzicht van de normen die we tot nu toe hebben verzameld. Deze zijn vooralsnog alleen gekoppeld aan een bouwblok, zoals hieronder te zien is. - -| **Bouwblok** | **Norm** | -|---------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------| -| :fontawesome-solid-square-check: Conformiteitsbeoordeling | [n.t.b.]( ../normen/conformiteitsbeoordeling/n.t.b..md) | -| :fontawesome-solid-database: Data | [n.t.b.]( ../normen/data/n.t.b..md) | -| :fontawesome-solid-leaf: Duurzaamheid | [Bewerkstellig duurzaamheid]( ../normen/duurzaamheid/Bewerkstellig%20duurzaamheid.md) | -| :material-scale-balance: Fundamentele rechten | [Non-discriminatie](../normen/fundamentele%20rechten/Non%20discriminatie.md) | -| :fontawesome-solid-building-columns: Governance | [Aantoonbaarheid](../normen/governance/Aantoonbaarheid.md) | -| :fontawesome-solid-building-columns: Governance | [Archiveren](../normen/governance/Archiveren.md) | -| :fontawesome-solid-building-columns: Governance | [Data governance](../normen/governance/Data%20governance.md) | -| :fontawesome-solid-building-columns: Governance | [Eigenaarschap en beheer](../normen/governance/Eigenaarschap%20en%20beheer.md) | -| :fontawesome-solid-building-columns: Governance | [Kwaliteitsmanagementsysteem](../normen/governance/Kwaliteitsmanagementsysteem.md) | -| :fontawesome-solid-building-columns: Governance | [Mensenrechteneffectbeoordeling](../normen/governance/Mensenrechteneffectbeoordeling.md) | -| :fontawesome-solid-building-columns: Governance | [Risicobeheer](../normen/governance/Risicobeheer.md) | -| :fontawesome-solid-building-columns: Governance | [Rollen en verantwoordelijkheden](../normen/governance/Rollen%20en%20verantwoordelijkheden.md) | -| :fontawesome-solid-building-columns: Governance | [Zorgvuldigheidsbeginsel](../normen/governance/Zorgvuldigheidsbeginsel.md) | -| :fontawesome-solid-cart-shopping: Inkoop | [n.t.b.](../normen/inkoop/n.t.b..md) | -| :fontawesome-solid-person-circle-check: Menselijke controle | [AI geletterheid](../normen/menselijke%20controle/AI%20geletterdheid.md) | -| :fontawesome-solid-person-circle-check: Menselijke controle | [Autonomie](../normen/menselijke%20controle/Autonomie.md) | -| :fontawesome-solid-person-circle-check: Menselijke controle | [Klachtenafhandelingsprocedure](../normen/menselijke%20controle/Klachtenafhandelingsprocedure.md) | -| :fontawesome-solid-person-circle-check: Menselijke controle | [Menselijke controle](../normen/menselijke%20controle/Menselijke%20controle.md) | -| :fontawesome-solid-lock: Privacy en gegevensbescherming | [Rollen en verantwoordelijkheden](../normen/privacy%20en%20gegevensbescherming/Rollen%20en%20verantwoordelijkheden.md) | -| :fontawesome-solid-lock: Privacy en gegevensbescherming | [GEB en DPIA](../normen/privacy%20en%20gegevensbescherming/GEB%20DPIA%20en%20voorafgaande%20raadpleging%20AP%20.md) | -| :fontawesome-solid-lock: Privacy en gegevensbescherming | [Rechtmatigheid en grondslag](../normen/privacy%20en%20gegevensbescherming/Rechtmatigheid%20en%20grondslag.md) | -| :fontawesome-solid-lock: Privacy en gegevensbescherming | [Doelbinding](../normen/privacy%20en%20gegevensbescherming/Doelbinding.md) | -| :fontawesome-solid-lock: Privacy en gegevensbescherming | [Dataminimalisatie](../normen/privacy%20en%20gegevensbescherming/Dataminimalisatie.md) | -| :fontawesome-solid-lock: Privacy en gegevensbescherming | [Geactualiseerde gegevens](../normen/privacy%20en%20gegevensbescherming/Geactualisserde%20en%20juiste%20gegevens.md) | -| :fontawesome-solid-lock: Privacy en gegevensbescherming | [Opslagbeperking](../normen/privacy%20en%20gegevensbescherming/Opslagbeperking.md) | -| :fontawesome-solid-lock: Privacy en gegevensbescherming | [Bijzondere persoonsgegevens](../normen/privacy%20en%20gegevensbescherming/Bijzondere%20persoonsgegevens.md) | -| :fontawesome-solid-lock: Privacy en gegevensbescherming | [Privacyrechten](../normen/privacy%20en%20gegevensbescherming/Privacyrechten.md) | -| :fontawesome-solid-lock: Privacy en gegevensbescherming | [Geautomatiseerde besluitvorming en profileren](../normen/privacy%20en%20gegevensbescherming/Geautomatiseerde%20besluitvorming%20en%20profileren.md) | -| :fontawesome-solid-lock: Privacy en gegevensbescherming | [Privacy by design](../normen/privacy%20en%20gegevensbescherming/Privacy%20by%20Design%20en%20by%20Default.md) | -| :fontawesome-solid-gear: Technische robuustheid en veiligheid | [Algoritme continuiteit](../normen/technische%20robuustheid%20en%20veiligheid/Algoritme%20continuïteit.md) | -| :fontawesome-solid-gear: Technische robuustheid en veiligheid | [Betrouwbare algoritme uitkomsten](../normen/technische%20robuustheid%20en%20veiligheid/Betrouwbare%20algoritme%20uitkomsten.md) | -| :fontawesome-solid-gear: Technische robuustheid en veiligheid | [Data is representatief](../normen/technische%20robuustheid%20en%20veiligheid/Data%20is%20representatief.md) | -| :fontawesome-solid-gear: Technische robuustheid en veiligheid | [Doel en keuze algoritme](../normen/technische%20robuustheid%20en%20veiligheid/Doel%20en%20keuze%20algoritme.md) | -| :fontawesome-solid-gear: Technische robuustheid en veiligheid | [Informatiebeveiliging](../normen/technische%20robuustheid%20en%20veiligheid/Informatiebeveiliging.md) | -| :fontawesome-solid-magnifying-glass: Transparantie | [Algoritmeregister](../normen/transparantie/Algoritmeregister.md) | -| :fontawesome-solid-magnifying-glass: Transparantie | [Informeren over interactie](../normen/transparantie/Informeren%20over%20interactie%20met%20AI%20systemen.md) | -| :fontawesome-solid-magnifying-glass: Transparantie | [Motiveringsbeginsel](../normen/transparantie/Motiveringsbeginsel.md) | -| :fontawesome-solid-magnifying-glass: Transparantie | [Traceerbaarheid](../normen/transparantie/Traceerbaarheid.md) | -| :fontawesome-solid-magnifying-glass: Transparantie | [Transparante besluitvorming](../normen/transparantie/Transparante%20besluitsvorming.md) | - - -!!! opmerking "Nog te doen" - - - Normen worden nog gekoppeld aan de levenscyclus - - Normen krijgen nog een duidelijkere titel - - Normen worden nog aangevuld met risico's, toelichting, etc. - -!!! info "Disclaimer" - - Het Algoritmekader is nog volop in ontwikkeling. Op deze plek willen we vooral aan de slag gaan op een open en transparante wijze. Het is dus niet definitief. Dat betekent dat er dingen opstaan die niet af zijn en soms zelfs fout. Mocht er iets niet kloppen, laat het ons weten via [GitHub](https://github.com/MinBZK/Algoritmekader). diff --git a/docs/normen/inkoop/index.md b/docs/normen/inkoop/index.md deleted file mode 100644 index 065be5e957..0000000000 --- a/docs/normen/inkoop/index.md +++ /dev/null @@ -1,7 +0,0 @@ -# Het inkopen van algoritmen en kunstmatige intelligentie door overheidsinstellingen - -!!! info "Disclaimer" - - Het Algoritmekader is nog volop in ontwikkeling. Op deze plek willen we vooral aan de slag gaan op een open en transparante wijze. Het is dus niet definitief. Dat betekent dat er dingen opstaan die niet af zijn en soms zelfs fout. Mocht er iets niet kloppen, laat het ons weten via [GitHub](https://github.com/MinBZK/Algoritmekader). - - diff --git a/docs/normen/inkoop/n.t.b..md b/docs/normen/inkoop/n.t.b..md deleted file mode 100644 index 4ba9e11a08..0000000000 --- a/docs/normen/inkoop/n.t.b..md +++ /dev/null @@ -1,35 +0,0 @@ ---- -title: n.t.b. - ---- - -!!! info "Disclaimer" - - Het Algoritmekader is nog volop in ontwikkeling. Op deze plek willen we vooral aan de slag gaan op een open en transparante wijze. Het is dus niet definitief. Dat betekent dat er dingen opstaan die niet af zijn en soms zelfs fout. Mocht er iets niet kloppen, laat het ons weten via [GitHub](https://github.com/MinBZK/Algoritmekader). - - -## Norm -** ** - -## Risico -In progress - -## Bronnen - -#### Wet- en regelgeving - - -#### Toetsingskaders - - -## Toelichting - - -## Maatregelen - -## Rollen -Hieronder beschrijven we welke rollen er betrokken kunnen worden bij de uitvoering van deze norm. - - - -## Best practices diff --git a/docs/normen/menselijke controle/AI geletterdheid.md b/docs/normen/menselijke controle/AI geletterdheid.md deleted file mode 100644 index fbac7d137a..0000000000 --- a/docs/normen/menselijke controle/AI geletterdheid.md +++ /dev/null @@ -1,35 +0,0 @@ ---- -title: AI geletterdheid - ---- - -!!! info "Disclaimer" - - Het Algoritmekader is nog volop in ontwikkeling. Op deze plek willen we vooral aan de slag gaan op een open en transparante wijze. Het is dus niet definitief. Dat betekent dat er dingen opstaan die niet af zijn en soms zelfs fout. Mocht er iets niet kloppen, laat het ons weten via [GitHub](https://github.com/MinBZK/Algoritmekader). - - -## Norm -**Aanbieders en gebruikers van AI-systemen moeten maatregelen nemen om ervoor te zorgen dat hun personeel en andere personen die betrokken zijn bij de werking en het gebruik van AI-systemen namens hen, een voldoende niveau van AI-geletterdheid hebben.** - -## Risico -In progress - -## Bronnen - -#### Wet- en regelgeving -- [AI Act](https://artificialintelligenceact.eu/wp-content/uploads/2023/08/AI-Mandates-20-June-2023.pdf), artikel 4 - -#### Toetsingskaders - - -## Toelichting - - -## Maatregelen - -## Rollen -Hieronder beschrijven we welke rollen er betrokken kunnen worden bij de uitvoering van deze norm. - - -## Best practices - diff --git a/docs/normen/menselijke controle/Autonomie.md b/docs/normen/menselijke controle/Autonomie.md deleted file mode 100644 index 7b268304af..0000000000 --- a/docs/normen/menselijke controle/Autonomie.md +++ /dev/null @@ -1,35 +0,0 @@ ---- -title: Autonomie - ---- - -!!! info "Disclaimer" - - Het Algoritmekader is nog volop in ontwikkeling. Op deze plek willen we vooral aan de slag gaan op een open en transparante wijze. Het is dus niet definitief. Dat betekent dat er dingen opstaan die niet af zijn en soms zelfs fout. Mocht er iets niet kloppen, laat het ons weten via [GitHub](https://github.com/MinBZK/Algoritmekader). - - -## Norm -**AI-systemen moeten worden ontwikkeld en gebruikt als een instrument dat mensen dient, de menselijke waardigheid en persoonlijke autonomie respecteert, en dat op een manier functioneert die op passende wijze kan worden gecontroleerd en overzien door mensen.** - -## Risico -In progress - -## Bronnen - -#### Wet- en regelgeving -- [AI Act](https://artificialintelligenceact.eu/wp-content/uploads/2023/08/AI-Mandates-20-June-2023.pdf), Recital 58a - - -#### Toetsingskaders - -## Toelichting - - -## Maatregelen - -## Rollen -Hieronder beschrijven we welke rollen er betrokken kunnen worden bij de uitvoering van deze norm. - -- -## Best practices - diff --git a/docs/normen/menselijke controle/Klachtenafhandelingsprocedure.md b/docs/normen/menselijke controle/Klachtenafhandelingsprocedure.md deleted file mode 100644 index 7794d65c52..0000000000 --- a/docs/normen/menselijke controle/Klachtenafhandelingsprocedure.md +++ /dev/null @@ -1,33 +0,0 @@ ---- -title: Klachtenafhandelingsprocedure - ---- - -!!! info "Disclaimer" - - Het Algoritmekader is nog volop in ontwikkeling. Op deze plek willen we vooral aan de slag gaan op een open en transparante wijze. Het is dus niet definitief. Dat betekent dat er dingen opstaan die niet af zijn en soms zelfs fout. Mocht er iets niet kloppen, laat het ons weten via [GitHub](https://github.com/MinBZK/Algoritmekader). - - -## Norm -**Klachtenafhandelingsprocedures moeten aanwezig zijn.** - -## Risico -Betrokkenen zijn niet op de hoogte dat hun persoonsgegevens worden verwerkt middels een algoritme, waardoor zij geen controle hebben. - -## Bronnen - -#### Wet- en regelgeving -- [AI Act](https://artificialintelligenceact.eu/wp-content/uploads/2023/08/AI-Mandates-20-June-2023.pdf), recital 58a - -#### Toetsingskaders - -## Toelichting - - -## Maatregelen - -## Rollen -Hieronder beschrijven we welke rollen er betrokken kunnen worden bij de uitvoering van deze norm. - - -## Best practices diff --git a/docs/normen/menselijke controle/Menselijke controle.md b/docs/normen/menselijke controle/Menselijke controle.md deleted file mode 100644 index c0f4ad526c..0000000000 --- a/docs/normen/menselijke controle/Menselijke controle.md +++ /dev/null @@ -1,34 +0,0 @@ ---- -title: Menselijke controle - ---- - -!!! info "Disclaimer" - - Het Algoritmekader is nog volop in ontwikkeling. Op deze plek willen we vooral aan de slag gaan op een open en transparante wijze. Het is dus niet definitief. Dat betekent dat er dingen opstaan die niet af zijn en soms zelfs fout. Mocht er iets niet kloppen, laat het ons weten via [GitHub](https://github.com/MinBZK/Algoritmekader). - - -## Norm -**Er is een gepaste mate van menselijke controle voor het specifieke algoritme en de specifieke gebruikssituatie.** - -## Risico -In progress - -## Bronnen - -#### Wet- en regelgeving - -#### Toetsingskaders - -## Toelichting - - -## Maatregelen - - -## Rollen -Hieronder beschrijven we welke rollen er betrokken kunnen worden bij de uitvoering van deze norm. - - - -## Best practices diff --git a/docs/normen/menselijke controle/index.md b/docs/normen/menselijke controle/index.md deleted file mode 100644 index 2437deca06..0000000000 --- a/docs/normen/menselijke controle/index.md +++ /dev/null @@ -1,8 +0,0 @@ ---- -title: Menselijke controle - ---- - -!!! info "Disclaimer" - - Het Algoritmekader is nog volop in ontwikkeling. Op deze plek willen we vooral aan de slag gaan op een open en transparante wijze. Het is dus niet definitief. Dat betekent dat er dingen opstaan die niet af zijn en soms zelfs fout. Mocht er iets niet kloppen, laat het ons weten via [GitHub](https://github.com/MinBZK/Algoritmekader). \ No newline at end of file diff --git a/docs/normen/privacy en gegevensbescherming/Bijzondere persoonsgegevens.md b/docs/normen/privacy en gegevensbescherming/Bijzondere persoonsgegevens.md deleted file mode 100644 index 90405cfc02..0000000000 --- a/docs/normen/privacy en gegevensbescherming/Bijzondere persoonsgegevens.md +++ /dev/null @@ -1,58 +0,0 @@ ---- -title: Bijzondere persoonsgegevens - ---- - -!!! info "Disclaimer" - - Het Algoritmekader is nog volop in ontwikkeling. Op deze plek willen we vooral aan de slag gaan op een open en transparante wijze. Het is dus niet definitief. Dat betekent dat er dingen opstaan die niet af zijn en soms zelfs fout. Mocht er iets niet kloppen, laat het ons weten via [GitHub](https://github.com/MinBZK/Algoritmekader). - - -## Norm -**Het algoritme verwerkt persoonsgegevens die alleen op basis van een wettelijke uitzondering verwerkt mogen worden, zoals bijzondere persoonsgegevens (o.a. gegevens m.b.t. ras of afkomst, religie, gezondheid of seksuele geaardheid), strafrechtelijke gegevens of nationale identificatienummers (o.a. BSN).** - -**AI Verordening uitzondering: -Voor zover dit strikt noodzakelijk is met het oog op het waarborgen van de detectie en correctie van vooringenomenheid met betrekking tot AI-systemen kunnen de aanbieders van dergelijke systemen bij wijze van uitzondering bijzondere categorieën van persoonlijke gegevens verwerken onder voorbehoud van passende waarborgen voor de fundamentele rechten en vrijheden van natuurlijke personen (zie art. 10 AI Act)** - -## Risico -Verwerking van bijzondere persoonsgegevens (o.a. gegevens m.b.t. ras of afkomst, religie, gezondheid of seksuele geaardheid), strafrechtelijke gegevens of nationale identificatienummers (o.a. BSN) is alleen toegestaan als hierop een wettelijke uitzondering van toepassing is. - -## Bronnen - -#### Wet- en regelgeving - -- [Algemene Verordening Gegevensbescherming (AVG)](https://eur-lex.europa.eu/legal-content/NL/TXT/HTML/?uri=CELEX:32016R0679&qid=1685451198313), artikel 9, 10 en 87 AVG, Hoofdstuk 3 UAVG en Wabb. -- Concept jan 2024 AI Act art. 10 lid 5 en 6 - -#### Toetsingskaders -ADR PRI.7 - -## Toelichting -Bijzondere persoonsgegevens zijn gegevens m.b.t.: -• ras of etnische afkomst -• politieke opvattingen -• religieuze of levensbeschouwelijke overtuigingen -• lidmaatschap van een vakbond -• genetische informatie -• biometrische informatie met het oog op de unieke identificatie van een persoon, -• gezondheid -• seksueel gedrag of seksuele gerichtheid - -Verwerking hiervan is verboden tenzij hierop één van de wettelijke uitzonderingen van toepassing is die zijn genoemd in artikel 9 lid 2 AVG (verwerking door specifieke partijen voor specifieke doelen) of Hoofstuk 3 van de UAVG. - -De voorwaarden voor de verwerking van strafrechtelijke gegevens zijn vastgelegd in artikel 10 AVG en Paragraaf 3.2 UAVG, de voorwaarden voor de verwerking van een nationaal identificatienummer in artikel 87 AVG en Wet algemene bepalingen burgerservicenummer (Wabb) - - -## Maatregelen -Persoonsgegevens van bijzondere categorieën mogen alleen worden verwerkt als aan een van de in artikel 9, lid 2, genoemde voorwaarden en aan een voorwaarde van artikel 6 is voldaan. Beoordeel en leg dit vast. - -Indien bij de geautomatiseerde besluitvorming (zoals beschreven in artikel 22 lid 1) de in artikel 9, lid 1, bedoelde bijzondere categorieën van persoonsgegevens betrokken zijn, moet er ook voor worden gezorgd dat wordt voldaan aan de vereisten van artikel 22, lid 4. - -## Rollen -Hieronder beschrijven we welke rollen er betrokken kunnen worden bij de uitvoering van deze norm. - - - -## Best practices - - diff --git a/docs/normen/privacy en gegevensbescherming/Dataminimalisatie.md b/docs/normen/privacy en gegevensbescherming/Dataminimalisatie.md deleted file mode 100644 index bc4438f2b7..0000000000 --- a/docs/normen/privacy en gegevensbescherming/Dataminimalisatie.md +++ /dev/null @@ -1,41 +0,0 @@ ---- -title: Dataminimalisatie - ---- - -!!! info "Disclaimer" - - Het Algoritmekader is nog volop in ontwikkeling. Op deze plek willen we vooral aan de slag gaan op een open en transparante wijze. Het is dus niet definitief. Dat betekent dat er dingen opstaan die niet af zijn en soms zelfs fout. Mocht er iets niet kloppen, laat het ons weten via [GitHub](https://github.com/MinBZK/Algoritmekader). - - -## Norm -**De verwerkte persoonsgegevens zijn toereikend, ter zake dienend en beperkt tot het noodzakelijke (dataminimalisatie).** - -## Risico -De verwerkte persoonsgegevens zijn niet proportioneel en relevant in relatie tot het doel. - -## Bronnen - -#### Wet- en regelgeving - -- [Algemene Verordening Gegevensbescherming (AVG)](https://eur-lex.europa.eu/legal-content/NL/TXT/HTML/?uri=CELEX:32016R0679&qid=1685451198313), artikel 5 lid 1 onder c AVG - -#### Toetsingskaders -ARK 2.18 - -## Toelichting -Wanneer persoonsgegevens worden verwerkt dan moeten zij voor het doel toereikend en ter zake dienend zijn. Verder mogen er niet meer persoonsgegevens worden verwerkt dan noodzakelijk voor het doel. Met andere woorden: er mogen, gelet op het doel, niet te veel, maar ook niet te weinig gegevens worden verwerkt. Wanneer namelijk te weinig gegevens worden verwerkt, dan kan er ten onrechte een onvolledig beeld ontstaan van de betrokkene. - -## Maatregelen -Beoordeel welke persoonsgegevens voor het algoritme nodig zijn en hoe lang deze moeten worden bewaard. Gebruik waar mogelijk geanonimiseerde of gepseudonimiseerde gegevens te gebruiken. - -Documenteer deze analyse in de DPIA. - - -## Rollen -Hieronder beschrijven we welke rollen er betrokken kunnen worden bij de uitvoering van deze norm. - - -## Best practices - - diff --git a/docs/normen/privacy en gegevensbescherming/Doelbinding.md b/docs/normen/privacy en gegevensbescherming/Doelbinding.md deleted file mode 100644 index 82519dab98..0000000000 --- a/docs/normen/privacy en gegevensbescherming/Doelbinding.md +++ /dev/null @@ -1,54 +0,0 @@ ---- -title: Doelbinding - ---- - -!!! info "Disclaimer" - - Het Algoritmekader is nog volop in ontwikkeling. Op deze plek willen we vooral aan de slag gaan op een open en transparante wijze. Het is dus niet definitief. Dat betekent dat er dingen opstaan die niet af zijn en soms zelfs fout. Mocht er iets niet kloppen, laat het ons weten via [GitHub](https://github.com/MinBZK/Algoritmekader). - - -## Norm -**Persoonsgegevens mogen alleen voor welbepaalde, uitdrukkelijk omschreven en gerechtvaardigde doeleinden worden verzameld en mogen vervolgens niet verder op een met die doeleinden onverenigbare wijze worden verwerkt (doelbinding).** - -**AI Veordening uitzondering: -Persoonsgegevens die rechtmatig zijn verzameld voor andere doeleinden mogen alleen worden verwerkt binnen een AI-regelgevingssandbox voor de ontwikkeling, training en testen van innovatieve AI-systemen, onder strikte voorwaarden.(zie art. 54 AI Act)** - -## Risico -De verwerking van persoonsgegevens in het algoritme valt niet onder het doel waarvoor zij verzameld zijn of een hiermee verenigbaar doel. - -## Bronnen - -#### Wet- en regelgeving - -- [Algemene Verordening Gegevensbescherming (AVG)](https://eur-lex.europa.eu/legal-content/NL/TXT/HTML/?uri=CELEX:32016R0679&qid=1685451198313), 5, lid 1, onder b AVG en Overweging 50 AVG -- Concept jan 2024 AI Act art. 54 - -#### Toetsingskaders -ADR PRI.4 -ARK 3.08 - -## Toelichting -In dat geval is er geen andere afzonderlijke rechtsgrond vereist dan die op grond waarvan de verzameling van persoonsgegevens werd toegestaan. - -Indien de verwerking noodzakelijk is voor de vervulling van een taak van algemeen belang of van een taak in het kader van de uitoefening van het openbaar gezag dat aan de verwerkingsverantwoordelijke is verleend, kan in het Unierecht of het lidstatelijke recht worden vastgesteld en gespecificeerd voor welke taken en doeleinden de verdere verwerking als rechtmatig en verenigbaar met de aanvankelijke doeleinden moet worden beschouwd. - -De verdere verwerking met het oog op archivering in het algemeen belang, wetenschappelijk of historisch onderzoek of statistische doeleinden, moet als een met de aanvankelijke doeleinden verenigbare rechtmatige verwerking worden beschouwd. - -De Unierechtelijke of lidstaatrechtelijke bepaling die als rechtsgrond voor de verwerking van persoonsgegevens dient, kan ook als rechtsgrond voor verdere verwerking dienen. - -## Maatregelen -Bij de inzet van algoritmes kunnen persoonsgegevens worden gebruikt die oorspronkelijk voor een ander doel zijn verzameld. Wanneer de verwerking gebaseerd is op Unierecht of lidstatelijk recht dat in een democratische samenleving een noodzakelijke en evenredige maatregel vormt voor met name het waarborgen van belangrijke doelstellingen van algemeen belang, moet de verwerkingsverantwoordelijke de mogelijkheid hebben de persoonsgegevens verder te verwerken, ongeacht of dat verenigbaar is met de doeleinden. Indien hiervan geen sprake is, dan moet bij hergebruik van persoonsgegevens voor andere doelen de verenigbaarheid van de verwerking uitdrukkelijk wordt onderbouwd . Of deze aanvullende verwerking verenigbaar is met de oorspronkelijke doelen waarvoor de gegevens werden verzameld, hangt af van een aantal factoren, onder andere welke informatie aanvankelijk aan de betrokkene is verstrekt. Deze factoren zijn opgenomen in de AVG en kunnen als volgt worden samengevat: -• het verband tussen de doeleinden waarvoor de gegevens zijn verzameld, en de doeleinden van de verdere verwerking; -• het kader waarin de gegevens zijn verzameld en de redelijke verwachtingen van de betrokkenen betreffende het verdere gebruik ervan; -• de aard van de gegevens; -• de gevolgen van de verdere verwerking voor de betrokkenen; en -• de waarborgen die door de verwerkingsverantwoordelijke worden toegepast om voor eerlijke verwerking te zorgen en ongewenste gevolgen voor de betrokkenen te voorkomen. - -## Rollen -Hieronder beschrijven we welke rollen er betrokken kunnen worden bij de uitvoering van deze norm. - - -## Best practices - - diff --git a/docs/normen/privacy en gegevensbescherming/GEB DPIA en voorafgaande raadpleging AP .md b/docs/normen/privacy en gegevensbescherming/GEB DPIA en voorafgaande raadpleging AP .md deleted file mode 100644 index d908dc4896..0000000000 --- a/docs/normen/privacy en gegevensbescherming/GEB DPIA en voorafgaande raadpleging AP .md +++ /dev/null @@ -1,49 +0,0 @@ ---- -title: GEB/DPIA en voorafgaande raadpleging AP - ---- - -!!! info "Disclaimer" - - Het Algoritmekader is nog volop in ontwikkeling. Op deze plek willen we vooral aan de slag gaan op een open en transparante wijze. Het is dus niet definitief. Dat betekent dat er dingen opstaan die niet af zijn en soms zelfs fout. Mocht er iets niet kloppen, laat het ons weten via [GitHub](https://github.com/MinBZK/Algoritmekader). - - -## Norm -**Een gegevensbeschermingseffectbeoordeling / Data Protection Impact Assessment (GEB / DPIA) is verplicht, indien een verwerking van persoonsgegevens waarschijnlijk een hoog risico inhoudt voor de rechten en vrijheden van natuurlijke personen.** - -## Risico -Bij de verwerking van persoonsgegevens zijn de risico's voor de rechten en vrijheden van betrokkenen zijn niet bekend en niet gemitigeerd. - -## Bronnen - -#### Wet- en regelgeving - -- [Algemene Verordening Gegevensbescherming (AVG)](https://eur-lex.europa.eu/legal-content/NL/TXT/HTML/?uri=CELEX:32016R0679&qid=1685451198313), artikel 35 AVG - -#### Toetsingskaders -ADR PRI.2/PRI.3 -ARK 3.03 - -## Toelichting -In de AVG is op hoofdlijnen aangegeven wanneer een DPIA verplicht is. Dat is het geval als een gegevensverwerking waarschijnlijk een hoog privacyrisico oplevert voor de mensen van wie gegevens worden verwerkt. -De Autoriteit Persoonsgegevens (AP) heeft daarnaast een (niet uitputtende) lijst van soorten verwerkingen opgesteld waarvoor het uitvoeren van een DPIA verplicht is vóórdat persoonsgegevens worden verwerkt. -De inzet van machine learning en deep learning valt in veel gevallen onder ‘gebruik van nieuwe technologieën’. Dat is een van de criteria voor een verplichte DPIA. - -## Maatregelen -Beoordeel of de gegevensverwerking waarschijnlijk een hoog privacyrisico oplevert voor de mensen van wie gegevens worden verwerkt. Gebruik hiervoor bijvoorbeeld de Pre-Scan DPIA van de Rijksoverheid of de DPIA Checklist van de AP. - -Indien blijkt dat de gegevensverwerking waarschijnlijk een hoog privacyrisico oplevert, dan moet een DPIA worden uitgevoerd. - -Een DPIA is een instrument om bij de verwerking van persoonsgegevens de risico’s voor de rechten en vrijheden van betrokkenen in kaart te brengen en te beoordelen in hoeverre de huidige maatregelen voldoen en welke aanvullende maatregelen genomen moeten worden om de risico’s zoveel mogelijk te verminderen. Hoewel een DPIA een verplichting is op basis van de AVG en voornamelijk ziet op het beoordelen van privacyrisico’s, dient een DPIA dus breder opgevat te worden. Bij het bepalen van passende maatregelen die genomen dienen te worden om de naleving van de privacyregelgeving aan te tonen, dienen ook de uitkomsten van de DPIA in acht te worden genomen. De Rijksoverheid heeft het Model DPIA Rijksdienst ontwikkeld. - - - -## Rollen -Hieronder beschrijven we welke rollen er betrokken kunnen worden bij de uitvoering van deze norm. - - - -## Best practices - - - diff --git a/docs/normen/privacy en gegevensbescherming/Geactualisserde en juiste gegevens.md b/docs/normen/privacy en gegevensbescherming/Geactualisserde en juiste gegevens.md deleted file mode 100644 index da733058a2..0000000000 --- a/docs/normen/privacy en gegevensbescherming/Geactualisserde en juiste gegevens.md +++ /dev/null @@ -1,44 +0,0 @@ ---- -title: Geactualisserde en juiste gegevens - ---- - -!!! info "Disclaimer" - - Het Algoritmekader is nog volop in ontwikkeling. Op deze plek willen we vooral aan de slag gaan op een open en transparante wijze. Het is dus niet definitief. Dat betekent dat er dingen opstaan die niet af zijn en soms zelfs fout. Mocht er iets niet kloppen, laat het ons weten via [GitHub](https://github.com/MinBZK/Algoritmekader). - - -## Norm -**De gegevens zijn juist en zo nodig geactualiseerd.** - -## Risico -De kwaliteit en integriteit van data is niet voldoende geborgd. - -## Bronnen - -#### Wet- en regelgeving - -- [Algemene Verordening Gegevensbescherming (AVG)](https://eur-lex.europa.eu/legal-content/NL/TXT/HTML/?uri=CELEX:32016R0679&qid=1685451198313), artikel 5 lid 1 sub d AVG - -#### Toetsingskaders - - -## Toelichting -Als de gegevens die in het algoritme worden gebruikt onjuist zijn, zullen ook besluiten of profielen die daaruit voortkomen onjuist zijn. Besluiten zijn mogelijk genomen op basis van verouderde gegevens of de onjuiste interpretatie van externe gegevens. Zelfs wanneer ruwe gegevens correct worden opgeslagen, is de gegevensreeks mogelijk niet geheel representatief of kunnen de analysegegevens ongemerkt vooroordelen bevatten. - -## Maatregelen -Verwerkingsverantwoordelijken moeten in alle stappen van het algoritmeproces juistheid in het oog houden, in het bijzonder bij: -• het verzamelen van gegevens; -• het analyseren van gegevens; -• het opstellen van model; of -• het toepassen van een model om een besluit met betrekking tot de persoon te nemen - -Documenteer de maatregelen in de DPIA. - -## Rollen -Hieronder beschrijven we welke rollen er betrokken kunnen worden bij de uitvoering van deze norm. - - - -## Best practices - diff --git a/docs/normen/privacy en gegevensbescherming/Geautomatiseerde besluitvorming en profileren.md b/docs/normen/privacy en gegevensbescherming/Geautomatiseerde besluitvorming en profileren.md deleted file mode 100644 index dd83ee0a24..0000000000 --- a/docs/normen/privacy en gegevensbescherming/Geautomatiseerde besluitvorming en profileren.md +++ /dev/null @@ -1,57 +0,0 @@ ---- -title: Geautomatiseerde besluitvorming en profileren - ---- - -!!! info "Disclaimer" - - Het Algoritmekader is nog volop in ontwikkeling. Op deze plek willen we vooral aan de slag gaan op een open en transparante wijze. Het is dus niet definitief. Dat betekent dat er dingen opstaan die niet af zijn en soms zelfs fout. Mocht er iets niet kloppen, laat het ons weten via [GitHub](https://github.com/MinBZK/Algoritmekader). - - -## Norm -**Betrokkenen hebben het recht om niet onderworpen te worden aan een enkel op geautomatiseerde verwerking, waaronder proflering, gebaseerd besluit, wanneer dit rechtsgevolgen heeft voor hen of het hen anderszins in aanzienlijke mate tref.** - -## Risico -Een betrokkene ondervindt aanmerkelijke gevolgen door een geautomatiseerd besluit, zonder dat deze een beroep op menselijke tussenkomst kan doen. - -## Bronnen - -#### Wet- en regelgeving - -- [Algemene Verordening Gegevensbescherming (AVG)](https://eur-lex.europa.eu/legal-content/NL/TXT/HTML/?uri=CELEX:32016R0679&qid=1685451198313), artikel 22 AVG - -#### Toetsingskaders -ADR PRI.10 -ARK 2.06/3.04/3.05/3.11/3.13/3.14 - -## Toelichting -Als regel geldt een algemeen verbod op uitsluitend geautomatiseerde individuele besluitvorming, met inbegrip van profilering waaraan voor de betrokkene juridische of -anderszins aanmerkelijke gevolgen zijn verbonden. - -Op grond van artikel 40 van de Uitvoeringswet AVG (UAVG) geldt het verbod op uitsluitend geautomatiseerde individuele besluitvorming, anders dan op basis van profilering, niet als deze besluitvorming noodzakelijk is om te voldoen aan een wettelijke plicht of als het noodzakelijk is om een taak van algemeen belang uit te voeren. - - -## Maatregelen -​Beoordeel of sprake is van uitsluitend geautomatiseerde besluitvorming , inclusief profilering, waaraan rechtsgevolgen zijn verbonden of dat anderszins in aanmerkelijke mate treft, zoals bedoeld in artikel 22, lid 1. Beoordeel of een van de uitzonderingen artikel 22 lid 2 AVG van toepassing is. - -Neem passende maatregelen om de belangen van de burger te waarborgen, waaronder ten minste het recht om geïnformeerd te worden (behandeld in de artikelen 13 en 14 – in het bijzonder om noodzakelijke informatie te ontvangen over de onderliggende logica, het belang en de verwachte gevolgen voor de betrokkene), beschermingsmaatregelen, zoals het recht op menselijke tussenkomst, het recht om zijn standpunt kenbaar te maken en het recht om het besluit aan te vechten (behandeld in artikel 22, lid 3). - -Andere suggesties die volgen uit WP251 -• Gegevensverzamelingen regelmatig beoordelen om te controleren of geen sprake is van vooroordelen, en manieren ontwikkelen om nadelige elementen, waaronder overmatig vertrouwen in verbanden, aan te pakken. -• Systemen hanteren die algoritmen automatisch controleren. -• Evaluatie van algoritmen: het testen van de gebruikte en door machinaal lerende systemen ontwikkelde algoritmen om te bewijzen dat ze daadwerkelijk functioneren zoals bedoeld en geen discriminerende, onjuiste of ongerechtvaardigde resultaten genereren. -• Regelmatige beoordelingen van de nauwkeurigheid en relevantie van geautomatiseerde besluitvorming, met inbegrip van profilering. -• Auditors vereiste informatie verstrekken over werking algoritme of machinaal lerende systeem. -• Hoge mate van transparantie, zoals: visualisatie- en interactieve technieken en gebruik van een mechanisme waarmee betrokkenen hun profiel kunnen controleren. -• Contractuele waarborgen verkrijgen voor algoritmen van derden die bewijzen dat evaluaties en tests zijn uitgevoerd en het algoritme aan de overeengekomen normen voldoet. - -Indien bij de geautomatiseerde besluitvorming (zoals beschreven in artikel 22 lid 1) de in artikel 9, lid 1, bedoelde bijzondere categorieën van persoonsgegevens betrokken zijn, moet er ook voor worden gezorgd dat wordt voldaan aan de vereisten van artikel 22, lid 4 AVG of artikel 40 van de UAVG. - -Bij elke verwerking die waarschijnlijk een hoog risico voor betrokkenen zal inhouden, is het verplicht zijn om een DPIA uit te voeren. Naast de beoordeling van andere risico's die aan de verwerking verbonden zijn, kan een DPIA in dit geval zeer nuttig zijn om bovenstaande stappen te documenteren. - -## Rollen -Hieronder beschrijven we welke rollen er betrokken kunnen worden bij de uitvoering van deze norm. - - - -## Best practices diff --git a/docs/normen/privacy en gegevensbescherming/Opslagbeperking.md b/docs/normen/privacy en gegevensbescherming/Opslagbeperking.md deleted file mode 100644 index 96cf2ea314..0000000000 --- a/docs/normen/privacy en gegevensbescherming/Opslagbeperking.md +++ /dev/null @@ -1,38 +0,0 @@ ---- -title: Opslagbeperking - ---- - -!!! info "Disclaimer" - - Het Algoritmekader is nog volop in ontwikkeling. Op deze plek willen we vooral aan de slag gaan op een open en transparante wijze. Het is dus niet definitief. Dat betekent dat er dingen opstaan die niet af zijn en soms zelfs fout. Mocht er iets niet kloppen, laat het ons weten via [GitHub](https://github.com/MinBZK/Algoritmekader). - - -## Norm -**Gegevens worden niet langer worden bewaard dan nodig (opslagbeperking).** - -## Risico -Persoonsgegevens worden langer bewaard dan nodig. - -## Bronnen - -#### Wet- en regelgeving - -- [Algemene Verordening Gegevensbescherming (AVG)](https://eur-lex.europa.eu/legal-content/NL/TXT/HTML/?uri=CELEX:32016R0679&qid=1685451198313), artikel 5, lid 1, onder e AVG, Archiefwet - -#### Toetsingskaders -ADR PRI.11 - -## Toelichting -Persoonsgegevens mogen niet langer bewaard worden dan noodzakelijk voor het doel van de verwerking. -Wanneer de gegevens niet langer noodzakelijk zijn, dan moeten zij worden vernietigd of gewist. - -## Maatregelen -Stel de bewaartermijnen vast. Zorg voor vernietigingsprocedure, een document waaruit blijkt dat dit ingeregeld en/of uitgevoerd is. - -Documenteer de maatregelen in de DPIA. - -## Rollen -Hieronder beschrijven we welke rollen er betrokken kunnen worden bij de uitvoering van deze norm. - -## Best practices diff --git a/docs/normen/privacy en gegevensbescherming/Privacy by Design en by Default.md b/docs/normen/privacy en gegevensbescherming/Privacy by Design en by Default.md deleted file mode 100644 index 7810e44901..0000000000 --- a/docs/normen/privacy en gegevensbescherming/Privacy by Design en by Default.md +++ /dev/null @@ -1,54 +0,0 @@ ---- -title: Privacy by Design en by Default - ---- - -!!! info "Disclaimer" - - Het Algoritmekader is nog volop in ontwikkeling. Op deze plek willen we vooral aan de slag gaan op een open en transparante wijze. Het is dus niet definitief. Dat betekent dat er dingen opstaan die niet af zijn en soms zelfs fout. Mocht er iets niet kloppen, laat het ons weten via [GitHub](https://github.com/MinBZK/Algoritmekader). - - -## Norm -**Privacy en gegevensbescherming is meegenomen als eis bij het ontwerp van nieuwe systemen waarmee persoonsgegevens worden verwerkt. (‘privacy door ontwerp en standaardinstellingen/ Privacy by Design en Privacy by Default).** - -## Risico -Ontwerp en opzet van het algoritme zijn onvoldoende gericht op de bescherming van privacy. - -## Bronnen - -#### Wet- en regelgeving - -- [Algemene Verordening Gegevensbescherming (AVG)](https://eur-lex.europa.eu/legal-content/NL/TXT/HTML/?uri=CELEX:32016R0679&qid=1685451198313), artikel 25 AVG - -#### Toetsingskaders -ARK 3.02 - -## Toelichting -Zorg ervoor dat een zo klein mogelijke inbreuk op de persoonlijke levenssfeer wordt gemaakt bij de inzet van het algoritme (met verwerking van persoonsgegevens), bijvoorbeeld door het -toepassen van pseudonimisering en het inbouwen van andere technische waarborgen. - -Bij het bepalen van de verwerkingsmiddelen en de verwerking moet u rekening houden met de volgende elementen: -• de stand van de techniek; -• de uitvoeringskosten; -• de aard, omvang, context en het doel van de verwerking; -• de risico’s voor de betrokkene. -Deze elementen bepalen gezamenlijk welke technische en organisatorische maatregelen u moet nemen om de gegevensbeschermingsbeginselen (artikel 5 AVG) op een doeltreffende manier uit te voeren en de nodige waarborgen in te bouwen ter naleving van de eisen uit de AVG. - - -## Maatregelen -Data georiënteerde ontwerp strategieën: -• Minimaliseer: beperk zoveel mogelijk de verwerking van gegevens. Selecteer voor het verzamelen. Verwijder waar mogelijk. -• Scheid: scheid persoonsgegevens zoveel mogelijk van elkaar en werk zo gedistribueerd mogelijk -• Abstraheer: aggregeer tot het hoogst mogelijke niveau. Beperk zoveel mogelijk het detail waarin persoonsgegevens worden verwerkt -• Bescherm/maak onherleidbaar: Voorkom dat gegevens openbaar worden. Beveilig gegevens. Verbreek waar mogelijk de link tussen personen en gegevens (anonimiseer en pseudonimiseer) - -Leg dit vast in de DPIA. - -## Rollen -Hieronder beschrijven we welke rollen er betrokken kunnen worden bij de uitvoering van deze norm. - - -## Best practices - - - diff --git a/docs/normen/privacy en gegevensbescherming/Privacyrechten.md b/docs/normen/privacy en gegevensbescherming/Privacyrechten.md deleted file mode 100644 index 88628afc80..0000000000 --- a/docs/normen/privacy en gegevensbescherming/Privacyrechten.md +++ /dev/null @@ -1,41 +0,0 @@ ---- -title: Privacyrechten - ---- - -!!! info "Disclaimer" - - Het Algoritmekader is nog volop in ontwikkeling. Op deze plek willen we vooral aan de slag gaan op een open en transparante wijze. Het is dus niet definitief. Dat betekent dat er dingen opstaan die niet af zijn en soms zelfs fout. Mocht er iets niet kloppen, laat het ons weten via [GitHub](https://github.com/MinBZK/Algoritmekader). - - -## Norm -**Betrokkenen kunnen een beroep doen op hun privacyrechten.** - -## Risico -Betrokkenen hebben geen controle over hun persoonsgegevens doordat ze geen beroep kunnen doen op hun privacyrechten. - -## Bronnen - -#### Wet- en regelgeving -- [Algemene Verordening Gegevensbescherming (AVG)](https://eur-lex.europa.eu/legal-content/NL/TXT/HTML/?uri=CELEX:32016R0679&qid=1685451198313), artikel 15-21 AVG - -#### Toetsingskaders -ADR PRI.9 -ARK 3.12/3.15 - -## Toelichting -De persoonsgegevens kunnen worden ingezien, gerectificeerd, verwijderd of beperkt om een juiste uitvoering te kunnen geven aan de rechten van betrokkenen. - -## Maatregelen -Geef aan hoe invulling wordt gegeven aan de rechten van betrokkenen. - -Stel een procedure vast waarmee o.a. aan verzoekers informatie kan worden verstrekt over geautomatiseerde verwerking van persoonsgegevens en de onderliggende logica en het belang en de verwachte gevolgen van de verwerking. - -Indien de rechten van de betrokkene worden beperkt, bepaal op grond van welke wettelijke uitzonderingen dat is toegestaan en leg dit vast. - -## Rollen -Hieronder beschrijven we welke rollen er betrokken kunnen worden bij de uitvoering van deze norm. - - - -## Best practices diff --git a/docs/normen/privacy en gegevensbescherming/Rechtmatigheid en grondslag.md b/docs/normen/privacy en gegevensbescherming/Rechtmatigheid en grondslag.md deleted file mode 100644 index 5ed57c194b..0000000000 --- a/docs/normen/privacy en gegevensbescherming/Rechtmatigheid en grondslag.md +++ /dev/null @@ -1,68 +0,0 @@ ---- -title: Rechtmatigheid en grondslag - ---- - -!!! info "Disclaimer" - - Het Algoritmekader is nog volop in ontwikkeling. Op deze plek willen we vooral aan de slag gaan op een open en transparante wijze. Het is dus niet definitief. Dat betekent dat er dingen opstaan die niet af zijn en soms zelfs fout. Mocht er iets niet kloppen, laat het ons weten via [GitHub](https://github.com/MinBZK/Algoritmekader). - - -## Norm -**De verwerking van persoonsgegevens is rechtmatig, behoorlijk en transparant. De verwerking (inclusief het verzamelen) is gebaseerd op één van de wettelijke grondslagen die zijn genoemd in de AVG.** - -## Risico -- De verwerking van persoonsgegevens gebeurt niet rechtmatig, behoorlijk of transparant. -- De verwerking (inclusief het verzamelen) van de persoonsgegevens door het algoritme is niet gebaseerd op een wettelijke grondslag. - -## Bronnen - -#### Wet- en regelgeving - -- [Algemene Verordening Gegevensbescherming (AVG)](https://eur-lex.europa.eu/legal-content/NL/TXT/HTML/?uri=CELEX:32016R0679&qid=1685451198313), artikel 5, lid 1, onder a AVG, Artikel 12-14 AVG, Artikel 6 AVG - -#### Toetsingskaders -ADR PRI.6 -ARK 3.12/3.13/3.14/3.15 - -## Toelichting -- Uitgangspunt is dat persoonsgegevens alleen mogen worden verwerkt voor gerechtvaardigde doeleinden. Dit betekent dat de verwerking noodzakelijk moet zijn met het oog op het bereiken van specifieke doelen. Wanneer het gerechtvaardigd is om persoonsgegevens te verwerken, moet de verwerking ervan vervolgens netjes en verantwoord gebeuren. Ten slotte moet duidelijk zijn voor welke doelen persoonsgegevens worden verwerkt en hoe dat gebeurt. Transparantie van de verwerking is een fundamenteel vereiste van de AVG. De inzet van een algoritme is voor de betrokkene vaak onzichtbaar. De mate waarin mensen dergelijke processen begrijpen, verschilt per persoon. Voor sommigen kan het moeilijk zijn de complexe technieken te begrijpen. -- De AVG noemt de volgende wettelijke grondslagen: -• Uitvoering van een overeenkomst waarbij de betrokkene partij is -• Voldoen aan een wettelijke verplichting -• Noodzakelijk voor vitaal belang van betrokkene -• Noodzakelijk voor vervulling van een taak van algemeen belang of uitoefening openbaar gezag -• Gerechtvaardigd belang van verwerkingsverantwoordelijke of een derde - -## Maatregelen -- De betrokkenen zijn geïnformeerd over de verwerking van persoonsgegevens. Bijvoorbeeld middels een privacyverklaring op website en indien relevant opgenomen in individuele communicatie naar betrokkene(n). - -Organisaties die gegevens verwerken zoals bedoeld in artikel 22 AVG moeten naast de algemene vereisten nuttige informatie over de onderliggende logica verstrekken. Nuttige informatie over de onderliggende logica: -- Niet noodzakelijkerwijs een ingewikkelde toelichting over de gebruikte algoritmen of een -uiteenzetting van het volledige algoritme. -- De verstrekte informatie moet echter volledig genoeg zijn voor de betrokkene om de redenen van het besluit te kunnen begrijpen. -- Gedetailleerde informatie over de belangrijkste kenmerken die bij de besluitvorming in -beschouwing worden genomen, de bron van deze informatie en het belang ervan. -Bijvoorbeeld: -• de gegevenscategorieën die zijn gebruikt of zullen worden gebruikt in het profilerings- of -besluitvormingsproces; -• de redenen waarom deze categorieën relevant worden geacht; -• de manier waarop de in het geautomatiseerde -besluitvormingsproces gebruikte profielen worden samengesteld, met inbegrip van statistieken die in de analyse worden gebruikt; -• de redenen waarom dit profiel relevant -is voor het geautomatiseerde besluitvormingsproces; en -• de manier waarop het voor een besluit over de betrokkene wordt gebruikt. -Neem de analyse en genomen maatregelen op in de DPIA. - -- Beoordeel en leg vast op elke rechtsgrondslag als genoemd in de AVG de verwerking is gebaseerd. -Een verwerking is gerechtvaardigd wanneer het doel van de verwerking kan worden gebaseerd op een rechtsgrondslag zoals opgenomen in -één van de zes rechtsgrondslagen die in de AVG worden gegeven. Kan dat niet, dan is het niet toegestaan persoonsgegevens te verwerken. De lijst van rechtsgrondslagen is limitatief, er kunnen geen andere gronden worden aangevoerd. -Leg dit vast in de DPIA. - - -## Rollen -Hieronder beschrijven we welke rollen er betrokken kunnen worden bij de uitvoering van deze norm. - -- - -## Best practices diff --git a/docs/normen/privacy en gegevensbescherming/Rollen en verantwoordelijkheden.md b/docs/normen/privacy en gegevensbescherming/Rollen en verantwoordelijkheden.md deleted file mode 100644 index ebacda0af0..0000000000 --- a/docs/normen/privacy en gegevensbescherming/Rollen en verantwoordelijkheden.md +++ /dev/null @@ -1,43 +0,0 @@ ---- -title: Rollen en verantwoordlijkheden - ---- - -!!! info "Disclaimer" - - Het Algoritmekader is nog volop in ontwikkeling. Op deze plek willen we vooral aan de slag gaan op een open en transparante wijze. Het is dus niet definitief. Dat betekent dat er dingen opstaan die niet af zijn en soms zelfs fout. Mocht er iets niet kloppen, laat het ons weten via [GitHub](https://github.com/MinBZK/Algoritmekader). - - -## Norm - -**Rollen en verantwoordlijkheden m.b.t. de verwerking van persoonsgegevens zijn gespecificeerd.** - -## Risico -Rollen en verantwoordelijkheden m.b.t. de verwerking van persoonsgegeven in het algoritme zijn niet helder belegd. - -## Bronnen - -#### Wet- en regelgeving - -- [Algemene Verordening Gegevensbescherming (AVG)](https://eur-lex.europa.eu/legal-content/NL/TXT/HTML/?uri=CELEX:32016R0679&qid=1685451198313), artikel 24, 26,27, 28, 29 - -#### Toetsingskaders -ADR PRI.1 - -ARK 3.09 - -## Toelichting -De verwerkingsverantwoordelijke bepaalt de doeleinden waarvoor en de middelen waarmee persoonsgegevens worden verwerkt. Als uw organisatie dus beslist „waarom” en „hoe” persoonsgegevens moeten worden verwerkt, is zij de verwerkingsverantwoordelijke. - -Uw organisatie is een gezamenlijke verwerkingsverantwoordelijke als zij samen met één of meer organisaties gezamenlijk bepaalt „waarom” en „hoe” persoonsgegevens moeten worden verwerkt. Gezamenlijke verwerkingsverantwoordelijken dienen een regeling te treffen waarin hun respectieve verantwoordelijkheden voor de naleving van de AVG-regels worden vastgelegd. - -De verwerker verwerkt persoonsgegevens uitsluitend ten behoeve van de verwerkingsverantwoordelijke. De taken van de verwerker jegens de verwerkingsverantwoordelijke moeten in een verwerkersovereenkomst of een andere rechtshandeling worden gespecificeerd. - -## Maatregelen -Ga van alle betrokken partijen na wat hun rol is en documenteer deze. Zorg ervoor dat met alle verwerkers een verwerkersovereenkomst is afgesloten. - -## Rollen -Hieronder beschrijven we welke rollen er betrokken kunnen worden bij de uitvoering van deze norm. - -## Best practices - diff --git a/docs/normen/privacy en gegevensbescherming/index.md b/docs/normen/privacy en gegevensbescherming/index.md deleted file mode 100644 index 063dec83fe..0000000000 --- a/docs/normen/privacy en gegevensbescherming/index.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -title: Privacy en gegevensbescherming - ---- -!!! info "Disclaimer" - - Het Algoritmekader is nog volop in ontwikkeling. Op deze plek willen we vooral aan de slag gaan op een open en transparante wijze. Het is dus niet definitief. Dat betekent dat er dingen opstaan die niet af zijn en soms zelfs fout. Mocht er iets niet kloppen, laat het ons weten via [GitHub](https://github.com/MinBZK/Algoritmekader). diff --git "a/docs/normen/technische robuustheid en veiligheid/Algoritme continu\303\257teit.md" "b/docs/normen/technische robuustheid en veiligheid/Algoritme continu\303\257teit.md" deleted file mode 100644 index 897e86ff9e..0000000000 --- "a/docs/normen/technische robuustheid en veiligheid/Algoritme continu\303\257teit.md" +++ /dev/null @@ -1,48 +0,0 @@ ---- -title: Algoritme continuïteit - ---- - -!!! info "Disclaimer" - - Het Algoritmekader is nog volop in ontwikkeling. Op deze plek willen we vooral aan de slag gaan op een open en transparante wijze. Het is dus niet definitief. Dat betekent dat er dingen opstaan die niet af zijn en soms zelfs fout. Mocht er iets niet kloppen, laat het ons weten via [GitHub](https://github.com/MinBZK/Algoritmekader). - - -## Norm -**De continuïteit van het algoritme is gewaarborgd.** - -## Risico -- De organisatie is voor de data of het model afhankelijk van derden en kan daardoor reproduceerbaarheid, prestatie, continuïteit en beheersing niet garanderen. -- Er vindt na ingebruikname van het algoritme onvoldoende monitoring plaats op de werking ervan, waardoor fouten of ongewenste effecten in de toepassinge ervan niet tijdig worden opgemerkt. -- Er vindt onvoldoende capaciteit in de beheerorganisatie, waardoor benodigde aanpassingen op het algoritme niet tijdig worden doorgevoerd. - -## Bronnen - -#### Wet- en regelgeving - - -#### Toetsingskaders -EC/AI HLEG April 2019 hoofdstuk II 1.7 -COBIT APO11 / BAI04 / DSS04 / PO09 / APO14 / BAI06 -ADR DM.23 -AKR 2.17, 1.07, 1.08, 2.24 - -## Toelichting -- De data en het model zijn bij voorkeur in eigen beheer. Wanneer dit niet mogelijk is, zijn afspraken gemaakt om de functionele eisen te waarborgen. -- Na ingebruikname van een algoritme moet periodiek beoordeeld worden of het nog doet wat het zou moeten doen. Je kunt hierbij denken aan monitoring op beschikbaarheid, prestaties/kwaliteit en of het algoritme voldoet aan actuele wet- en regelgeving. -- Het risico bestaat dat bij het in productie nemen van het algoritme onvoldoende aandacht wordt besteed aan de overdracht aan de beheersorganisatie. Gevolg hiervan kan zijn dat in de beheersorganisatie onvoldioende capaciteit en/of kennis beschikbaar is om eventuele aanpassingen tijdig door te voeren. - -## Maatregelen -- Alle gebruikte data moet traceerbaarbaar of reproduceerbaar zijn. In geval van uitbesteding van het beheer aan derden moeten hierover heldere afspraken gemaakt worden gemaakt. -- Ingericht proces rondom monitoring op genoemde aspecten. -- Onderhoud en beheer op het algoritme vindt plaats op basis van heldere afspraken, o.a. met betrekking tot de technische componenten, de gebruikte data, het model en de daarin gebruikte parameters. - - -## Rollen -Hieronder beschrijven we welke rollen er betrokken kunnen worden bij de uitvoering van deze norm. - - - - -## Best practices - diff --git a/docs/normen/technische robuustheid en veiligheid/Betrouwbare algoritme uitkomsten.md b/docs/normen/technische robuustheid en veiligheid/Betrouwbare algoritme uitkomsten.md deleted file mode 100644 index 6f4d20ea80..0000000000 --- a/docs/normen/technische robuustheid en veiligheid/Betrouwbare algoritme uitkomsten.md +++ /dev/null @@ -1,45 +0,0 @@ ---- -title: Betrouwbare algoritme uitkomsten - ---- - -!!! info "Disclaimer" - - Het Algoritmekader is nog volop in ontwikkeling. Op deze plek willen we vooral aan de slag gaan op een open en transparante wijze. Het is dus niet definitief. Dat betekent dat er dingen opstaan die niet af zijn en soms zelfs fout. Mocht er iets niet kloppen, laat het ons weten via [GitHub](https://github.com/MinBZK/Algoritmekader). - - -## Norm -**De uitkomsten van het algoritme zijn eenduidig en betrouwbaar.** - -## Risico -- Als trainings-, test- en validatiedata door elkaar lopen, treedt overfitting op en lijkt het model beter te presteren dan deze in werkelijkheid het geval is. -- Het doel van het algoritme, de functionele eisen van het model en de performance metrics sluiten onvoldoende op elkaar aan, waardoor niet kan worden vastgesteld of het model voldoende presteert, of dat de kwaliteit op orde is. -- Door veranderingen in de data presteert het model niet meer zoals verwacht. -- Beslissingen worden genomen op basis van outputdata die verkeerd begrepen zijn. - -## Bronnen - -#### Wet- en regelgeving - -#### Toetsingskaders -EC/AI HLEG April 2019 - hoofdstuk II. 1.1 t/m 1.6, 1.2, 2.1§100 -ADR DM.1, DM.4, DM.8, DM.12, DM.5 -ARK 2.19, 2.21, 2.22, 1.06, 2.15, 2.20 - -## Toelichting -- Vermennging van trainings-, test- en validatiedata leidt tot overfitting van het model, waardoor het goed werkt voor de data waarmee het getraind is, maar niet geschikt is voor nieuwe observaties. -- De functionele eisen moeten zijn uitgewerkt in meetbare eisen voor zowel de prestatie, de robuustheid, de bias en de uitlegbaarheid van het model. Deze eisen moeten passen bij de modelspecifieke context. -- Veranderingen in de data kunnen ertoe leiden dat de prestaties van het model achteruit gaan. Wanneer veranderingen in de data niet direct duidelijk zijn, zal periodieke evaluatie plaats moeten te vinden. -- De interpretatie van de uitkomsten van het model moet eenduidig zijn en onafhankelijk van de persoon die de beoordeling uitvoert. - -## Maatregelen -- Scheiding en documentatie van de datasets voor training, testen en validatie van et model. Let in het bijzonder op wanneer het model geüpdatet wordt aan de hand van (deels) eerder gebruikte data. -- Documentatieer alle prestatiecriteria, inclusief de relatie met de doelstellingen en de functionele eisen van het algoritme. Bewaar testresultaten waaruit blijkt dat het algoritme aan de criteria voldoet. -- Leg voor elk algoritme de kwaliteits- en prestatiedoelen vast. Stel een procesbeschrijving op voor het monitoren hiervan. Evalueer bij veranderingen in de data of het model nog aan de doelen voldoet en pas het zonodig aan. -- Eenduidige beschrijving van variabelen. Indien nodig extra toelichting in de metadata. - -## Rollen -Hieronder beschrijven we welke rollen er betrokken kunnen worden bij de uitvoering van deze norm. - - -## Best practices diff --git a/docs/normen/technische robuustheid en veiligheid/Data is representatief.md b/docs/normen/technische robuustheid en veiligheid/Data is representatief.md deleted file mode 100644 index ab615b541b..0000000000 --- a/docs/normen/technische robuustheid en veiligheid/Data is representatief.md +++ /dev/null @@ -1,40 +0,0 @@ ---- -title: Data is representatief - ---- - -!!! info "Disclaimer" - - Het Algoritmekader is nog volop in ontwikkeling. Op deze plek willen we vooral aan de slag gaan op een open en transparante wijze. Het is dus niet definitief. Dat betekent dat er dingen opstaan die niet af zijn en soms zelfs fout. Mocht er iets niet kloppen, laat het ons weten via [GitHub](https://github.com/MinBZK/Algoritmekader). - - -## Norm -**De data die worden gebruikt is eenduidig en representatief voor de populatie waarop het algoritme wordt toegepast.** - -## Risico -- De input- en outputdata voldoen qua kwaliteit, volledigheid en betrouwbaarheid niet aan de functionele eisen, waardoor verkeerde beslissingen genomen. -- Door training van het model met een niet-evenwichtige dataset presteert het model in de praktijk minder goed dan bij de tests. - -## Bronnen - -#### Wet- en regelgeving - -#### Toetsingskaders -EC/AI HLEG April 2019 - hoofdstuk II. 1.2, 2.1§100, 1.3 -ADR DM.6, DM.7, DM.9 -ARK 2.12, 2.16, 2.10 - -## Toelichting -- Het model doet iets anders dan verwacht als inputvariabelen en outputdata een andere betekenis hebben dan verwacht.   -- De dataset waarmee het model getraind wordt moet passend zijn bij het beoogde gebruik van het model. Trainings-, test- en validatiedata moeten zijn afgestemd op de doelgroep van het algoritme en de subgroepen daarin. - -## Maatregelen -- Ga voor alle data na of deze tijdig, volledig en definitief beschikbaar is, een herleidbare afkomst heeft, consistent gecodeerd is en duidelijke metadata bij de variabelen bevat. -- Kijk daarnaast naar het risico op datavervuiling in het proces. Stel documentatie op waarin de functionele eisen zijn opgenomen, in combinatie met resultaten van een check op het voldoen aan deze eisen. Implementeer structurele controles op correcte werking. -Vastlegging van de de keuzes zijn gemaakt bij het samenstellen van de datasets en hoe de kwaliteit hiervan gewaarborgd is. Dusdanig duidelijke omschrijving van de doelpopulatie dat deze statistisch gevalideerd kan worden. Samenvattende statistieken van inputdatasets die gebruikt zijn bij de onderbouwing van data en modelkeuze. Bij de keuze voor training- en testdata in de ontwikkelfase moet zijn gelet op zowel under- als overfitting. - -## Rollen -Hieronder beschrijven we welke rollen er betrokken kunnen worden bij de uitvoering van deze norm. - - -## Best practices diff --git a/docs/normen/technische robuustheid en veiligheid/Doel en keuze algoritme.md b/docs/normen/technische robuustheid en veiligheid/Doel en keuze algoritme.md deleted file mode 100644 index 9e2989a4a1..0000000000 --- a/docs/normen/technische robuustheid en veiligheid/Doel en keuze algoritme.md +++ /dev/null @@ -1,42 +0,0 @@ ---- -title: Doel en keuze algoritme - ---- - -!!! info "Disclaimer" - - Het Algoritmekader is nog volop in ontwikkeling. Op deze plek willen we vooral aan de slag gaan op een open en transparante wijze. Het is dus niet definitief. Dat betekent dat er dingen opstaan die niet af zijn en soms zelfs fout. Mocht er iets niet kloppen, laat het ons weten via [GitHub](https://github.com/MinBZK/Algoritmekader). - - -## Norm -**Het algoritme dat wordt gebruikt is geschikt voor het doel waarvoor het wordt ingezet.** - -## Risico -- Het algoritme gebruikt een model, terwijl niet voldaan wordt aan de voorwaarden voor het gebruik ervan. -- De hyperparameters zijn niet goed gekozen, waardoor niet goed gestuurd kan worden op het leerproces en het model suboptimaal presteert. - -## Bronnen - -#### Wet- en regelgeving - -#### Toetsingskaders -EC/AI HLEG April 2019 - hoofdstuk II. 1.2, 1.2 -ADR DM.2, DM.3 -ARK 2.06 - -## Toelichting -- Het moet duidelijk zijn onder welke voorwaarden het model wel of niet gebruikt kan worden. Denk hierbij bijvoorbeeld aan modeleisen voor de verdeling van data of afwijkingen van de productieset ten opzichte van de testset. Dit is dusdanig begrijpelijk dat de grenzen ook bekend zijn voor (nieuwe) medewerkers wanneer de ontwikkelaars van het model niet meer binnen de organisatie werkzaam zijn. -- Een hyperparameter is een parameter waarmee kan worden gestuurd op een trainings-/leerproces. Het uitvoeren van een peer review (4-ogen principe) en vastlegging van de code in Git kan hiervan een uitwerking zijn. - -## Maatregelen -- Documenteer de grenzen van de toepasbaarheid van het model en de voorwaarden waaronder het kan worden gebruikt. -- Leg de keuze voor de hyperparameters vast en beargumenteer deze, bijvoorbeeld in Git en/of het technisch of functioneel ontwerp. - -## Rollen -Hieronder beschrijven we welke rollen er betrokken kunnen worden bij de uitvoering van deze norm. - - - -## Best practices - - diff --git a/docs/normen/technische robuustheid en veiligheid/Informatiebeveiliging.md b/docs/normen/technische robuustheid en veiligheid/Informatiebeveiliging.md deleted file mode 100644 index c395c4838b..0000000000 --- a/docs/normen/technische robuustheid en veiligheid/Informatiebeveiliging.md +++ /dev/null @@ -1,40 +0,0 @@ ---- -title: Informatiebeveiliging - ---- - -!!! info "Disclaimer" - - Het Algoritmekader is nog volop in ontwikkeling. Op deze plek willen we vooral aan de slag gaan op een open en transparante wijze. Het is dus niet definitief. Dat betekent dat er dingen opstaan die niet af zijn en soms zelfs fout. Mocht er iets niet kloppen, laat het ons weten via [GitHub](https://github.com/MinBZK/Algoritmekader). - - -## Norm -**De informatiebeveiliging is op orde.** - -## Risico -Indien de informatiebeveiliging onvoldoende op orde is, brengt dit grote risico's met mee voor de beschikbaarheid, de integriteit en de vertrouwelijkheid van gegevens. - -## Maatregelen -Zorg ervoor dat zowel bij de onrtwikkeling van het algoritme als bij het gebruik ervan voldaan wordt aan de eisen uit de BIO. - -## Bronnen - -#### Wet- en regelgeving - -#### Toetsingskaders -Baseline Informatieveiligheid Overheid -ADR IB.1 t/m IB 30 - -## Toelichting -De gebruikte technische infrastructuur, de inrichting en het beheer ervan moeten voldoen aan de daarvoor geldende eisenn op het gebied van informatiebeveiliging. Voor de overheid zijn deze vastgelegd in de Baseline Informatieveilgheid Overheid (BIO). De BIO concretiseert een aantal normen tot verplichte overheidsmaatregelen. De BIO is in zijn geheel van toepassing. - -## Maatregelen -Zorg ervoor dat zowel bij de onrtwikkeling van het algoritme als bij het gebruik ervan voldaan wordt aan de eisen uit de BIO. - -## Rollen -Hieronder beschrijven we welke rollen er betrokken kunnen worden bij de uitvoering van deze norm. - - - -## Best practices - diff --git a/docs/normen/technische robuustheid en veiligheid/index.md b/docs/normen/technische robuustheid en veiligheid/index.md deleted file mode 100644 index db281e8737..0000000000 --- a/docs/normen/technische robuustheid en veiligheid/index.md +++ /dev/null @@ -1,8 +0,0 @@ ---- -title: Technische robuustheid en veiligheid - ---- - -!!! info "Disclaimer" - - Het Algoritmekader is nog volop in ontwikkeling. Op deze plek willen we vooral aan de slag gaan op een open en transparante wijze. Het is dus niet definitief. Dat betekent dat er dingen opstaan die niet af zijn en soms zelfs fout. Mocht er iets niet kloppen, laat het ons weten via [GitHub](https://github.com/MinBZK/Algoritmekader). \ No newline at end of file diff --git a/docs/normen/transparantie/Algoritmeregister.md b/docs/normen/transparantie/Algoritmeregister.md deleted file mode 100644 index 6533cd1eac..0000000000 --- a/docs/normen/transparantie/Algoritmeregister.md +++ /dev/null @@ -1,43 +0,0 @@ ---- -title: Algoritmeregister - ---- - -!!! info "Disclaimer" - - Het Algoritmekader is nog volop in ontwikkeling. Op deze plek willen we vooral aan de slag gaan op een open en transparante wijze. Het is dus niet definitief. Dat betekent dat er dingen opstaan die niet af zijn en soms zelfs fout. Mocht er iets niet kloppen, laat het ons weten via [GitHub](https://github.com/MinBZK/Algoritmekader). - - -## Norm -**De inzet en werking van het algoritme is gepubliceerd in een register en inzichtelijk voor belanghebbende.** - -## Risico -Ontbreken transparantie voor burgers/bedrijven/stakeholders (belanghebbenden) - -## Bronnen - -#### Wet- en regelgeving -- [AI Act](https://artificialintelligenceact.eu/wp-content/uploads/2023/08/AI-Mandates-20-June-2023.pdf), artikel 60 - - - -#### Toetsingskaders - EC/AI HLEG April 2019 - Hoofdstuk II.1.4 -ARK 2.23/2.07 - -## Toelichting -Doel van publicatie van informatie over het algoritme is het bieden van transparantie naar betrokkenen. Het zorgt ervoor dat het voor de vooraf bepaalde personen/doelgroepen duidelijk is dat zij met een algoritme te maken hebben, welke consequenties dat heeft en welke beperkingen het algoritme kent. De gewenste mate van transparantie (technische transparantie vs. uitlegbaarheid) is weloverwogen; het hangt af van 1) de impact van het algoritme op de beslissing, uitkomst en burger, (2) de mate van autonomie bij de besluitvorming en (3) het type en de complexiteit van het algoritme. De informatie dient voldoende begrijpelijk te zijn voor de doelgroep(en). - -## Maatregelen -Belanghebbenden worden op een begrijpelijke manier geïnformeerd over onderliggende logica van het algoritme, alsmede het belang en de verwachte gevolgen van die verwerking voor de betrokkene. - -Model (code) publiceren op een site zoals github.com, inclusief beschrijving van werking, gebruikte data en/of beschrijving daarvan - -## Rollen -Hieronder beschrijven we welke rollen er betrokken kunnen worden bij de uitvoering van deze norm. - - -## Best practices - - - diff --git a/docs/normen/transparantie/Informeren over interactie met AI systemen.md b/docs/normen/transparantie/Informeren over interactie met AI systemen.md deleted file mode 100644 index b2747eda7b..0000000000 --- a/docs/normen/transparantie/Informeren over interactie met AI systemen.md +++ /dev/null @@ -1,45 +0,0 @@ ---- -title: Informeren over interactie met AI systemen ---- - -!!! info "Disclaimer" - - Het Algoritmekader is nog volop in ontwikkeling. Op deze plek willen we vooral aan de slag gaan op een open en transparante wijze. Het is dus niet definitief. Dat betekent dat er dingen opstaan die niet af zijn en soms zelfs fout. Mocht er iets niet kloppen, laat het ons weten via [GitHub](https://github.com/MinBZK/Algoritmekader). - - -## Norm -**De gebruiker informeert de natuurlijke persoon die wordt blootgesteld aan een AI-systeem tijdig, duidelijk en begrijpelijk dat ze interageren met een AI-systeem, tenzij dit vanzelfsprekend is gezien de omstandigheden en de context van gebruik.** - -## Risico -Betrokkenen zijn niet op de hoogte dat hun persoonsgegevens worden verwerkt middels een algoritme, waardoor zij geen controle hebben. - -## Bronnen - -#### Wet- en regelgeving -- [AI Act](https://artificialintelligenceact.eu/wp-content/uploads/2023/08/AI-Mandates-20-June-2023.pdf), artikel 52 - -- [Algemene Verordening Gegevensbescherming (AVG)](https://eur-lex.europa.eu/legal-content/NL/TXT/HTML/?uri=CELEX:32016R0679&qid=1685451198313), artikel 12-14 - -#### Toetsingskaders -- [Toetsingskader Algemene Rekenkamer](https://www.rekenkamer.nl/onderwerpen/algoritmes-digitaal-toetsingskader), 2.23 - -- [Onderzoekskader Algoritmes, Auditdienst Rijk](https://open.overheid.nl/documenten/61b54381-d331-40ed-8fce-b2883b195f25/file), PRI.8 - -## Toelichting -Het moet voor burgers die te maken hebben met algoritmes duidelijk zijn dat ze interageren met een AI-systeem, tenzij dit vanzelfsprekend is gezien de omstandigheden en de context van gebruik. - -## Maatregelen -In de communicatie over besluiten die genomen zijn op basis van het algoritme kan worden opgenomen dat de besluitvorming tot stand is gekomen met behulp van een algoritme. Hierbij kan verwezen worden naar informatie over het algoritme in het [Algoritmeregister](https://algoritmes.overheid.nl/nl). - -## Rollen -Hieronder beschrijven we welke rollen er betrokken kunnen worden bij de uitvoering van deze norm. - -- **Communicatieadviseur:** -Betrek de communicatieadviseur om duidelijk te communiceren naar de burger. - -- **Projectleider:** -De projectleider kent de inhoud van het algoritme en de werking ervan. - -## Best practices - - diff --git a/docs/normen/transparantie/Motiveringsbeginsel.md b/docs/normen/transparantie/Motiveringsbeginsel.md deleted file mode 100644 index bdfbe35de4..0000000000 --- a/docs/normen/transparantie/Motiveringsbeginsel.md +++ /dev/null @@ -1,36 +0,0 @@ ---- -title: Motiveringsbeginsel - ---- - -!!! info "Disclaimer" - - Het Algoritmekader is nog volop in ontwikkeling. Op deze plek willen we vooral aan de slag gaan op een open en transparante wijze. Het is dus niet definitief. Dat betekent dat er dingen opstaan die niet af zijn en soms zelfs fout. Mocht er iets niet kloppen, laat het ons weten via [GitHub](https://github.com/MinBZK/Algoritmekader). - - -## Norm -**Een besluit berust op een deugdelijke motivering.** - -## Risico -Het besluit is onvoldoende gemotiveerd. - -## Bronnen - -#### Wet- en regelgeving -Artikel 3:46 - 3:50 Awb, Jurisprudentie over AERIUS (ABRvS 18 juli 2018, ECLI:NL:RVS:2018:2454), Hof van Justitie C-274/18. - -#### Toetsingskaders - - -## Toelichting -Een besluit dient te berusten op een deugdelijke motivering. De motivering wordt vermeld bij de bekendmaking van het besluit. - -## Maatregelen -Richt een procedure in waarmee bij een besluit uit eigen beweging gemaakte keuzes en gebruikte gegevens en aannames openbaar worden gemaakt. - -## Rollen -Hieronder beschrijven we welke rollen er betrokken kunnen worden bij de uitvoering van deze norm. - - -## Best practices - diff --git a/docs/normen/transparantie/Traceerbaarheid.md b/docs/normen/transparantie/Traceerbaarheid.md deleted file mode 100644 index 6ae86bf25b..0000000000 --- a/docs/normen/transparantie/Traceerbaarheid.md +++ /dev/null @@ -1,48 +0,0 @@ ---- -title: Traceerbaarheid - ---- - -!!! info "Disclaimer" - - Het Algoritmekader is nog volop in ontwikkeling. Op deze plek willen we vooral aan de slag gaan op een open en transparante wijze. Het is dus niet definitief. Dat betekent dat er dingen opstaan die niet af zijn en soms zelfs fout. Mocht er iets niet kloppen, laat het ons weten via [GitHub](https://github.com/MinBZK/Algoritmekader). - - -## Norm -**De besluitvorming door het algoritme is traceerbaar.** - -## Risico -De besluitvorming door het algoritme is niet traceerbaar. - -## Bronnen - -#### Wet- en regelgeving - - -#### Toetsingskaders -EC/AI HLEG April 2019 - Hoofdstuk II.1.4 -ADR SV.15 -ARK 2.03/2.04/2.05 - -## Toelichting -Indien de totstandkoming van een besluit dat met behulp van een algoritme is genomen niet traceerbaar is, kan het algoritme niet worden gecontoleerd. - -## Maatregelen -• Neem maatregelen om de traceerbaarheid in de besluitvorming te waarborgen. Daarbij kan het gaan om de documentatie van: -o het ontwerp en de ontwikkeling van het algoritme gebruikte methoden. -o het testen en valideren van het algoritme gebruikte methoden -o resultaten van het algoritme -• Onderzoek in hoeverre de door het algoritme genomen beslissingen en dus het resultaat kunnen worden begrepen. -• Zorg ervoor dat er voor alle gebruikers die een verklaring wensen, een voor hen begrijpelijke verklaring kan worden gemaakt -• Onderzoek in hoeverre de beslissingen van het systeem van invloed zijn op het besluitvormingsproces binnen de organisatie. -• Onderzoek en toon aan welk model het eenvoudigst en het meest interpreteerbaar zou zijn voor de betreffende toepassing. -• Controleer of trainings- en testgegevens kunnen worden geanalyseerd. Kunnen deze in de loop van de tijd worden veranderd en bijgewerkt. -• Onderzoek of na de training en ontwikkeling van het model er mogelijkheden zijn om de interpreteerbaarheid te beoordelen en of er toegang is tot de interne werkstroom van het model. - -## Rollen -Hieronder beschrijven we welke rollen er betrokken kunnen worden bij de uitvoering van deze norm. - - - -## Best practices - diff --git a/docs/normen/transparantie/Transparante besluitsvorming.md b/docs/normen/transparantie/Transparante besluitsvorming.md deleted file mode 100644 index f122e0bb2f..0000000000 --- a/docs/normen/transparantie/Transparante besluitsvorming.md +++ /dev/null @@ -1,40 +0,0 @@ ---- -title: Transparante besluitsvorming - ---- - -!!! info "Disclaimer" - - Het Algoritmekader is nog volop in ontwikkeling. Op deze plek willen we vooral aan de slag gaan op een open en transparante wijze. Het is dus niet definitief. Dat betekent dat er dingen opstaan die niet af zijn en soms zelfs fout. Mocht er iets niet kloppen, laat het ons weten via [GitHub](https://github.com/MinBZK/Algoritmekader). - - -## Norm -**Besluitvorming dient transparant te zijn en moet zorgvuldig tot stand komen.** - -## Risico -Gebrek aan transparantie, waardoor niet kan worden achterhaald of aan een besluit een zorgvuldig proces vooraf is gegaan en of het voldoet aan andere vereisten. - -## Bronnen - -#### Wet- en regelgeving -Artikel 3:2 en 3:46 Awb, artikel 1.1 en 2.5 Woo - -#### Toetsingskaders - - -## Toelichting -Bij de voorbereiding van een besluit dient het bestuursorgaan alle relevante informatie te verzamelen en de belangen van betrokkenen zorgvuldig af te wegen. Het besluit mag geen onredelijke of discriminerende gevolgen voor betrokkenen hebben. - -## Maatregelen -Algoritmen en modellen dienen transparant, betrouwbaar en controleerbaar te zijn, zodat achterhaald kan worden op basis van welke afwegingen een besluit is genomen. -Richt een procedure in waardoor kan worden voldaan aan het recht op toegang tot publieke informatie. - -## Rollen -Hieronder beschrijven we welke rollen er betrokken kunnen worden bij de uitvoering van deze norm. - - - -## Best practices - - - diff --git a/docs/normen/transparantie/index.md b/docs/normen/transparantie/index.md deleted file mode 100644 index 61f9b2fe20..0000000000 --- a/docs/normen/transparantie/index.md +++ /dev/null @@ -1,8 +0,0 @@ ---- -title: Transparantie - ---- - -!!! info "Disclaimer" - - Het Algoritmekader is nog volop in ontwikkeling. Op deze plek willen we vooral aan de slag gaan op een open en transparante wijze. Het is dus niet definitief. Dat betekent dat er dingen opstaan die niet af zijn en soms zelfs fout. Mocht er iets niet kloppen, laat het ons weten via [GitHub](https://github.com/MinBZK/Algoritmekader). \ No newline at end of file diff --git a/docs/overhetalgoritmekader/index.md b/docs/overhetalgoritmekader/index.md index 8251de4a17..fc8008cee6 100644 --- a/docs/overhetalgoritmekader/index.md +++ b/docs/overhetalgoritmekader/index.md @@ -1,22 +1,72 @@ -# Over het algoritmekader +--- +title: Over het Algoritmekader +--- -Overheidsorganisaties moeten weten wat de eisen zijn voor verantwoorde inzet van algoritmes. Er zijn al verschillende instrumenten ontwikkeld die helpen wet- en regelgeving beter toe te passen. Het algoritmekader gaat prioriteiten aanbrengen in deze instrumenten en stroomlijnt ze, zodat overheden in alle fasen van de levenscyclus van algoritmische toepassingen praktische handvatten hebben. Best practices, use cases en input van eindgebruikers en de toezichthouder helpen tot een goed en gedragen algoritmekader voor alle overheden te komen. +Het is van belang dat algoritmes en AI op een verantwoorde manier worden ontwikkeld en gebruikt. +Dit betekent dat er aandacht moet zijn voor zaken als rollen en verantwoordelijkheden (governance), risico’s op bias/discriminatie vroegtijdig detecteren, de uitvoering van mensenrechtentoetsen (zoals IAMA’s) en adequate inkoopvoorwaarden afspreken voor algoritmes die de overheid inkoopt bij derden. -7 juli 2023 is het [concept Implementatiekader](https://www.rijksoverheid.nl/documenten/rapporten/2023/06/30/implementatiekader-verantwoorde-inzet-van-algoritmen) naar de kamer verstuurd, vergezeld door de Kamerbrief 'Verzamelbrief Algoritmes Reguleren'. +Maar hoe doe je dat dan? Hier helpt het Algoritmekader je bij: een interactieve kennisbank waarin je kunt zoeken naar informatie op basis van een onderwerp, een fase uit de levenscyclus of jouw rol. +### Levenscyclus van een algoritme, vereisten, maatregelen en rollen +In het Algoritmekader wordt inzichtelijk gemaakt aan welke vereisten overheidsorganisaties moeten voldoen. +Daarbij wordt ook aangegeven hoe zij hier op een betekenisvolle wijze invulling aan kunnen geven (maatregelen). +Het Algoritmekader is zodanig ingericht dat gebruikers vanuit verschillende invalshoeken informatie kunnen raadplegen die voor hen relevant is. +Zo kan vanuit de algoritme levenscyclus worden onderzocht in welke fase aan welke vereisten en maatregelen aandacht moet worden besteed. +Het is ook mogelijk om vanuit een specifieke rol, bijvoorbeeld een ethicus of data scientist, te raadplegen bij welke vereisten of maatregelen zij logischerwijs betrokken zijn. -## Uitgangspunt: Publieke waarden, mensenrechten en ethische principes +### Type technologie en risicoclassificatie +Het Algoritmekader geeft gebruikers de mogelijkheid om informatie te 'filteren'. +Dit kan bijvoorbeeld worden gedaan op basis van type technologie en risico classificatie. +Zo kunnen gebruikers snel zien wat zij in een bepaalde situaties moeten doen. +In het geval van een hoge risico AI-systeem waarbij persoonsgegevens worden verwerkt zullen aan meer vereisten moeten worden voldaan dan in het geval van een eenvoudige rekenregel die geen impact heeft op individuen of de maatschappij. +Deze inzichten moeten overheidsorganisaties helpen om effectief en gericht hun middelen in te kunnen zetten. +Aan deze functionaliteit wordt momenteel gewerkt. -Het verantwoord inzetten van algoritmen betekent dat de inzet wettig, ethisch en robuust is. Dit betekent dat ten minste voldaan moet worden aan wet- en regelgeving en dat de inzet in lijn is met publieke waarden en ethische principes. Het algoritmekader neemt dit dan ook als uitgangspunt. +### Standaarden +Een belangrijk uitgangspunt van het Algoritmekader is dat bestaande kennis zoveel mogelijk wordt gebundeld en aansluiting wordt gezocht bij relevante ontwikkelingen. +Het proces van standaardisering op nationaal, Europees en Internationaal niveau is daar een belangrijk voorbeeld van. +De standaarden zullen in grote mate gaan duiden 'hoe' organisaties invulling kunnen geven aan specifieke vereisten. +De kracht achter standaarden is dat deze door gespecialiseerde organisaties zijn opgesteld en gedragen zijn door brede consensus. +Het volgen van deze standaarden levert een 'vermoeden van conformiteit op' en is daarmee bijzonder waardevol om onderdeel te maken van het Algoritmekader. -Voor de structuur is aangesloten op de ethische richtsnoeren die ook een basis vormen voor de Europese AI Verordening. Deze richtsnoeren omvatten belangrijke publieke waarden zoals menselijke controle, rechtvaardigheid, privacy en non-discriminatie. In deze thema’s zijn de belangrijkste bestaande verplichtingen en richtlijnen in kaart gebracht, en worden maatregelen en waarborgen aangereikt. +### Best practices en instrumenten +In het Algoritmekader wordt geprobeerd om zoveel mogelijk 'best practises' te koppelen aan vereisten en maatregelen die organisaties kunnen treffen. +Daarmee wordt de materie tastbaarder en praktischer. +Zo zijn rapporten te vinden van uitgevoerde bias analyses, gepubliceerde broncode van door overheidsorganisatie ontwikkeld algoritmes, specifieke adviezen en belangrijke uitspraken. +Er wordt ook een overzicht gegeven van bruikbare instrumenten die kunnen worden gehanteerd. +## Status van het Algoritmekader +Het Algoritmekader is op zichzelf niet verplicht voor overheidsorganisaties om te gebruiken, maar het gaat wel uit van bestaande vereisten op basis van wet- en regelgeving waar deze organisaties aan gebonden zijn. +Het Algoritmekader geeft structuur aan wat organisaties moeten doen. + +Overheden wordt aanbevolen het kader te volgen, maar mogen te allen tijde zelf bepalen hoe zij invulling geven aan de vereisten, wie daarbij betrokken zijn, onder wiens verantwoordelijkheid en wanneer. +Kortom, de vereisten zijn verplicht en de maatregelen (hoe kan hieraan worden voldaan aan de vereisten) zijn ter inspiratie om organisaties op weg te helpen. ## Doorontwikkeling +7 juli 2023 is het [concept Implementatiekader](https://www.rijksoverheid.nl/documenten/rapporten/2023/06/30/implementatiekader-verantwoorde-inzet-van-algoritmen) naar de kamer verstuurd, vergezeld door de Kamerbrief 'Verzamelbrief Algoritmes Reguleren'. +Dit kan worden beschouwd als de eerste versie van het Algoritmekader. H +et implementatiekader verantwoorde inzet van algoritmen is in oktober 2023 hernoemd naar 'het Algoritmekader'. -Hoe deze governance (waaronder een heldere verdeling van bevoegdheden en verantwoordelijkheden) binnen de overheid invulling krijgt, is nog onderwerp van gesprek. Dit wordt meegenomen in de verdere doorontwikkeling van het algoritmekader. +In oktober 2023 is gestart met de doorontwikkeling van het Algoritmekader, zowel op inhoud als op vorm. Dat betekent dat inhoudelijke toevoegingen worden gedaan (denk aan hetgeen voortkomt uit de AI-verordening) en er wordt onderzocht hoe informatie zo optimaal mogelijk aan gebruikers getoond kan worden. +Het doel is dat het Algoritmekader gebruikers op een praktische wijze helpt bij het uitvoeren van hun werkzaamheden. +Het interactief kunnen doorzoeken van de informatie is daar een voorbeeld van. -!!! info "Disclaimer" +Eind 2024 zal de tweede versie van het Algoritmekader worden opgeleverd. +Dan moeten de vereisten en de maatregelen zijn uitgewerkt voor zover dan bekend. +Hierna zal het Algoritmekader in 'beheer' worden genomen. Dat betekent dat doorlopend de laatste ontwikkelingen, blijvend in afstemming met de omgeving, worden toegevoegd zodat het Algoritmekader actueel en betrouwbaar blijft. - Het Algoritmekader is nog volop in ontwikkeling. Op deze plek willen we vooral aan de slag gaan op een open en transparante wijze. Het is dus niet definitief. Dat betekent dat er dingen opstaan die niet af zijn en soms zelfs fout. Mocht er iets niet kloppen, laat het ons weten via [GitHub](https://github.com/MinBZK/Algoritmekader). +## Samenwerking met de omgeving +Een belangrijk uitgangspunt van het Algoritmekader is dat het kader op een open en transparante manier wordt ontwikkeld. +Hierbij wordt gebruik gemaakt van verschillende communicatiekanalen, zoals een communityplatform, GitHub, periodieke bijeenkomsten en (waar passend) werkgroepen. +Informatie over algoritmes en AI worden uitgewerkt. +Zodra deze informatie op 'niveau' is, wordt dit in Github geplaatst en daarmee 'gepubliceerd'. +Dit noemen we *releases*. +De motivatie om op deze ‘open source’ manier aan dit Algoritmekader te werken is enerzijds de omgeving van deze informatie te voorzien en anderzijds om de omgeving uit te nodig om hier feedback op te geven. +Werken in Github is voor het team Algoritmekader nieuw en experimenteel. +Het biedt de mogelijkheid voor alle geïnteresseerden om hun kennis en zienswijze te delen. +Daarmee kan (nieuwe)kennis snel onderdeel worden gemaakt van het Algoritmekader, waarmee idealiter het Algoritmekader doorlopende actueel wordt gehouden en mogelijk ook op basis van (brede) consensus. +Tegelijkertijd vraagt dit om een aangepaste werkwijze en is hier bepaalde expertise voor nodig. +Het begin is gemaakt en het team Algoritmekader is nog lerende om hier optimaal invulling aan te geven. +Voor nu betekent dit concreet dat het langer kan duren voordat wordt gereageerd op suggesties of toevoegingen. +Er wordt gewerkt aan het inrichten van goede processen om snel en kundig te reageren. diff --git a/docs/rollen/data-scientist.md b/docs/rollen/data-scientist.md new file mode 100644 index 0000000000..8d7f601b83 --- /dev/null +++ b/docs/rollen/data-scientist.md @@ -0,0 +1,3 @@ +--- +title: Data scientist +--- \ No newline at end of file diff --git a/docs/rollen/index.md b/docs/rollen/index.md new file mode 100644 index 0000000000..37c54e0d22 --- /dev/null +++ b/docs/rollen/index.md @@ -0,0 +1,29 @@ +--- +title: Rollen +icon: material/account +--- + +In dit deel van het Algoritmekader kan per rol informatie worden geraadpleegd over het verantwoord ontwikkelen en gebruiken van algoritmes en AI. +Om verantwoorde inzet van algoritmes en AI te bereiken is een samenspel nodig tussen verschillende expertises die op het juiste moment worden ingezet. +In de praktijk creëren organisaties specifieke rollen of functies (hierna: rol) waarbij wordt verwacht dat medewerkers met deze rol de gevraagde expertise toepassen. +Zo zal een data scientist betrokken zijn bij het ontwikkelen en trainen van algoritme en AI en zal een privacy officer maatregelen definiëren voor het beschermen van persoonsgegevens. + +In het Algoritmekader wordt een poging gedaan om te duiden welke rol(len) bij de realisatie van vereisten en maatregelen betrokken (kunnen) zijn. +Deze laag van het Algoritmekader dient om meerdere redenen alleen ter inspiratie. +Dat komt bijvoorbeeld omdat organisaties andere rollen gebruiken, bepaalde expertise samenvoegen in één rol of omdat bepaalde expertise nog niet is verworven binnen een organisatie. +Het koppelen van vereisten en maatregelen aan rollen raakt ook het onderwerpen van taakstelling en verantwoordelijkheden. +Ook dit zal bij organisaties op verschillende manieren belegd zijn of worden. + +Ondanks voorgaande wordt in het Algoritmekader hier een aanzet toe gedaan. +Voor sommige maatregelen is het namelijk evident dat dit hoort bij een bepaalde rol. +Het kan medewerkers met vergelijkbare rollen ook een inzicht geven in wat er nodig is en van hen kan worden verwacht. +Het laat daarnaast zien dat het rand voorwaardelijk is dat er voldoende ruimte is om met een multidisciplinair team, en al dan niet met een aanbieder, te kunnen samenwerken om tot een verantwoorde inzet van algoritmes en AI te komen. + +Als een rol wordt opgenomen in het Algoritmekader, dan wordt geprobeerd om dit aan te laten sluiten bij wat doorgaans wordt gehanteerd binnen (omvangrijkere) organisaties. +Er wordt een beknopte omschrijving gegeven bij deze rol en geen functieprofiel. +Vooralsnog wordt de rol gekoppeld aan vereisten en maatregelen en niet de verantwoordelijke afdeling, directie etc. (bijvoorbeeld CIO of CDO). +Hier wordt wel al verwezen naar het nog te ontwikkelen gedeelte [Governance](../bouwblokken/governance/index.md) van het Algoritmekader. +Aan dit bouwblok wordt onmiddels gewerkt. + +!!! note "Opmerking" + Hier volgt in een volgende versie een opsomming van de verschillende rollen. diff --git a/docs/stylesheets/extra.css b/docs/stylesheets/extra.css new file mode 100644 index 0000000000..ed40fb8816 --- /dev/null +++ b/docs/stylesheets/extra.css @@ -0,0 +1,25 @@ +.mdx-badge { + font-size: .85em; + display: inline-block; + margin: .2rem .3rem; +} + +.mdx-badge__icon { + border-top-left-radius: .1rem; + border-bottom-left-radius: .1rem; + + background: var(--md-accent-fg-color--transparent); + padding: .2rem; +} + +.mdx-badge__text { + border-bottom-right-radius: .1rem; + border-top-right-radius: .1rem; + + box-shadow: 0 0 0 1px inset var(--md-accent-fg-color--transparent); + padding: .2rem .3rem; +} + +.mdx-badge a { + color: var(--md-accent-fg-color); +} \ No newline at end of file diff --git a/docs/tags.md b/docs/tags.md deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/docs/vereisten/algoritmeregister.md b/docs/vereisten/algoritmeregister.md new file mode 100644 index 0000000000..6a6009afc3 --- /dev/null +++ b/docs/vereisten/algoritmeregister.md @@ -0,0 +1,78 @@ +--- +title: Impactvolle algoritmes en ai worden gepubliceerd in het algoritmeregister +toelichting: Het publiceren van impactvolle algoritmes en AI draagt bij aan transparantie voor belanghebbenden en derden over welke algoritmes en AI worden gebruikt door de overheid. Het is vastgesteld beleid dat overheidsinstellingen, tenzij er uitsluitingsgronden zijn, de door hen gebruikte impactvolle algoritmes en hoogrisico AI-systemen publiceren in het algoritmeregister. Er wordt gewerkt aan wetgeving om het bij wet verplicht te stellen. +status_vereiste: + - Geldend + - +levenscyclus: +- ontwikkelen +- validatie +- implementatie +- monitoren +bouwblok: +- transparantie +rekenregels: +- niet-impactvol: Nee +- impactvol: Ja +machine-learning: +- niet-impactvol: Nee +- impactvol: Ja +- hoog-risico: Ja +generatieve-ai: +- niet-impactvol: Nee +- impactvol: Ja +- hoog-risico: Ja +--- + + +## Vereiste + +Bestuursorganen publiceren algoritmes met impact en hoog-risico AI-systemen in het Algoritmeregister. + +## Toelichting + +Het publiceren van impactvolle algoritmes en AI draagt bij aan transparantie voor belanghebbenden en derden over welke algoritmes en AI worden gebruikt door de overheid. +Het is vastgesteld beleid dat overheidsinstellingen, tenzij er uitsluitingsgronden zijn, de door hen gebruikte impactvolle algoritmes en hoogrisico AI-systemen publiceren in het algoritmeregister. +Er wordt gewerkt aan wetgeving om het bij wet verplicht te stellen. + + +## Bronnen + +| Bron | +|-----------------------------| +|Handreiking Algoritmeregister| +|Werkagenda| +|Kamerbrieven| + +## Wanneer van toepassing? + +=== "Rekenregel" + + | niet-impactvol | impactvol | + |----------------|-----------| + | :material-close:{style='color: #EF5350' } | :material-check-bold:{ style='color: #4DB6AC' } | + +=== "Machine learning" + + | niet-impactvol | impactvol | hoog-risico-ai | + |----------------|-----------|-----------| + | :material-close:{style='color: #EF5350' } | :material-check-bold:{ style='color: #4DB6AC' } | :material-check-bold:{ style='color: #4DB6AC' } | + +=== "Generatieve AI" + + | niet-impactvol | impactvol | hoog-risico-ai | + |----------------|-----------|-----------| + | :material-close:{style='color: #EF5350' } | :material-check-bold:{ style='color: #4DB6AC' } | :material-check-bold:{ style='color: #4DB6AC' } | + +## Risico + +Door het niet publiceren van impactvolle of hoog risico AI -systemen in het Algoritmeregister, is het voor betrokkenen of belanghebbenden niet mogelijk om de overheid kritisch te volgen, te bevragen en te controleren op de inzet van deze technologiën die hen kunnen raken. + + +## Normen + +In afwachting van het standaardisatieproces. + +## Maatregelen + +Hier komt een lijst met relevante maatregelen om te voldoen aan dit vereiste. diff --git a/docs/vereisten/archiefwet.md b/docs/vereisten/archiefwet.md new file mode 100644 index 0000000000..1f6ee529c0 --- /dev/null +++ b/docs/vereisten/archiefwet.md @@ -0,0 +1,79 @@ +--- +title: De archiefwet is ook van toepassing op algoritmes en ai +toelichting: Volgens de Archiefwet moeten overheden informatie bewaren. Op basis van deze informatie moet gereconstrueerd kunnen worden hoe besluiten, ook in de context van algoritmes en AI, tot stand zijn gekomen. Informatie over en van algoritmes en AI moet daarom ook bewaard en vernietigd worden. +status_vereiste: + - Geldend +levenscyclus: +- archiveren +- implementatie +bouwblok: +- technische-robuustheid-en-veiligheid +- governance +- data +- privacy-en-gegevensbescherming +rekenregels: +- niet-impactvol: Ja +- impactvol: Ja +machine-learning: +- niet-impactvol: Ja +- impactvol: Ja +- hoog-risico: Ja +generatieve-ai: +- niet-impactvol: Ja +- impactvol: Ja +- hoog-risico: Ja +--- + + +## Vereiste + +Overheidsorganen zijn verplicht de onder hen berustende archiefbescheiden in goede, geordende en toegankelijke staat te brengen en te bewaren, alsmede zorg te dragen voor de vernietiging van de daarvoor in aanmerking komende archiefbescheiden. + +## Toelichting + +Volgens de Archiefwet moeten overheden informatie bewaren. +Op basis van deze informatie moet gereconstrueerd kunnen worden hoe besluiten, ook in de context van algoritmes en AI, tot stand zijn gekomen. +Informatie over en van algoritmes en AI moet daarom ook bewaard en vernietigd worden. + +## Bronnen + +| Bron | +|-----------------------------| +|Artikel 3 Archiefwet| +|Artikel 15 lid 2 Archiefwet| +|Archiefbesluit 1995| +|Archiefregeling| + +## Wanneer van toepassing? + +=== "Rekenregel" + + | niet-impactvol | impactvol | + |----------------|-----------| + | :material-check-bold:{ style='color: #4DB6AC' } | :material-check-bold:{ style='color: #4DB6AC' } | + +=== "Machine learning" + + | niet-impactvol | impactvol | hoog-risico-ai | + |----------------|-----------|-----------| + | :material-check-bold:{ style='color: #4DB6AC' } | :material-check-bold:{ style='color: #4DB6AC' } | :material-check-bold:{ style='color: #4DB6AC' } | + +=== "Generatieve AI" + + | niet-impactvol | impactvol | hoog-risico-ai | + |----------------|-----------|-----------| + | :material-check-bold:{ style='color: #4DB6AC' } | :material-check-bold:{ style='color: #4DB6AC' } | :material-check-bold:{ style='color: #4DB6AC' } | + +## Risico + +Zonder goede toepassing van de Archiefwet is het voor betrokkene(n) of derden niet mogelijk om achteraf te reconstrueren en te controleren hoe besluiten, waar algoritmes en AI aan hebben bijgedragen, tot stand zijn gekomen. +Het nalaten om archiefbescheiden na verloop van tijd te verwijderen brengt risico's met zich mee op het gebied van privacy en informatiebeveiliging + + +## Normen + +In afwachting van het standaardisatieproces. + +## Maatregelen + +Hier komt een lijst met relevante maatregelen om te voldoen aan dit vereiste. diff --git a/docs/vereisten/auteursrechten.md b/docs/vereisten/auteursrechten.md new file mode 100644 index 0000000000..364dfad120 --- /dev/null +++ b/docs/vereisten/auteursrechten.md @@ -0,0 +1,81 @@ +--- +title: Auteursrechten mogen niet worden geschonden +toelichting: Bepaalde vormen van algoritmes en AI worden ontwikkeld op basis van grote hoeveelheden data. Deze data wordt gebruikt voor het trainen en testen van algoritmes en AI. Het gebruiken van deze data mag geen inbreuk maken op Auteursrechten van diegene die deze rechten heeft. Ook de gegenereerde output van algoritmes en AI mag geen inbreuk maken op deze rechten. +status_vereiste: + - Geldend +levenscyclus: +- dataverkenning-en-datapreparatie +- ontwerp +bouwblok: +- data +- governance +rekenregels: +- niet-impactvol: Ja +- impactvol: Ja +machine-learning: +- niet-impactvol: Ja +- impactvol: Ja +- hoog-risico: Ja +generatieve-ai: +- niet-impactvol: Ja +- impactvol: Ja +- hoog-risico: Ja +--- + + +## Vereiste + +Auteursrechten mogen niet geschonden worden bij het ontwikkelen en gebruiken van algoritmes en AI. + +## Toelichting + +Bepaalde vormen van algoritmes en AI worden ontwikkeld op basis van grote hoeveelheden data. +Deze data wordt gebruikt voor het trainen en testen van algoritmes en AI. +Het gebruiken van deze data mag geen inbreuk maken op Auteursrechten van diegene die deze rechten heeft. +Ook de gegenereerde output van algoritmes en AI mag geen inbreuk maken op deze rechten. + + +## Bronnen + +| Bron | +|-----------------------------| +|Artikel 1 Auteurswet| +|Artikel 4-9 Auteurswet| +|Artikel 10 Auteurswet| +|Artikel 13 Auteurswet| +|Artikel 15n jo. 15o Auteurswet| +|Artikel 3 en 4 van de DSM-richtlijn (EU 2019/790)| + +## Wanneer van toepassing? + +=== "Rekenregel" + + | niet-impactvol | impactvol | + |----------------|-----------| + | :material-check-bold:{ style='color: #4DB6AC' } | :material-check-bold:{ style='color: #4DB6AC' } | + +=== "Machine learning" + + | niet-impactvol | impactvol | hoog-risico-ai | + |----------------|-----------|-----------| + | :material-check-bold:{ style='color: #4DB6AC' } | :material-check-bold:{ style='color: #4DB6AC' } | :material-check-bold:{ style='color: #4DB6AC' } | + +=== "Generatieve AI" + + | niet-impactvol | impactvol | hoog-risico-ai | + |----------------|-----------|-----------| + | :material-check-bold:{ style='color: #4DB6AC' } | :material-check-bold:{ style='color: #4DB6AC' } | :material-check-bold:{ style='color: #4DB6AC' } | + +## Risico + +Het niet voldoen aan het auteursrecht in AI-systemen en algoritmes kan leiden tot onrechtmatig gebruik van auteursrechtelijk beschermde inhoud, wat kan resulteren in mogelijke juridische geschillen, boetes en schadevergoedingen voor inbreuk op het auteursrecht. +Bovendien kan het niet naleven van het auteursrecht het vertrouwen van gebruikers en belanghebbenden ondermijnen, wat kan leiden tot reputatieschade en gebrek aan vertrouwen. + + +## Normen + +In afwachting van het standaardisatieproces. + +## Maatregelen + +Hier komt een lijst met relevante maatregelen om te voldoen aan dit vereiste. diff --git a/docs/vereisten/beginsel_van_proportionaliteit_en_subsidiariteit.md b/docs/vereisten/beginsel_van_proportionaliteit_en_subsidiariteit.md new file mode 100644 index 0000000000..6de5b15c41 --- /dev/null +++ b/docs/vereisten/beginsel_van_proportionaliteit_en_subsidiariteit.md @@ -0,0 +1,108 @@ +--- +title: Proportionaliteit en subsidiariteit +toelichting: Proportionaliteit vereist dat de omvang van gegevensverwerking voor de ontwikkeling van een algoritmes of AI en voor het genereren van de benodigde output in balans is met het beoogde doel. Subsidiariteit benadrukt dat persoonsgegevens alleen moeten worden verwerkt als dit de enige geschikte manier is om het doel te bereiken. Deze principes waarborgen dat de privacy van individuen wordt gerespecteerd en dat gegevensverwerking niet verder gaat dan noodzakelijk is voor legitieme doeleinden. Het is van belang om deze principes te hanteren om te bepalen of en in welke vorm een algoritmes en AI moet toegepast en om tot een passende mate van gegevensverwerking te komen om het doel te bereiken. + + + + + + + +status_vereiste: + - Geldend + - +levenscyclus: +- probleemanalyse +- ontwerp +- dataverkenning-en-datapreparatie +- ontwikkelen +- validatie +- implementatie +- monitoren +- archiveren +bouwblok: +- governance +- privacy-en-gegevensbescherming +rekenregels: +- niet-impactvol: Nee +- impactvol: Ja +machine-learning: +- niet-impactvol: Nee +- impactvol: Ja +- hoog-risico: Ja +generatieve-ai: +- niet-impactvol: Nee +- impactvol: Ja +- hoog-risico: Ja +--- + + +## Vereiste + +Gegevensverwerking moet in verhouding staan tot het beoogde doel en persoonsgegevens mogen alleen verwerkt worden als er geen minder ingrijpende manier is om het doel te bereiken. + + + + + + + + +## Toelichting + +Proportionaliteit vereist dat de omvang van gegevensverwerking voor de ontwikkeling van een algoritmes of AI en voor het genereren van de benodigde output in balans is met het beoogde doel. +Subsidiariteit benadrukt dat persoonsgegevens alleen moeten worden verwerkt als dit de enige geschikte manier is om het doel te bereiken. +Deze principes waarborgen dat de privacy van individuen wordt gerespecteerd en dat gegevensverwerking niet verder gaat dan noodzakelijk is voor legitieme doeleinden. +Het is van belang om deze principes te hanteren om te bepalen of en in welke vorm een algoritmes en AI moet toegepast en om tot een passende mate van gegevensverwerking te komen om het doel te bereiken. + + + + + + + + + +## Bronnen + +| Bron | +|-----------------------------| +|Overweging 170 AVG| +|Artikel 5(4)Verdrag betreffende de Europese Unie (VEU)| +|Artikel 52 Handvest van de Grondrechten van de Europese Unie| +|Protocol (Nr. 2) Betreffende de Toepassing van de| +|Beginselen van Subsidiariteit en Evenredigheid bij het Verdrag van Maastricht| +|artikel 1.10, 1.13 en 1.16 van de Aanbestedingswet| + +## Wanneer van toepassing? + +=== "Rekenregel" + + | niet-impactvol | impactvol | + |----------------|-----------| + | :material-close:{style='color: #EF5350' } | :material-check-bold:{ style='color: #4DB6AC' } | + +=== "Machine learning" + + | niet-impactvol | impactvol | hoog-risico-ai | + |----------------|-----------|-----------| + | :material-close:{style='color: #EF5350' } | :material-check-bold:{ style='color: #4DB6AC' } | :material-check-bold:{ style='color: #4DB6AC' } | + +=== "Generatieve AI" + + | niet-impactvol | impactvol | hoog-risico-ai | + |----------------|-----------|-----------| + | :material-close:{style='color: #EF5350' } | :material-check-bold:{ style='color: #4DB6AC' } | :material-check-bold:{ style='color: #4DB6AC' } | + +## Risico + +Zonder toetsing aan het proportinaliteits- en subsidiariteitsbeginsel ontstaat het risico dat er onnodig een inbreuk wordt gemaakt op de privacyrechten van betrokkenen, doordat teveel persoonsgegevens worden verwerkt. + + +## Normen + +In afwachting van het standaardisatieproces. + +## Maatregelen + +Hier komt een lijst met relevante maatregelen om te voldoen aan dit vereiste. diff --git a/docs/vereisten/beschrijven_en_toewijzen_van_verantwoordelijkheden_bij_verwerking_persoonsgegevens.md b/docs/vereisten/beschrijven_en_toewijzen_van_verantwoordelijkheden_bij_verwerking_persoonsgegevens.md new file mode 100644 index 0000000000..1605c44545 --- /dev/null +++ b/docs/vereisten/beschrijven_en_toewijzen_van_verantwoordelijkheden_bij_verwerking_persoonsgegevens.md @@ -0,0 +1,78 @@ +--- +title: Verantwoordelijkheden worden toegewezen en beschreven +toelichting: Bij het verwerken van persoonsgegevens voor algoritmes en AI-systemen moeten de verantwoordelijkheden duidelijk beschreven en toegewezen zijn. De verwerkingsverantwoordelijke is degene die ervoor zorgt dat deze verantwoordelijkheden worden nageleefd en kan dit aantonen, wat bekend staat als de verantwoordingsplicht. Deze maatregelen zijn essentieel om de naleving van regelgeving met betrekking tot gegevensbescherming te waarborgen en het vertrouwen van gebruikers in de verwerking van hun gegevens te vergroten. +status_vereiste: + - Geldend +levenscyclus: +- ontwerp +- dataverkenning-en-datapreparatie +- ontwikkelen +- monitoren +- archiveren +bouwblok: +- governance +- privacy-en-gegevensbescherming +rekenregels: +- niet-impactvol: ja +- impactvol: Ja +machine-learning: +- niet-impactvol: ja +- impactvol: Ja +- hoog-risico: Ja +generatieve-ai: +- niet-impactvol: ja +- impactvol: Ja +- hoog-risico: Ja +--- + + +## Vereiste + +De verantwoordelijkheden bij de verwerking van persoonsgegevens voor algoritmes en AI-systemen moeten zijn beschreven en zijn toegekend. + +De verwerkingsverantwoordelijke is verantwoordelijk voor de naleving van de beginselen inzake de verwerking van persoonsgegevens en kan deze aantonen ("verantwoordingsplicht"). + +## Toelichting + +Bij het verwerken van persoonsgegevens voor algoritmes en AI-systemen moeten de verantwoordelijkheden duidelijk beschreven en toegewezen zijn. +De verwerkingsverantwoordelijke is degene die ervoor zorgt dat deze verantwoordelijkheden worden nageleefd en kan dit aantonen, wat bekend staat als de verantwoordingsplicht. +Deze maatregelen zijn essentieel om de naleving van regelgeving met betrekking tot gegevensbescherming te waarborgen en het vertrouwen van gebruikers in de verwerking van hun gegevens te vergroten. + +## Bronnen + +| Bron | +|-----------------------------| +|Artikel 24, 26, 27, 28 en 29, 5 lid 2 AVG| + +## Wanneer van toepassing? + +=== "Rekenregel" + + | niet-impactvol | impactvol | + |----------------|-----------| + | :material-close:{style='color: #EF5350' } | :material-check-bold:{ style='color: #4DB6AC' } | + +=== "Machine learning" + + | niet-impactvol | impactvol | hoog-risico-ai | + |----------------|-----------|-----------| + | :material-close:{style='color: #EF5350' } | :material-check-bold:{ style='color: #4DB6AC' } | :material-check-bold:{ style='color: #4DB6AC' } | + +=== "Generatieve AI" + + | niet-impactvol | impactvol | hoog-risico-ai | + |----------------|-----------|-----------| + | :material-close:{style='color: #EF5350' } | :material-check-bold:{ style='color: #4DB6AC' } | :material-check-bold:{ style='color: #4DB6AC' } | + +## Risico + +Door rollen en verantwoordelijkheden rondom de verwerking van persoonsgegevens niet te duiden en te beleggen, ontstaat het risico dat persoonsgegevens onrechtmatig on onveilig worden verwerkt. + + +## Normen + +In afwachting van het standaardisatieproces. + +## Maatregelen + +Hier komt een lijst met relevante maatregelen om te voldoen aan dit vereiste. diff --git a/docs/vereisten/beveiliging_informatie_en_informatiesystemen.md b/docs/vereisten/beveiliging_informatie_en_informatiesystemen.md new file mode 100644 index 0000000000..9c2f7335be --- /dev/null +++ b/docs/vereisten/beveiliging_informatie_en_informatiesystemen.md @@ -0,0 +1,81 @@ +--- +title: Beveiliging informatie en informatiesystemen +toelichting: Informatiebeveiliging is het proces van vaststellen van de vereiste beveiliging van informatiesystemen in termen van vertrouwelijkheid, beschikbaarheid en integriteit alsmede het treffen, onderhouden en controleren van een samenhangend pakket van bijbehorende maatregelen. In Nederland is besloten dat overheidsinstellingen de Baseline Informatiebeveiliging Overheid dienen toe te passen over hun informatie en informatiesystemen. De BIO beoogt de beveiliging van informatie(systemen) bij alle bestuurslagen en bestuursorganen van de overheid te bevorderen, zodat alle onderdelen erop kunnen vertrouwen dat onderling uitgewisselde gegevens, in lijn met wet- en regelgeving, passend beveiligd zijn. Algoritmes en AI-systemen en hun output kunnen onderdeel worden van de informatie en informatiesystemen waar de BIO op van toepassing is. Het is van belang om algoritmische toepassingen en AI-systemen op de juiste manier te beveiligen. +status_vereiste: + - Geldend +levenscyclus: +- ontwerp +- implementatie +- monitoren +- dataverkenning-en-datapreparatie +- validatie +- archiveren +bouwblok: +- technische-robuustheid-en-veiligheid +rekenregels: +- niet-impactvol: ja +- impactvol: Ja +machine-learning: +- niet-impactvol: Ja +- impactvol: Ja +- hoog-risico: Ja +generatieve-ai: +- niet-impactvol: Ja +- impactvol: Ja +- hoog-risico: Ja +--- + + +## Vereiste + +Informatie en informatiesystemen moeten op de juiste manier worden beveiligd. + + +## Toelichting + +Informatiebeveiliging is het proces van vaststellen van de vereiste beveiliging van informatiesystemen in termen van vertrouwelijkheid, beschikbaarheid en integriteit alsmede het treffen, onderhouden en controleren van een samenhangend pakket van bijbehorende maatregelen. +In Nederland is besloten dat overheidsinstellingen de Baseline Informatiebeveiliging Overheid dienen toe te passen over hun informatie en informatiesystemen. +De BIO beoogt de beveiliging van informatie(systemen) bij alle bestuurslagen en bestuursorganen van de overheid te bevorderen, zodat alle onderdelen erop kunnen vertrouwen dat onderling uitgewisselde gegevens, in lijn met wet- en regelgeving, passend beveiligd zijn. +Algoritmes en AI-systemen en hun output kunnen onderdeel worden van de informatie en informatiesystemen waar de BIO op van toepassing is. +Het is van belang om algoritmische toepassingen en AI-systemen op de juiste manier te beveiligen. + + +## Bronnen + +| Bron | +|-----------------------------| +|Baseline Informatiebeveiliging Overheid| +|Besluit voorschrift informatiebeveiliging rijksdienst 2007| + +## Wanneer van toepassing? + +=== "Rekenregel" + + | niet-impactvol | impactvol | + |----------------|-----------| + | :material-close:{style='color: #EF5350' } | :material-check-bold:{ style='color: #4DB6AC' } | + +=== "Machine learning" + + | niet-impactvol | impactvol | hoog-risico-ai | + |----------------|-----------|-----------| + | :material-check-bold:{ style='color: #4DB6AC' } | :material-check-bold:{ style='color: #4DB6AC' } | :material-check-bold:{ style='color: #4DB6AC' } | + +=== "Generatieve AI" + + | niet-impactvol | impactvol | hoog-risico-ai | + |----------------|-----------|-----------| + | :material-check-bold:{ style='color: #4DB6AC' } | :material-check-bold:{ style='color: #4DB6AC' } | :material-check-bold:{ style='color: #4DB6AC' } | + +## Risico + +Er kunnen risico's ontstaan zoals ongeautoriseerde toegang, vernietiging, verlies, wijziging of niet-toegestane verwerking van gegevens als de informatie en informatiesystemen onvoldoende zijn beveiligd. + + +## Normen + +In afwachting van het standaardisatieproces. + +## Maatregelen + +Hier komt een lijst met relevante maatregelen om te voldoen aan dit vereiste. diff --git a/docs/vereisten/beveiliging_van_verwerking.md b/docs/vereisten/beveiliging_van_verwerking.md new file mode 100644 index 0000000000..ef047c77b4 --- /dev/null +++ b/docs/vereisten/beveiliging_van_verwerking.md @@ -0,0 +1,81 @@ +--- +title: Beveiliging van verwerking +toelichting: Voor de ontwikkeling en gebruik van algoritmes en AI is dat data nodig. Deze data kan persoonsgegevens bevatten die moeten worden beschermd. De organisatie zal technische en organisatorische maatregelen moeten treffen om de data en de algoritmische toepassing of AI-systeem voldoende te beschermen. Hierbij kan worden gedacht aan dataminimalisatie, het pseudonimiseren of aggregeren van persoonsgegevens. Per toepassing moet worden onderzocht welke maatregelen hiervoor geschikt zijn. +status_vereiste: + - Geldend +levenscyclus: +- dataverkenning-en-datapreparatie +- ontwikkelen +- validatie +- monitoren +- archiveren +bouwblok: +- privacy-en-gegevensbescherming +- data +rekenregels: +- niet-impactvol: ja +- impactvol: Ja +machine-learning: +- niet-impactvol: ja +- impactvol: Ja +- hoog-risico: Ja +generatieve-ai: +- niet-impactvol: ja +- impactvol: Ja +- hoog-risico: Ja +--- + + +## Vereiste + +Rekening houdend met de stand van de techniek, de uitvoeringskosten, alsook met de aard, de omvang, de context en de verwerkingsdoeleinden en de qua waarschijnlijkheid en ernst uiteenlopende risico's voor de rechten en vrijheden +van personen, treffen de verwerkingsverantwoordelijke en de verwerker passende technische en organisatorische maatregelen om een op het risico afgestemd beveiligingsniveau te waarborgen. + + +## Toelichting + +Voor de ontwikkeling en gebruik van algoritmes en AI is dat data nodig. +Deze data kan persoonsgegevens bevatten die moeten worden beschermd. +De organisatie zal technische en organisatorische maatregelen moeten treffen om de data en de algoritmische toepassing of AI-systeem voldoende te beschermen. +Hierbij kan worden gedacht aan dataminimalisatie, het pseudonimiseren of aggregeren van persoonsgegevens. +Per toepassing moet worden onderzocht welke maatregelen hiervoor geschikt zijn. + + +## Bronnen + +| Bron | +|-----------------------------| +|Artikel 32 AVG| + +## Wanneer van toepassing? + +=== "Rekenregel" + + | niet-impactvol | impactvol | + |----------------|-----------| + | :material-close:{style='color: #EF5350' } | :material-check-bold:{ style='color: #4DB6AC' } | + +=== "Machine learning" + + | niet-impactvol | impactvol | hoog-risico-ai | + |----------------|-----------|-----------| + | :material-close:{style='color: #EF5350' } | :material-check-bold:{ style='color: #4DB6AC' } | :material-check-bold:{ style='color: #4DB6AC' } | + +=== "Generatieve AI" + + | niet-impactvol | impactvol | hoog-risico-ai | + |----------------|-----------|-----------| + | :material-close:{style='color: #EF5350' } | :material-check-bold:{ style='color: #4DB6AC' } | :material-check-bold:{ style='color: #4DB6AC' } | + +## Risico + +Er kunnen risico's ontstaan zoals potentiële cyberaanvallen en datalekken. +Dit kan leiden bijvoorbeeld tot verlies of diefstal van gevoelige gegevens, verstoring van organisatieprocessen,ongeautoriseerde toegang, vernietiging en onrechtmatige verwerking. + +## Normen + +In afwachting van het standaardisatieproces. + +## Maatregelen + +Hier komt een lijst met relevante maatregelen om te voldoen aan dit vereiste. diff --git a/docs/vereisten/bevorder_ai_geletterdheid_personeel.md b/docs/vereisten/bevorder_ai_geletterdheid_personeel.md new file mode 100644 index 0000000000..61c102d6af --- /dev/null +++ b/docs/vereisten/bevorder_ai_geletterdheid_personeel.md @@ -0,0 +1,75 @@ +--- +title: Bevorder ai-geletterdheid van personeel en gebruikers +toelichting: Aanbieders en exploitanten van AI-systemen nemen maatregelen om ervoor te zorgen dat hun personeel en andere betrokkenen voldoende kennis hebben van AI. Dit omvat het overwegen van technische kennis, ervaring, onderwijs en opleiding van individuen, evenals de context waarin de AI-systemen worden gebruikt en de gebruikers van deze systemen. Het doel is om een adequaat niveau van begrip en vaardigheden te waarborgen, wat bijdraagt aan een verantwoord gebruik van AI en het minimaliseren van risico's. +status_vereiste: + - Geldend +levenscyclus: +- probleemanalyse +- ontwerp +- implementatie +- monitoren +bouwblok: +- menselijke-controle +- governance +rekenregels: +- niet-impactvol: Nee +- impactvol: Nee +machine-learning: +- niet-impactvol: Ja +- impactvol: Ja +- hoog-risico: Ja +generatieve-ai: +- niet-impactvol: Ja +- impactvol: Ja +- hoog-risico: Ja +--- + + +## Vereiste + +Aanbieders en exploitanten van AI-systemen nemen maatregelen om, zoveel als mogelijk, te zorgen voor een toereikend niveau van AI-geletterdheid bij hun personeel en andere personen die namens hen AI-systemen exploiteren en gebruiken, en houden daarbij rekening met hun technische kennis, ervaring, onderwijs en opleiding en de context waarin de AI-systemen zullen worden gebruikt, evenals met de personen of groepen personen ten aanzien van wie de AI-systemen zullen worden gebruikt. + +## Toelichting + +Aanbieders en exploitanten van AI-systemen nemen maatregelen om ervoor te zorgen dat hun personeel en andere betrokkenen voldoende kennis hebben van AI. +Dit omvat het overwegen van technische kennis, ervaring, onderwijs en opleiding van individuen, evenals de context waarin de AI-systemen worden gebruikt en de gebruikers van deze systemen. +Het doel is om een adequaat niveau van begrip en vaardigheden te waarborgen, wat bijdraagt aan een verantwoord gebruik van AI en het minimaliseren van risico's. + +## Bronnen + +| Bron | +|-----------------------------| +|Aanbieders en exploitanten van AI-systemen nemen maatregelen om, zoveel als mogelijk, te zorgen voor een toereikend niveau van AI-geletterdheid bij hun personeel en andere personen die namens hen AI-systemen exploiteren en gebruiken, en houden daarbij rekening met hun technische kennis, ervaring, onderwijs en opleiding en de context waarin de AI-systemen zullen worden gebruikt, evenals met de personen of groepen personen ten aanzien van wie de AI-systemen zullen worden gebruikt.| + +## Wanneer van toepassing? + +=== "Rekenregel" + + | niet-impactvol | impactvol | + |----------------|-----------| + | :material-close:{style='color: #EF5350' } | :material-close:{style='color: #EF5350' } | + +=== "Machine learning" + + | niet-impactvol | impactvol | hoog-risico-ai | + |----------------|-----------|-----------| + | :material-check-bold:{ style='color: #4DB6AC' } | :material-check-bold:{ style='color: #4DB6AC' } | :material-check-bold:{ style='color: #4DB6AC' } | + +=== "Generatieve AI" + + | niet-impactvol | impactvol | hoog-risico-ai | + |----------------|-----------|-----------| + | :material-check-bold:{ style='color: #4DB6AC' } | :material-check-bold:{ style='color: #4DB6AC' } | :material-check-bold:{ style='color: #4DB6AC' } | + +## Risico + +Onvoldoende AI-geletterdheid kan leiden tot misbruik of onjuist gebruik van AI-systemen en tot situaties waarin AI-systemen verkeerd worden ingezet, onbedoeld gebruikt worden voor taken waar ze niet geschikt voor zijn, of dat de veiligheid en effectiviteit van de systemen in het gedrang komt. +Dit kan leiden tot inefficiëntie, fouten, en mogelijk schade aan organisaties, gebruikers of betrokkenen. + +## Normen + +In afwachting van het standaardisatieproces. + +## Maatregelen + +Hier komt een lijst met relevante maatregelen om te voldoen aan dit vereiste. diff --git a/docs/vereisten/bewaartermijn_voor_documentatie.md b/docs/vereisten/bewaartermijn_voor_documentatie.md new file mode 100644 index 0000000000..eb0b92f734 --- /dev/null +++ b/docs/vereisten/bewaartermijn_voor_documentatie.md @@ -0,0 +1,77 @@ +--- +title: Hoog risico ai systemen voldoen aan bewaartermijn voor documentatie +toelichting: De aanbieder moet gedurende tien jaar na het op de markt brengen of in gebruik nemen van het AI-systeem met een hoog risico de vereiste documentatie beschikbaar houden voor de nationale autoriteiten. Dit houdt in dat technische documentatie, documentatie over het kwaliteitsbeheersysteem, eventuele documentatie over besluiten en goedgekeurde wijzigingen door aangemelde instanties en de EU-conformiteitsverklaring beschikbaar moet zijn. Dit waarborgt dat de autoriteiten toegang hebben tot relevante informatie voor controle en naleving van de voorschriften gedurende deze periode. +status_vereiste: + - Geldend +levenscyclus: +- ontwerp +- ontwikkelen +- monitoren +- archiveren +bouwblok: +- governance +- technische-robuustheid-en-veiligheid +rekenregels: +- niet-impactvol: Nee +- impactvol: Nee +machine-learning: +- niet-impactvol: Nee +- impactvol: Nee +- hoog-risico: Ja +generatieve-ai: +- niet-impactvol: Nee +- impactvol: Nee +- hoog-risico: Ja +--- + + +## Vereiste + +De aanbieder houdt gedurende een periode van tien jaar nadat het AI-systeem met een hoog risico in de handel is gebracht of in gebruik is gesteld de elementen van art. +18 ter beschikking van de nationale bevoegde autoriteiten. + +## Toelichting + +De aanbieder moet gedurende tien jaar na het op de markt brengen of in gebruik nemen van het AI-systeem met een hoog risico de vereiste documentatie beschikbaar houden voor de nationale autoriteiten. +Dit houdt in dat technische documentatie, documentatie over het kwaliteitsbeheersysteem, eventuele documentatie over besluiten en goedgekeurde wijzigingen door aangemelde instanties en de EU-conformiteitsverklaring beschikbaar moet zijn. +Dit waarborgt dat de autoriteiten toegang hebben tot relevante informatie voor controle en naleving van de voorschriften gedurende deze periode. + + +## Bronnen + +| Bron | +|-----------------------------| +|Artikel 18(1) Bewaring van documentatie- AI verordening| +|Artikel 16(d) Verplichtingen van aanbieders van AI-systemen met een hoog risico - AI veordening| + +## Wanneer van toepassing? + +=== "Rekenregel" + + | niet-impactvol | impactvol | + |----------------|-----------| + | :material-close:{style='color: #EF5350' } | :material-close:{style='color: #EF5350' } | + +=== "Machine learning" + + | niet-impactvol | impactvol | hoog-risico-ai | + |----------------|-----------|-----------| + | :material-close:{style='color: #EF5350' } | :material-close:{style='color: #EF5350' } | :material-check-bold:{ style='color: #4DB6AC' } | + +=== "Generatieve AI" + + | niet-impactvol | impactvol | hoog-risico-ai | + |----------------|-----------|-----------| + | :material-close:{style='color: #EF5350' } | :material-close:{style='color: #EF5350' } | :material-check-bold:{ style='color: #4DB6AC' } | + +## Risico + +Niet voldoen aan de bewaartermijn kan leiden tot juridische consequenties en kan het vermogen van de autoriteiten om toezicht te houden op de naleving van de regelgeving belemmeren. + +## Normen + +In afwachting van het standaardisatieproces. + +## Maatregelen + +Hier komt een lijst met relevante maatregelen om te voldoen aan dit vereiste. diff --git a/docs/vereisten/geb_dpia_verplicht_bij_hoog_risico.md b/docs/vereisten/geb_dpia_verplicht_bij_hoog_risico.md new file mode 100644 index 0000000000..83fb192795 --- /dev/null +++ b/docs/vereisten/geb_dpia_verplicht_bij_hoog_risico.md @@ -0,0 +1,76 @@ +--- +title: Een geb/dpia is verplicht bij hoog risico +toelichting: Een Gegevensbeschermingseffectbeoordeling (GEB) of Data Protection Impact Assessment (DPIA) is verplicht wanneer de verwerking van persoonsgegevens waarschijnlijk een hoog risico met zich meebrengt voor de rechten en vrijheden van natuurlijke personen. Deze beoordeling identificeert en beperkt potentiële risico's en zorgt ervoor dat passende maatregelen worden genomen om de privacy van individuen te beschermen. Deze verplichting draagt bij aan een zorgvuldige en verantwoorde omgang met persoonsgegevens in AI-systemen en algoritmes, waardoor de privacy van individuen wordt gewaarborgd. + +status_vereiste: + - Geldend +levenscyclus: +- ontwerp +- dataverkenning-en-datapreparatie +- ontwikkelen +- validatie +bouwblok: +- privacy-en-gegevensbescherming +rekenregels: +- niet-impactvol: Nee +- impactvol: Ja +machine-learning: +- niet-impactvol: Nee +- impactvol: Ja +- hoog-risico: Ja +generatieve-ai: +- niet-impactvol: Nee +- impactvol: Ja +- hoog-risico: Ja +--- + + +## Vereiste + +Een gegevensbeschermingseffectbeoordeling (DPIA) is verplicht, indien een verwerking van persoonsgegevens waarschijnlijk een hoog risico inhoudt voor de rechten en vrijheden van natuurlijke personen. + +## Toelichting + +Een Gegevensbeschermingseffectbeoordeling (GEB) of Data Protection Impact Assessment (DPIA) is verplicht wanneer de verwerking van persoonsgegevens waarschijnlijk een hoog risico met zich meebrengt voor de rechten en vrijheden van natuurlijke personen. +Deze beoordeling identificeert en beperkt potentiële risico's en zorgt ervoor dat passende maatregelen worden genomen om de privacy van individuen te beschermen. +Deze verplichting draagt bij aan een zorgvuldige en verantwoorde omgang met persoonsgegevens in AI-systemen en algoritmes, waardoor de privacy van individuen wordt gewaarborgd. + + +## Bronnen + +| Bron | +|-----------------------------| +|Artikel 35 AVG| + +## Wanneer van toepassing? + +=== "Rekenregel" + + | niet-impactvol | impactvol | + |----------------|-----------| + | :material-close:{style='color: #EF5350' } | :material-check-bold:{ style='color: #4DB6AC' } | + +=== "Machine learning" + + | niet-impactvol | impactvol | hoog-risico-ai | + |----------------|-----------|-----------| + | :material-close:{style='color: #EF5350' } | :material-check-bold:{ style='color: #4DB6AC' } | :material-check-bold:{ style='color: #4DB6AC' } | + +=== "Generatieve AI" + + | niet-impactvol | impactvol | hoog-risico-ai | + |----------------|-----------|-----------| + | :material-close:{style='color: #EF5350' } | :material-check-bold:{ style='color: #4DB6AC' } | :material-check-bold:{ style='color: #4DB6AC' } | + +## Risico + +Het niet evalueren van de impact van het verwerking van persoonsgegevens in AI-systemen en algoritmes kan resulteren in het niet onderkennen van de bijbehorende risico's en het niet op tijd te mitigieren van deze risico's. +Dit kan leiden tot potentiële schendingen van de rechten en vrijheden van betrokkenen. + +## Normen + +In afwachting van het standaardisatieproces. + +## Maatregelen + +Hier komt een lijst met relevante maatregelen om te voldoen aan dit vereiste. diff --git a/docs/vereisten/index.md b/docs/vereisten/index.md new file mode 100644 index 0000000000..682e0dc1ae --- /dev/null +++ b/docs/vereisten/index.md @@ -0,0 +1,31 @@ +--- +title: Vereisten +--- + +Een kernelement van het Algoritmekader is het beschrijven van de vereisten waar overheidsorganisaties aan moeten voldoen als zij algoritmes en AI (laten) ontwikkelen en gebruiken. +Er is tal van wet- en regelgeving van toepassing op overheidsorganisaties als zij hun wettelijke taken uitvoeren. +Dat geldt ook als algoritmes en AI worden ingezet ter ondersteuning van de bijbehorende werkprocessen. +Hier kan worden gedacht aan de Algemene Wet Bestuursrecht, de Grondwet, de AI-verordening (vanaf inwerkingtreding), Auteurswet, de AVG en meer sectorspecifieke wet- en regelgeving. +In het Algoritmekader wordt een overzicht gegeven van de vereisten die hieruit voortkomen en van toepassing zijn op algoritmes en AI. + +!!! warning "Opmerking" + Het algoritmekader is nog volop in ontwikkeling. + Dit betekent dat de lijst met vereisten die nu zijn opgenomen in het algoritmekader nog onvolledig is, en dat de vereisten later nog kunnen worden aangepast. + Meer vereisten volgen in een volgende versie van het Algoritmekader. + +## Welke vereisten zijn wanneer van toepassing? +In dit deel van het Algoritmekader kan worden genavigeerd door de verschillende vereisten. +Wat precies van toepassing is, is sterk afhankelijk van de specifieke toepassing. +Daarom worden de vereisten gekoppeld aan het type technologie (rekenregel, machine learning of generatieve AI) en aan de risico classificatie (niet-impactvol, impactvol en hoge risico). +Dit moet gebruikers helpen om te duiden welke vereisten in welke situaties moeten worden nageleefd. + +??? note "Opmerking" + Aan deze functionaliteit wordt nog gewerkt. Meer hierover zal volgen in een volgende versie. + +### Voorbeeld +Ter illustratie, ongeacht het type technologie, zijn discriminerende algoritmes en AI verboden en het vereisten van non-discriminatie moet in alle gevallen worden toegepast. +De mate waarin dit speelt kan verschillen en het aantal te treffen maatregelen ook. +Organisaties zullen hier hoe dan ook aandacht aan moeten besteden. +Dit is anders als het gaat om bijvoorbeeld het vereiste van het opnemen van algoritmes en AI in het Algoritmeregister. +Dit is van belang bij impactvolle algoritmische toepassingen en hoog-risico AI-systemen. +Voor de niet-impactvolle rekenregels is dit niet noodzakelijk en kan daardoor achterwege blijven. diff --git a/docs/vereisten/kwaliteitscriteria_voor_data.md b/docs/vereisten/kwaliteitscriteria_voor_data.md new file mode 100644 index 0000000000..aef7d8daf2 --- /dev/null +++ b/docs/vereisten/kwaliteitscriteria_voor_data.md @@ -0,0 +1,77 @@ +--- +title: Data van hoog-risico ai moet voldoen aan kwaliteitscriteria +toelichting: AI-systemen met een hoog risico die data gebruiken voor het trainen van AI-modellen, moeten gebaseerd zijn op datasets die voldoen aan specifieke kwaliteitscriteria. Deze criteria zorgen ervoor dat de data geschikt zijn voor training, validatie en tests, wat de betrouwbaarheid en nauwkeurigheid van het AI-systeem waarborgt. De kwaliteitscriteria is te vinden in leden 2 t/m 5 van artikel 10 van de AI-verordening. Bijvoorbeeld datasets moeten aan praktijken voor databeheer voldoen en moeten relevant, representatief, accuraat en volledig zijn. +status_vereiste: + - Geldend +levenscyclus: +- ontwerp +- dataverkenning-en-datapreparatie +- validatie +bouwblok: +- governance +- data +rekenregels: +- niet-impactvol: Nee +- impactvol: Nee +machine-learning: +- niet-impactvol: Ja +- impactvol: Nee +- hoog-risico: Ja +generatieve-ai: +- niet-impactvol: Nee +- impactvol: Nee +- hoog-risico: Ja +--- + + +## Vereiste + +AI-systemen met een hoog risico die technieken gebruiken die het trainen van AI-modellen met data omvatten, worden ontwikkeld op basis van datareeksen voor training, validatie en tests die voldoen aan de kwaliteitscriteria als bedoeld in de leden 2 tot en met 5 telkens wanneer dergelijke datareeksen worden gebruikt. + +## Toelichting + +AI-systemen met een hoog risico die data gebruiken voor het trainen van AI-modellen, moeten gebaseerd zijn op datasets die voldoen aan specifieke kwaliteitscriteria. +Deze criteria zorgen ervoor dat de data geschikt zijn voor training, validatie en tests, wat de betrouwbaarheid en nauwkeurigheid van het AI-systeem waarborgt. +De kwaliteitscriteria is te vinden in leden 2 t/m 5 van artikel 10 van de AI-verordening. +Bijvoorbeeld datasets moeten aan praktijken voor databeheer voldoen en moeten relevant, representatief, accuraat en volledig zijn. + +## Bronnen + +| Bron | +|-----------------------------| +|Artikel 10(1) Data and datagovernance - AI verordening| + +## Wanneer van toepassing? + +=== "Rekenregel" + + | niet-impactvol | impactvol | + |----------------|-----------| + | :material-close:{style='color: #EF5350' } | :material-close:{style='color: #EF5350' } | + +=== "Machine learning" + + | niet-impactvol | impactvol | hoog-risico-ai | + |----------------|-----------|-----------| + | :material-check-bold:{ style='color: #4DB6AC' } | :material-close:{style='color: #EF5350' } | :material-check-bold:{ style='color: #4DB6AC' } | + +=== "Generatieve AI" + + | niet-impactvol | impactvol | hoog-risico-ai | + |----------------|-----------|-----------| + | :material-close:{style='color: #EF5350' } | :material-close:{style='color: #EF5350' } | :material-check-bold:{ style='color: #4DB6AC' } | + +## Risico + +Gebruik van laagkwalitatieve of bevooroordeelde datasets kan leiden tot onbetrouwbare en oneerlijke AI-besluitvorming. + +Onvoldoende kwaliteitsborging van testdata kan leiden tot vertekende resultaten en gebrekkige prestaties van het AI-systeem bij gebruik in de praktijk. + + +## Normen + +In afwachting van het standaardisatieproces. + +## Maatregelen + +Hier komt een lijst met relevante maatregelen om te voldoen aan dit vereiste. diff --git a/docs/vereisten/non_discriminatie.md b/docs/vereisten/non_discriminatie.md new file mode 100644 index 0000000000..3ecff929ba --- /dev/null +++ b/docs/vereisten/non_discriminatie.md @@ -0,0 +1,83 @@ +--- +title: Ai-systemen en algoritmes mogen niet discrimineren +toelichting: Overheidsinstanties moeten zich bij het uitvoeren van hun taken onthouden van discriminatie, ook wanneer er gebruik wordt gemaakt van algoritmes of AI. Wanneer er algoritmes worden gebruikt om selecties te maken van burgers, dienen we te streven naar een gelijke behandeling van personen of groepen ten opzichte van andere personen in een vergelijkbare situatie. Hierbij is het belangrijk te beseffen dat discriminatie ook op indirecte wijze kan ontstaan. Hiervan is sprake wanneer een ogenschijnlijk neutrale bepaling, maatstaf of handelwijze personen met een beschermd persoonskenmerk in vergelijking met andere personen in het bijzonder benadeelt, tenzij hiervoor een objectieve rechtvaardiging bestaat. +status_vereiste: + - Geldend +levenscyclus: +- probleemanalyse +- dataverkenning-en-datapreparatie +- ontwerp +- validatie +- implementatie +- monitoren +bouwblok: +- fundamentele-rechten +rekenregels: +- niet-impactvol: Ja +- impactvol: Ja +machine-learning: +- niet-impactvol: Ja +- impactvol: Ja +- hoog-risico: Ja +generatieve-ai: +- niet-impactvol: Ja +- impactvol: Ja +- hoog-risico: Ja +--- + + +## Vereiste + +Allen die zich in Nederland bevinden, worden in gelijke gevallen gelijk behandeld. +Directe en indirecte discriminatie wegens godsdienst, levensovertuiging, politieke gezindheid, ras, geslacht, handicap, seksuele gerichtheid of op welke grond dan ook, is niet toegestaan. + + +## Toelichting + +Overheidsinstanties moeten zich bij het uitvoeren van hun taken onthouden van discriminatie, ook wanneer er gebruik wordt gemaakt van algoritmes of AI. +Wanneer er algoritmes worden gebruikt om selecties te maken van burgers, dienen we te streven naar een gelijke behandeling van personen of groepen ten opzichte van andere personen in een vergelijkbare situatie. +Hierbij is het belangrijk te beseffen dat discriminatie ook op indirecte wijze kan ontstaan. +Hiervan is sprake wanneer een ogenschijnlijk neutrale bepaling, maatstaf of handelwijze personen met een beschermd persoonskenmerk in vergelijking met andere personen in het bijzonder benadeelt, tenzij hiervoor een objectieve rechtvaardiging bestaat. + + +## Bronnen + +| Bron | +|-----------------------------| +|Grondwet Artikel 1| +|EVRM Artikel 1 en 14, jo. 21 HvEU | +|Algemene wet gelijke behandeling, Protocol 12 2.2, Artikel 1 lid 1 sub c| +|Artikel 9 AVG| +|Artikel 2:4 Awb| + +## Wanneer van toepassing? + +=== "Rekenregel" + + | niet-impactvol | impactvol | + |----------------|-----------| + | :material-check-bold:{ style='color: #4DB6AC' } | :material-check-bold:{ style='color: #4DB6AC' } | + +=== "Machine learning" + + | niet-impactvol | impactvol | hoog-risico-ai | + |----------------|-----------|-----------| + | :material-check-bold:{ style='color: #4DB6AC' } | :material-check-bold:{ style='color: #4DB6AC' } | :material-check-bold:{ style='color: #4DB6AC' } | + +=== "Generatieve AI" + + | niet-impactvol | impactvol | hoog-risico-ai | + |----------------|-----------|-----------| + | :material-check-bold:{ style='color: #4DB6AC' } | :material-check-bold:{ style='color: #4DB6AC' } | :material-check-bold:{ style='color: #4DB6AC' } | + +## Risico + +Het risico bestaat dat het model onwenselijke systematische afwijkingen creëert voor specifieke personen, groepen of andere eenheden, wat kan duiden op directe of indirecte discriminerende effecten van het algoritme. + +## Normen + +In afwachting van het standaardisatieproces. + +## Maatregelen + +Hier komt een lijst met relevante maatregelen om te voldoen aan dit vereiste. diff --git a/docs/vereisten/recht_op_niet_geautomatiseerd_besluitvorming.md b/docs/vereisten/recht_op_niet_geautomatiseerd_besluitvorming.md new file mode 100644 index 0000000000..182ea9690a --- /dev/null +++ b/docs/vereisten/recht_op_niet_geautomatiseerd_besluitvorming.md @@ -0,0 +1,76 @@ +--- +title: Recht op niet geautomatiseerd besluitvorming +toelichting: Mensen hebben het recht om niet onderworpen te worden aan beslissingen die uitsluitend gebaseerd zijn op geautomatiseerde verwerking, zoals profilering, als dit aanzienlijke gevolgen voor hen heeft of hen op een andere manier aanzienlijk beïnvloedt. Dit recht biedt bescherming tegen mogelijke negatieve effecten van volledig geautomatiseerde besluitvormingssystemen, en waarborgt dat individuen kunnen rekenen op menselijke tussenkomst en beoordeling bij belangrijke beslissingen die hen kunnen treffen. Uitgangspunt is dat voor elk individueel geval een zorgvuldige beoordeling van de kenmerken en omstandigheden plaatsvindt voordat een besluit wordt genomen. +status_vereiste: + - Geldend +levenscyclus: +- ontwerp +- ontwikkelen +- monitoren +bouwblok: +- privacy-en-gegevensbescherming +rekenregels: +- niet-impactvol: Nee +- impactvol: Ja +machine-learning: +- niet-impactvol: Nee +- impactvol: Ja +- hoog-risico: Ja +generatieve-ai: +- niet-impactvol: Nee +- impactvol: Ja +- hoog-risico: Ja +--- + + +## Vereiste + +Betrokkenen hebben het recht om niet onderworpen te worden aan een enkel op geautomatiseerde verwerking, waaronder proflering, gebaseerd besluit, wanneer dit rechtsgevolgen heeft voor hen of het hen anderszins in aanzienlijke mate tref. + +## Toelichting + +Mensen hebben het recht om niet onderworpen te worden aan beslissingen die uitsluitend gebaseerd zijn op geautomatiseerde verwerking, zoals profilering, als dit aanzienlijke gevolgen voor hen heeft of hen op een andere manier aanzienlijk beïnvloedt. +Dit recht biedt bescherming tegen mogelijke negatieve effecten van volledig geautomatiseerde besluitvormingssystemen, en waarborgt dat individuen kunnen rekenen op menselijke tussenkomst en beoordeling bij belangrijke beslissingen die hen kunnen treffen. +Uitgangspunt is dat voor elk individueel geval een zorgvuldige beoordeling van de kenmerken en omstandigheden plaatsvindt voordat een besluit wordt genomen. + +## Bronnen + +| Bron | +|-----------------------------| +|Artikel 22 AVG| +|Artikel 1:3 Awb| + +## Wanneer van toepassing? + +=== "Rekenregel" + + | niet-impactvol | impactvol | + |----------------|-----------| + | :material-close:{style='color: #EF5350' } | :material-check-bold:{ style='color: #4DB6AC' } | + +=== "Machine learning" + + | niet-impactvol | impactvol | hoog-risico-ai | + |----------------|-----------|-----------| + | :material-close:{style='color: #EF5350' } | :material-check-bold:{ style='color: #4DB6AC' } | :material-check-bold:{ style='color: #4DB6AC' } | + +=== "Generatieve AI" + + | niet-impactvol | impactvol | hoog-risico-ai | + |----------------|-----------|-----------| + | :material-close:{style='color: #EF5350' } | :material-check-bold:{ style='color: #4DB6AC' } | :material-check-bold:{ style='color: #4DB6AC' } | + +## Risico + +Bij geautomatiseerde besluitvorming kan het risico ontstaan dat kenmerken van een bepaalde groep ten onrechte worden tegengeworpen aan een individu die deze kenmerken niet hoeft te bezitten. + + + + +## Normen + +In afwachting van het standaardisatieproces. + +## Maatregelen + +Hier komt een lijst met relevante maatregelen om te voldoen aan dit vereiste. diff --git a/docs/vereisten/technische_documentatie_voor_hoog_risico_ai.md b/docs/vereisten/technische_documentatie_voor_hoog_risico_ai.md new file mode 100644 index 0000000000..15c4a99a69 --- /dev/null +++ b/docs/vereisten/technische_documentatie_voor_hoog_risico_ai.md @@ -0,0 +1,102 @@ +--- +title: Technische documentatie voor hoog-risico ai +toelichting: De technische documentatie van een AI-systeem met een hoog risico wordt voorafgaand aan het in de handel brengen of in gebruik nemen opgesteld en regelmatig bijgewerkt. Deze documentatie moet duidelijk aantonen dat het systeem voldoet aan de vereisten van de verordening, zodat nationale autoriteiten en aangemelde instanties de naleving kunnen beoordelen. De documentatie bevat ten minste de elementen zoals uiteengezet in bijlage IV. 1. Een algemene beschrijving van het AI-syseem. 2. Een gedetailleerde beschrijving van de elementen van het AI systeem en het proces voor de ontwikkeling ervan. 3. Gedetailleerde informatie over de monitoring, werking en controle van het AI-systeem. 4. Een beschrijving van de geschiktheid van de prestatiestatistieken. 5. Een gedetailleerde beschrijving van het systeem voor risicobeheer overeenkomstig artikel 9 van de AI verordening. 6. Een beschrijving van de wijzigingen die tijdens de levensduur worden aangebracht. 7. Een lijst van normen die worden toegepast. 8. Een exemplaar van de EU-conformiteitsverklaring. 9. Een gedetailleerde beschrijving voor evaluatie van prestaties nadat het systeem in handel is gebracht, in overeenstemming met artikel 72 van de AI verordening. +status_vereiste: + - Nog niet geldend +levenscyclus: +- ontwerp +- dataverkenning-en-datapreparatie +- ontwikkelen +- validatie +- implementatie +- monitoren +bouwblok: +- governance +- technische-robuustheid-en-veiligheid +rekenregels: +- niet-impactvol: Nee +- impactvol: Nee +machine-learning: +- niet-impactvol: Nee +- impactvol: Nee +- hoog-risico: Ja +generatieve-ai: +- niet-impactvol: Nee +- impactvol: Nee +- hoog-risico: Ja +--- + + +## Vereiste + +De technische documentatie van een AI-systeem met een hoog risico wordt opgesteld voordat dit systeem in de handel wordt gebracht of in gebruik wordt gesteld, en wordt geactualiseerd. +De technische documentatie wordt op zodanige wijze opgesteld dat wordt aangetoond dat het AI-systeem met een hoog risico in overeenstemming is met de eisen van deze afdeling en dat nationale bevoegde autoriteiten en aangemelde instanties over de noodzakelijke, op heldere en begrijpelijke wijze gestelde informatie beschikken om de overeenstemming van het AI-systeem met deze voorschriften te kunnen beoordelen. +De documentatie omvat ten minste de in bijlage IV uiteengezette elementen. + + +## Toelichting + +De technische documentatie van een AI-systeem met een hoog risico wordt voorafgaand aan het in de handel brengen of in gebruik nemen opgesteld en regelmatig bijgewerkt. +Deze documentatie moet duidelijk aantonen dat het systeem voldoet aan de vereisten van de verordening, zodat nationale autoriteiten en aangemelde instanties de naleving kunnen beoordelen. +De documentatie bevat ten minste de elementen zoals uiteengezet in bijlage IV. +1. +Een algemene beschrijving van het AI-syseem. +2. +Een gedetailleerde beschrijving van de elementen van het AI systeem en het proces voor de ontwikkeling ervan. +3. +Gedetailleerde informatie over de monitoring, werking en controle van het AI-systeem. +4. +Een beschrijving van de geschiktheid van de prestatiestatistieken. +5. +Een gedetailleerde beschrijving van het systeem voor risicobeheer overeenkomstig artikel 9 van de AI verordening. +6. +Een beschrijving van de wijzigingen die tijdens de levensduur worden aangebracht. +7. +Een lijst van normen die worden toegepast. +8. +Een exemplaar van de EU-conformiteitsverklaring. +9. +Een gedetailleerde beschrijving voor evaluatie van prestaties nadat het systeem in handel is gebracht, in overeenstemming met artikel 72 van de AI verordening. + +## Bronnen + +| Bron | +|-----------------------------| +|Artikel 11(1) Technische documentatie- AI verordening| +|Bijlage IV bij AI-Verordening| +|| + +## Wanneer van toepassing? + +=== "Rekenregel" + + | niet-impactvol | impactvol | + |----------------|-----------| + | :material-close:{style='color: #EF5350' } | :material-close:{style='color: #EF5350' } | + +=== "Machine learning" + + | niet-impactvol | impactvol | hoog-risico-ai | + |----------------|-----------|-----------| + | :material-close:{style='color: #EF5350' } | :material-close:{style='color: #EF5350' } | :material-check-bold:{ style='color: #4DB6AC' } | + +=== "Generatieve AI" + + | niet-impactvol | impactvol | hoog-risico-ai | + |----------------|-----------|-----------| + | :material-close:{style='color: #EF5350' } | :material-close:{style='color: #EF5350' } | :material-check-bold:{ style='color: #4DB6AC' } | + +## Risico + +Het ontbreken van de benodigde informatie over de algoritmische toepassing of AI-systeem kan ertoe leiden dat de technische functionering onduidelijk is. +Dat kan tot problemen leiden bij de verantwoording, controle en het beheer. +Onvolledige of ontoereikende technische documentatie kan leiden tot onduidelijkheid over de conformiteit van het AI-systeem met de regelgeving, wat de veiligheid en naleving in gevaar kan brengen. + + +## Normen + +In afwachting van het standaardisatieproces. + +## Maatregelen + +Hier komt een lijst met relevante maatregelen om te voldoen aan dit vereiste. diff --git a/docs/vereisten/transparantie.md b/docs/vereisten/transparantie.md new file mode 100644 index 0000000000..eb018cb7a1 --- /dev/null +++ b/docs/vereisten/transparantie.md @@ -0,0 +1,77 @@ +--- +title: Transparantie in ontwerp voor hoog-risico ai +toelichting: AI-systemen met een hoog risico worden ontworpen en ontwikkeld met een hoge mate van transparantie, zodat gebruikers de output van het systeem kunnen begrijpen en correct kunnen gebruiken. Dit zorgt ervoor dat de aanbieders en gebruikers kunnen voldoen aan de verplichtingen zoals uiteengezet in de relevante regelgeving, waardoor de betrouwbaarheid en verantwoordelijkheid van het gebruik van deze systemen worden verzekerd. In artikel 13 lid 3 is een overzicht gegeven van de informatie die gebruikersinstructies tenminste moeten bevatten. +status_vereiste: + - Nog niet geldend +levenscyclus: +- ontwerp +- ontwikkelen +- validatie +- implementatie +- monitoren +bouwblok: +- transparantie +rekenregels: +- niet-impactvol: Nee +- impactvol: Nee +machine-learning: +- niet-impactvol: Nee +- impactvol: Nee +- hoog-risico: Ja +generatieve-ai: +- niet-impactvol: Nee +- impactvol: Nee +- hoog-risico: Ja +--- + + +## Vereiste + +AI-systemen met een hoog risico worden op zodanige wijze ontworpen en ontwikkeld dat de werking ervan voldoende transparant is om exploitanten in staat te stellen de output van een systeem te interpreteren en op passende wijze te gebruiken. +Een passende soort en mate van transparantie wordt gewaarborgd met het oog op de naleving van de relevante verplichtingen van de aanbieder en de exploitant zoals uiteengezet in afdeling 3 van Artikel 13 van de AI verordening. + +## Toelichting + +AI-systemen met een hoog risico worden ontworpen en ontwikkeld met een hoge mate van transparantie, zodat gebruikers de output van het systeem kunnen begrijpen en correct kunnen gebruiken. +Dit zorgt ervoor dat de aanbieders en gebruikers kunnen voldoen aan de verplichtingen zoals uiteengezet in de relevante regelgeving, waardoor de betrouwbaarheid en verantwoordelijkheid van het gebruik van deze systemen worden verzekerd. +In artikel 13 lid 3 is een overzicht gegeven van de informatie die gebruikersinstructies tenminste moeten bevatten. + + +## Bronnen + +| Bron | +|-----------------------------| +|Artikel 13(1) Transparantie en informatieverstrekking aan exploitanten- AI verordening| + +## Wanneer van toepassing? + +=== "Rekenregel" + + | niet-impactvol | impactvol | + |----------------|-----------| + | :material-close:{style='color: #EF5350' } | :material-close:{style='color: #EF5350' } | + +=== "Machine learning" + + | niet-impactvol | impactvol | hoog-risico-ai | + |----------------|-----------|-----------| + | :material-close:{style='color: #EF5350' } | :material-close:{style='color: #EF5350' } | :material-check-bold:{ style='color: #4DB6AC' } | + +=== "Generatieve AI" + + | niet-impactvol | impactvol | hoog-risico-ai | + |----------------|-----------|-----------| + | :material-close:{style='color: #EF5350' } | :material-close:{style='color: #EF5350' } | :material-check-bold:{ style='color: #4DB6AC' } | + +## Risico + +Onvoldoende transparantie kan leiden tot een gebrek aan begrip over hoe het AI-systeem functioneert, wat de effectiviteit van de inzet ervan kan belemmeren en de naleving van wettelijke verplichtingen in gevaar kan brengen. + + +## Normen + +In afwachting van het standaardisatieproces. + +## Maatregelen + +Hier komt een lijst met relevante maatregelen om te voldoen aan dit vereiste. diff --git a/docs/vereisten/zorgvuldigheidsbeginsel.md b/docs/vereisten/zorgvuldigheidsbeginsel.md new file mode 100644 index 0000000000..2bc552d2bb --- /dev/null +++ b/docs/vereisten/zorgvuldigheidsbeginsel.md @@ -0,0 +1,81 @@ +--- +title: Relevante feiten en belangen zijn bekend +toelichting: Dit beginsel vereist dat een besluit met de nodige zorgvuldigheid wordt voorbereid en genomen. Dit vraagt onder meer om een zorgvuldig onderzoek naar feiten, een zorgvuldige beslissingsprocedure en een deugdelijke besluitvorming. Dit betekent dat algoritmes en AI zodanig moet worden ontwikkeld en gebruikt, dat dit passend is ter ondersteuning van de wettelijke taak en de bijbehorende beslissing of besluitvorming. +status_vereiste: + - Geldend + - +levenscyclus: +- probleemanalyse +- ontwerp +- dataverkenning-en-datapreparatie +- ontwikkelen +- validatie +- implementatie +- monitoren +- archiveren +bouwblok: +- governance +rekenregels: +- niet-impactvol: Ja +- impactvol: Ja +machine-learning: +- niet-impactvol: Ja +- impactvol: Ja +- hoog-risico: Ja +generatieve-ai: +- niet-impactvol: Ja +- impactvol: Ja +- hoog-risico: Ja +--- + + +## Vereiste + +De ontwikkeling en het gebruik van algoritmes en AI-systeem komt zorgvuldig tot stand. + +## Toelichting + +Dit beginsel vereist dat een besluit met de nodige zorgvuldigheid wordt voorbereid en genomen. +Dit vraagt onder meer om een zorgvuldig onderzoek naar feiten, een zorgvuldige beslissingsprocedure en een deugdelijke besluitvorming. +Dit betekent dat algoritmes en AI zodanig moet worden ontwikkeld en gebruikt, dat dit passend is ter ondersteuning van de wettelijke taak en de bijbehorende beslissing of besluitvorming. + + +## Bronnen + +| Bron | +|-----------------------------| +|Artikel 3.2 Awb | +|Artikel 3.4 Awb| + +## Wanneer van toepassing? + +=== "Rekenregel" + + | niet-impactvol | impactvol | + |----------------|-----------| + | :material-check-bold:{ style='color: #4DB6AC' } | :material-check-bold:{ style='color: #4DB6AC' } | + +=== "Machine learning" + + | niet-impactvol | impactvol | hoog-risico-ai | + |----------------|-----------|-----------| + | :material-check-bold:{ style='color: #4DB6AC' } | :material-check-bold:{ style='color: #4DB6AC' } | :material-check-bold:{ style='color: #4DB6AC' } | + +=== "Generatieve AI" + + | niet-impactvol | impactvol | hoog-risico-ai | + |----------------|-----------|-----------| + | :material-check-bold:{ style='color: #4DB6AC' } | :material-check-bold:{ style='color: #4DB6AC' } | :material-check-bold:{ style='color: #4DB6AC' } | + +## Risico + +De werking van het algoritmes of AI sluit niet of onvoldoende aan bij de juridische en ethische grenzen van de te ondersteunen wettelijke taak. +Hierdoor kunnen ongewenste gevolgen ontstaan zoals een onjuist of onzorgvuldig genomen besluit op een aanvraag. + +## Normen + +In afwachting van het standaardisatieproces. + +## Maatregelen + +Hier komt een lijst met relevante maatregelen om te voldoen aan dit vereiste. diff --git a/mkdocs.yml b/mkdocs.yml index c6f51102e5..2bd8856f98 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -10,19 +10,21 @@ theme: name: material language: nl palette: - primary: blue + - primary: blue features: - navigation.indexes - navigation.tabs - navigation.tabs.sticky - - navigation.path - navigation.top - navigation.tracking - # - navigation.footer + - navigation.instant + - navigation.footer - search.highlight - search.suggest - content.action.edit + - content.action.view - content.tooltips + - content.tabs.link icon: logo: fontawesome/solid/house annotation: fontawesome/solid/circle-info @@ -37,7 +39,7 @@ nav: - levenscyclus/index.md - levenscyclus/probleemanalyse.md - levenscyclus/ontwerp.md - - levenscyclus/data verkenning en data preparatie.md + - levenscyclus/dataverkenning-en-datapreparatie.md - levenscyclus/ontwikkelen.md - levenscyclus/validatie.md - levenscyclus/implementatie.md @@ -45,92 +47,13 @@ nav: - levenscyclus/archiveren.md - Bouwblokken: - bouwblokken/index.md - - Conformiteitsbeoordeling: - - bouwblokken/conformiteitsbeoordeling/index.md - - bouwblokken/conformiteitsbeoordeling/audit.md - - bouwblokken/conformiteitsbeoordeling/toezicht.md - - Data: - - bouwblokken/data/index.md - - bouwblokken/data/data kwaliteit.md - - bouwblokken/data/data governance.md - - Duurzaamheid: - - bouwblokken/duurzaamheid/index.md - - Fundamentele rechten: - - bouwblokken/fundamentele rechten/index.md - - bouwblokken/fundamentele rechten/non-discriminatie.md - - Governance: - - bouwblokken/governance/index.md - - Inkoop: - - bouwblokken/inkoop/index.md - - Menselijke controle: - - bouwblokken/menselijke controle/index.md - - Privacy en gegevensbescherming: - - bouwblokken/privacy en gegevensbescherming/index.md - - Technische robuustheid en veiligheid: - - bouwblokken/technische robuustheid en veiligheid/index.md - - Transparantie: - - bouwblokken/transparantie/index.md - - Normen: - - normen/index.md - - Conformiteitsbeoordeling: - - normen/conformiteitsbeoordeling/index.md - - normen/conformiteitsbeoordeling/n.t.b..md - - Data: - - normen/data/index.md - - normen/data/n.t.b..md - - Duurzaamheid: - - normen/duurzaamheid/index.md - - normen/duurzaamheid/Bewerkstellig duurzaamheid.md - - Fundamentele rechten: - - normen/fundamentele rechten/index.md - - normen/fundamentele rechten/Non discriminatie.md - - Governance: - - normen/governance/index.md - - normen/governance/Data governance.md - - normen/governance/Rollen en verantwoordelijkheden.md - - normen/governance/Eigenaarschap en beheer.md - - normen/governance/Archiveren.md - - normen/governance/Risicobeheer.md - - normen/governance/Aantoonbaarheid.md - - normen/governance/Kwaliteitsmanagementsysteem.md - - normen/governance/Mensenrechteneffectbeoordeling.md - - normen/governance/Zorgvuldigheidsbeginsel.md - - Inkoop: - - normen/inkoop/index.md - - normen/inkoop/n.t.b..md - - Menselijke controle: - - normen/menselijke controle/index.md - - normen/menselijke controle/Menselijke controle.md - - normen/menselijke controle/Klachtenafhandelingsprocedure.md - - normen/menselijke controle/Autonomie.md - - normen/menselijke controle/AI geletterdheid.md - - Privacy en gegevensbescherming: - - normen/privacy en gegevensbescherming/index.md - - normen/privacy en gegevensbescherming/Rollen en verantwoordelijkheden.md - - normen/privacy en gegevensbescherming/GEB DPIA en voorafgaande raadpleging AP .md - - normen/privacy en gegevensbescherming/Doelbinding.md - - normen/privacy en gegevensbescherming/Dataminimalisatie.md - - normen/privacy en gegevensbescherming/Rechtmatigheid en grondslag.md - - normen/privacy en gegevensbescherming/Geactualisserde en juiste gegevens.md - - normen/privacy en gegevensbescherming/Opslagbeperking.md - - normen/privacy en gegevensbescherming/Bijzondere persoonsgegevens.md - - normen/privacy en gegevensbescherming/Privacyrechten.md - - normen/privacy en gegevensbescherming/Geautomatiseerde besluitvorming en profileren.md - - normen/privacy en gegevensbescherming/Privacy by Design en by Default.md - - Technische robuustheid en veiligheid: - - normen/technische robuustheid en veiligheid/index.md - - normen/technische robuustheid en veiligheid/Informatiebeveiliging.md - - normen/technische robuustheid en veiligheid/Data is representatief.md - - normen/technische robuustheid en veiligheid/Doel en keuze algoritme.md - - normen/technische robuustheid en veiligheid/Betrouwbare algoritme uitkomsten.md - - normen/technische robuustheid en veiligheid/Algoritme continuïteit.md - - Transparantie: - - normen/transparantie/index.md - - normen/transparantie/Informeren over interactie met AI systemen.md - - normen/transparantie/Transparante besluitsvorming.md - - normen/transparantie/Motiveringsbeginsel.md - - normen/transparantie/Traceerbaarheid.md - - normen/transparantie/Algoritmeregister.md + - ... | bouwblokken/*/*.md + - Rollen: + - rollen/index.md + - Vereisten: + - ... | vereisten/*.md + - Maatregelen: + - ... | maatregelen/*.md - Instrumenten: instrumenten/index.md # Extra opties @@ -143,6 +66,9 @@ markdown_extensions: - attr_list - abbr - md_in_html + - footnotes + - toc: + permalink: true - pymdownx.tasklist: custom_checkbox: true - pymdownx.emoji: @@ -153,20 +79,29 @@ markdown_extensions: - includes/begrippenlijst.md # Extra opties voor footer -extra: - social: - - icon: fontawesome/brands/github - link: https://github.com/MinBZK/Algoritmekader +extra: + social: + - icon: fontawesome/brands/github + link: https://github.com/MinBZK/Algoritmekader +extra_css: + - stylesheets/extra.css +extra_javascript: + - https://unpkg.com/tablesort@5.3.0/dist/tablesort.min.js + - javascripts/tablesort.js + plugins: - glightbox - search - git-revision-date-localized: enable_creation_date: true - - tags: - tags_file: tags.md + - awesome-pages -# Link naar GitHub repo (nu nog even mijn eigen repo) +hooks: + - src/overrides/hooks/tags.py + - src/overrides/hooks/lists.py + +# Link naar GitHub repo repo_url: https://github.com/MinBZK/Algoritmekader edit_uri: edit/main/docs/ diff --git a/requirements.txt b/requirements.txt index e6f819debd..f3f21eb0f4 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,4 +1,5 @@ mkdocs==1.5.3 +mkdocs-awesome-pages-plugin==2.9.2 mkdocs-git-revision-date-localized-plugin==1.2.4 mkdocs-glightbox==0.3.7 mkdocs-material==9.5.17 diff --git a/src/overrides/hooks/lists.py b/src/overrides/hooks/lists.py new file mode 100644 index 0000000000..ecf181712c --- /dev/null +++ b/src/overrides/hooks/lists.py @@ -0,0 +1,87 @@ +from __future__ import annotations +from typing import List + +import posixpath +import re + +from mkdocs.config.defaults import MkDocsConfig +from mkdocs.structure.files import File, Files +from mkdocs.structure.pages import Page +from re import Match + +# ----------------------------------------------------------------------------- +# Hooks +# ----------------------------------------------------------------------------- + + +# @todo +def on_env(env, config: MkDocsConfig, files: Files): + def replace(match: Match): + type = match.groups()[0] + types = re.split(r"\s+", type) + type_value_bundle = [y.split("/") for y in types] + + list: List[File] = [] + for file in files: + if not file.src_path.startswith("vereisten/"): + continue + + if not file.src_path.endswith(".md"): + continue + + if all( + value in file.page.meta.get(type, []) + for type, value in type_value_bundle + ): + + list.append(file) + + return "".join( + [ + "", + "", + "", + '', + '', + "", + "", + "", + *([_create_table_row(item) for item in list]), + "", + "
VereisteUitleg
", + ] + ) + + for file in files: + if not file.src_path.endswith(".md"): + continue + + # Find and replace all external asset URLs in current page + file.page.content = re.sub( + r"", replace, file.page.content, flags=re.I | re.M + ) + + +def _create_table_row(file: File): + + return "".join( + [ + "", + f'{file.page.title}', + f"{file.page.meta.get('toelichting', '')}", + "", + ] + ) + + +def _resolve(dest_path: str): + path = posixpath.relpath(dest_path) + return "/" + posixpath.sep.join(path.split(posixpath.sep)[:-1]) + + +# def _icon_true(): +# return '' + + +# def _icon_false(): +# return '' \ No newline at end of file diff --git a/src/overrides/hooks/tags.py b/src/overrides/hooks/tags.py new file mode 100644 index 0000000000..e2b894852f --- /dev/null +++ b/src/overrides/hooks/tags.py @@ -0,0 +1,128 @@ +from __future__ import annotations + +import posixpath +import re + +from mkdocs.config.defaults import MkDocsConfig +from mkdocs.structure.files import File, Files +from mkdocs.structure.pages import Page +from re import Match + +# ----------------------------------------------------------------------------- +# Hooks +# ----------------------------------------------------------------------------- + + +# @todo +def on_page_markdown(markdown: str, *, page: Page, config: MkDocsConfig, files: Files): + + # Replace callback + def replace(_: Match): + buttons = [] + for type in ["levenscyclus", "rollen", "bouwblok"]: + for role in page.meta.get(type, []): + buttons.append(flag(type, role, page, files)) + + return "".join(buttons) + + # Find and replace all external asset URLs in current page + return re.sub(r"", replace, markdown, flags=re.I | re.M) + + +# ----------------------------------------------------------------------------- +# Helper functions +# ----------------------------------------------------------------------------- + + +# Create a flag of a specific type +def flag(type: str, arg: str, page: Page, files: Files): + if type == "levenscyclus": + return _badge_levenscyclus(page, files, arg) + elif type == "rollen": + return _badge_rollen(page, files, arg) + elif type == "bouwblok": + return _badge_bouwblok(page, files, arg) + + return "" + + +# Create a linkable option +def option(type: str): + _, *_, name = re.split(r"[.:]", type) + return f"[`{name}`](#+{type}){{ #+{type} }}\n\n" + + +# Create a linkable setting - @todo append them to the bottom of the page +def setting(type: str): + _, *_, name = re.split(r"[.*]", type) + return f"`{name}` {{ #{type} }}\n\n[{type}]: #{type}\n\n" + + +# ----------------------------------------------------------------------------- + + +# Resolve path of file relative to given page - the posixpath always includes +# one additional level of `..` which we need to remove +def _resolve_path(path: str, page: Page, files: Files): + path, anchor, *_ = f"{path}#".split("#") + path = _resolve(files.get_file_from_path(path), page) + return "#".join([path, anchor]) if anchor else path + + +# Resolve path of file relative to given page - the posixpath always includes +# one additional level of `..` which we need to remove +def _resolve(file: File, page: Page): + path = posixpath.relpath(file.src_uri, page.file.src_uri) + return posixpath.sep.join(path.split(posixpath.sep)[1:]) + + +# ----------------------------------------------------------------------------- + + +# Create badge +def _badge(icon: str, text: str = "", type: str = "", color: str = "blue"): + classes = f"mdx-badge mdx-badge--{type}" if type else "mdx-badge" + return "".join( + [ + f'', + *([f'{icon}'] if icon else []), + *([f'{text}'] if text else []), + f"", + ] + ) + + +# Create badge for levenscyclus +def _badge_levenscyclus(page: Page, files: Files, phase: str): + icon = "material-reload" + href_levenscyclus = _resolve_path("levenscyclus/index.md", page, files) + href_fase = _resolve_path(f"levenscyclus/{phase}.md", page, files) + return _badge( + icon=f"[:{icon}:]({href_levenscyclus} 'Levencyclus')", + text=f"[{phase.capitalize().replace('-', ' ')}]({href_fase})", + color="indigo", + ) + + +# Create badge for rollen +def _badge_rollen(page: Page, files: Files, rol: str): + icon = "material-account" + href_rol = _resolve_path("rollen/index.md", page, files) + href_fase = _resolve_path(f"rollen/{rol}.md", page, files) + return _badge( + icon=f"[:{icon}:]({href_rol} 'Rollen')", + text=f"[{rol.capitalize().replace('-', ' ')}]({href_fase})", + color="green", + ) + + +# Create badge for bouwblok +def _badge_bouwblok(page: Page, files: Files, blok: str): + icon = "material-cube" + href_bouwblok = _resolve_path("bouwblokken/index.md", page, files) + href_fase = _resolve_path(f"bouwblokken/{blok}/index.md", page, files) + return _badge( + icon=f"[:{icon}:]({href_bouwblok} 'Bouwblok')", + text=f"[{blok.capitalize().replace('-', ' ')}]({href_fase})", + color="teal", + ) \ No newline at end of file