Skip to main content

Hoe Scanara's regels worden gebouwd en geverifieerd

Elke regel is verankerd in het exacte artikel, lid en punt van de verordening — en doorloopt zes verificatielagen voordat ze wordt uitgeleverd.

Gemeten op 4 augustus 2026 — opnieuw geverifieerd vóór elke release.

Hoe regels worden gebouwd

Scanara's regelpipeline verwerkt de volledige tekst van Verordening (EU) 2024/1689 en verankert elke regel in het exacte artikel, lid en punt. Eén mappingbestand classificeert elke verplichting in de verordening als een van drie dingen: detecteerbaar in code, detecteerbaar in een beleidsdocument, of niet machinaal detecteerbaar en overgelaten aan een begeleide assessment.

De release-poortenladder

Elke release van de regelset doorloopt zes poorten achter elkaar, van brede structurele controles tot een exacte vergelijking met bekend goed resultaat. Een release wordt pas uitgeleverd als elke poort is gepasseerd.

L2.5

Catalogusconsistentie

Controleert of de artikelcatalogus, de verplichtingenmapping en eventuele overlap-onderdrukkingsregels onderling gesynchroniseerd blijven.

L1/L2

Corpusstructuur

Negen structurele controles op het regelcorpus: artikeldekking, geen dubbele patronen, volledige metadata, geldige enum-waarden, unieke regel-ID's en limieten voor stub-regels.

L3

Fixtures per verplichting

Voor elke in code detecteerbare verplichting moet een positieve fixture minstens één bevinding opleveren en een negatieve fixture nul — in elke ondersteunde taal.

L4

KPI-drempels

17 drempels voor dekking, volledigheid en determinisme — zie de tabel hieronder.

L5

Golden snapshots

Een exacte vergelijking van elke bevinding met een vastgelegd verwacht resultaat, over 25 benchmarkapplicaties, vastgezet op een specifieke regelsetversie.

R1

Remediation-poort

Bevestigt dat een onbewerkte fixture een niet-voldane bevinding oplevert, en dat dezelfde fixture met de aanbevolen remediation toegepast als voldaan wordt herkend.

Hoe Scanara documentatie beoordeelt met OPA en Rego

Scanara's compliance-controles op documentniveau draaien op Open Policy Agent (OPA). OPA toetst technische documentatie aan verplichtingen uit de Verordening (EU) 2024/1689. Dit volgt dezelfde policy-as-code-aanpak die in het hele OPA-ecosysteem wordt gebruikt: declaratieve regels, deterministische evaluatie, elke keer een controleerbaar resultaat. Dit loopt parallel aan Scanara's broncodescan. Codescanning controleert wat de code doet. OPA controleert wat de documentatie zegt.

Elk documentatiebestand doorloopt dezelfde stappen. Eerst parst Scanara het bestand en detecteert de taal (8 EU-talen worden ondersteund). Daarna normaliseert Scanara het bestand tot een gestructureerd invoerdocument: secties, koppen, geëxtraheerde tekst. OPA toetst dit gestructureerde document aan een gecompileerde Rego-policybundel.

Scanara genereert deze regels vanuit een canonieke koppeling tussen de artikeltekst van de Verordening (EU) 2024/1689 en machinaal controleerbare vereisten. Geen enkele regel wordt per repository met de hand geschreven. Elke regel is herleidbaar tot een specifiek artikel, lid en punt. De evaluatie levert één bevinding per verplichting op: voldaan, ontbrekend of gedeeltelijk. Deze bevindingen komen samen met de broncodebevindingen in het compliance-rapport terecht.

Het onderstaande voorbeeld toont het patroon. Het is vereenvoudigd voor openbare documentatie. De productieregelset omvat tientallen verplichtingscategorieën, plus meertalige detectie, ernstweging en documentoverschrijdende consistentiecontroles die hier niet worden getoond.

package eu_ai_act.example.article_11

# Illustrative pattern only — simplified for public documentation.
# Scanara's production ruleset covers dozens of obligation categories with
# multi-language detection, severity weighting, and cross-document
# consistency checks not shown here.

default satisfied := false

# A document satisfies this (illustrative) Article 11 check when its parsed
# sections include the required topic, with non-empty content.
satisfied if {
	some section in input.document.sections
	section.topic == "risk_management_process"
	count(trim_space(section.content)) > 0
}

finding := {
	"article": "11",
	"obligation": "technical_documentation.risk_management_process",
	"status": "satisfied",
} if satisfied

finding := {
	"article": "11",
	"obligation": "technical_documentation.risk_management_process",
	"status": "missing",
	"severity": "high",
} if not satisfied

Samen detecteren beide engines automatisch 66 artikelen van de Verordening (EU) 2024/1689: 44 code-detecteerbaar en 22 documentniveau via OPA. De dekking omvat alle 8 EU-talen. Bevindingen van beide engines komen rechtstreeks in het gegenereerde compliance-dossier terecht. Het bewijstraject is herleidbaar tot een daadwerkelijk scanresultaat, niet tot een zelf gerapporteerde checklist.

Huidige gemeten waarden

MetriekDrempelHuidig
Artikeldekking (113 artikelen van de verordening)100%100%
Echte-patroondekking van code-geschikte artikelen100%100% (44/44)
Document-/beleidsartikelen met OPA-dekking100%100% (22/22)
In code detecteerbare verplichtingen met minstens één regel100%100% (77/77)
Regels met risiconiveau-metadata100%100% (522/522)
Regels met actor-metadata100%100% (522/522)
Regels met gestructureerde remediation-richtlijnen100%100% (522/522)
Spreiding in regelaantal over de 12 ondersteunde talen≤ 10
Dubbele regel-ID's00
Stub-regels (zonder codepatroon) per artikel≤ 10
Geslaagde L4 KPI-drempels17/1717/17

Wat deze cijfers niet meten

Dit zijn dekkings-, volledigheids- en determinisme-metrieken — ze laten zien hoeveel van de verordening in kaart is gebracht en hoe consistent de pipeline zich gedraagt over talen en releases heen. Er is geen precisie-, recall- of fout-positief-percentage-KPI, omdat dat een door mensen gelabeld ground-truth-corpus zou vereisen dat we niet hebben. Het structurele bewijs tegen fout-positieven is dit: elke negatieve fixture per verplichting moet nul bevindingen opleveren, en een speciale applicatie met minimaal risico — waarbij elke hoog-risico-, GPAI- en beperkt-risicoregel is onderdrukt — moet eveneens nul bevindingen opleveren.

Scanara detecteert compliance-lacunes op code- en documentniveau. Voor complexe juridische interpretaties raden wij aan om samen te werken met gespecialiseerd juridisch advies.