EU AI Act: coverage matrix

August 28, 2026 · View on GitHub

Source: Regulation (EU) 2024/1689 (the Artificial Intelligence Act).

Policies live under international/eu_ai_act/v1/.

Legend: ✅ Implemented: checks real input fields against the obligation. ⚠️ Scaffold: package exists, returns placeholder denial. 📋 Planned: not in repo yet.

Title II: Prohibited AI practices (Article 5)

ObligationGOPAL policyStatusNotes
Article 5(1)(a): Manipulative techniquesprohibited_practices/manipulationDetects deployment of subliminal / manipulative techniques
Article 5(1)(a): Emotion recognition (workplace/edu)prohibited_practices/emotion_recognitionDetects emotion-recognition systems in workplace/educational contexts
Article 5(1)(b): Vulnerability exploitationprohibited_practices/vulnerability_exploitationArticle 5(1)(b) as a cumulative test: a vulnerability from age, disability or social/economic situation, plus behavioural distortion, plus significant harm
Article 5(1)(c): Social scoringprohibited_practices/social_scoringDetects social-scoring systems leading to detrimental treatment
Article 5(1)(d): Criminal-offense profilingprohibited_practices/criminal_profilingProhibits prediction based solely on profiling; the Article 5(1)(d) carve-out requires both a supported human assessment and grounding in objective verifiable facts
Article 5(1)(e): Untargeted facial-recognition scrapingprohibited_practices/facial_recognition_scrapingTurns on untargeted collection from the internet or CCTV, not on facial recognition as such
Article 5(1)(b)+(g): Biometric categorizationprohibited_practices/biometric_categorizationSix sensitive attributes from Article 5(1)(g); exempts dataset labelling and law enforcement categorisation
Article 5(1)(h): Real-time remote biometric identificationprohibited_practices/biometric_identificationClosed list of Article 5(1)(h) objectives, and Article 5(3) prior authorisation required on top of a permitted objective

Title III: High-risk AI systems (Articles 6 – 27)

Chapter 2: Requirements for high-risk AI systems

ObligationGOPAL policyStatusNotes
Article 9, Risk management systemrisk_management/risk_managementChecks documented risk-management process & residual risk acceptance
Article 10, Data and data governancedata_governance/data_qualityArticle 10(3) criteria are cumulative; Article 10(4) requires the deployment setting to be considered
Article 10, Training datadata_governance/training_dataSeven Article 10(2) practices; Article 10(5) special-category use conditional on safeguards
Article 11, Technical documentationdocumentation/technical_documentationChecks documentation.technical_documentation.completeness
Article 12, Record-keeping (logging)documentation/record_keepingSix-month floor from Articles 19 and 26(6); a longer sectoral period raises it, a shorter one cannot lower it
Article 12, Automated logsdocumentation/automated_logsArticle 12(1)-(2) baseline, plus the four Article 12(3) fields for Annex III 1(a) biometric systems
Article 13, Transparency to deployerstransparency/transparency⚠️Scores documentation completeness and a toxicity threshold. Article 13 requires instructions for use containing specified content; a completeness score is a proxy for that, not a test of it
Article 14, Human oversighthuman_oversight/human_oversightArticle 14(4)(a)-(e) as four separate controls: oversight designed in, limits understood, automation bias, ability to disregard and to halt
Article 15, Accuracy, robustness, cybersecuritytechnical_robustness/robustnessAccuracy declared in the instructions for use, feedback loops where the system keeps learning, and AI-specific cybersecurity attacks
Article 15, Fairness obligationseu_fairness/eu_fairnessChecks bias-metric thresholds and protected-class coverage

Chapter 3: Obligations of providers, deployers, importers, distributors

ObligationGOPAL policyStatusNotes
Article 16 and 17, provider obligationsobligations/provider_obligationsTen Article 16 limbs tested separately, naming each one outstanding
Article 23, Importer obligationsobligations/importer_obligationsArticle 23 pre-market verifications plus the ten-year retention duty
Article 24, Distributor obligationsobligations/distributor_obligationsArticle 24 verifications plus the continuing Article 24(4) corrective duty
Article 26, Deployer obligationsobligations/deployer_obligationsArticle 26, with 26(7) workplace and 26(11) affected-persons duties conditional, and 26(4) scoped to input data the deployer controls

Chapter 5: Conformity assessment and CE marking

ObligationGOPAL policyStatusNotes
Article 43, Conformity assessmentcompliance/conformity_assessmentArticle 43 route selection: internal control for Annex III 1 only where harmonised standards were applied
Article 47, EU declaration of conformitycompliance/declaration_conformityArticle 47 requires machine readability, Annex V content, ten-year retention and translation
Article 48, CE markingcompliance/ce_markingArticle 48(2) digital marking and Article 48(4) notified body number, both conditional
Article 49, Registration in EU databasecompliance/registrationArticle 49(1) registration before market, and the Article 49(2) duty to register an Article 6(3) non-high-risk assessment

Title V: General-purpose AI models (Articles 51 – 56)

ObligationGOPAL policyStatusNotes
Article 53, GPAI technical documentationgpai/technical_documentationArticle 53(1)(a) with the Article 53(2) open-source exemption, which systemic risk removes
Article 53, Downstream transparencygpai/downstream_transparencyArticle 53(1)(b)-(d); the open-source exemption reaches the downstream duty only
Article 51, Systemic-risk classificationgpai/systemic_risk_classificationArticle 51(2) 102510^{25} FLOP presumption, Article 52(1) notification, and the four Article 55 obligations

Not yet covered (📋 Planned)

ObligationWhy it's openHelp wanted
Article 6, High-risk classification rulesNeeds a structured input schema mapping Annex I/III to system attributesYes
Article 27, Fundamental-rights impact assessmentNeeds FRIA template + checklist inputYes
Article 50, Transparency to natural persons (deepfakes etc.)Needs use-case taxonomy and disclosure-evidence inputYes
Article 55, Obligations for GPAI with systemic riskNeeds systemic-risk evaluation results inputYes
Article 72, Post-market monitoringNeeds post-deployment metrics inputYes
Annex IV, Technical documentation contentsCurrently aggregated into technical_documentation; could be split per-lineMaybe

How to help

  1. Write a test for a case that has none. Every policy now has a sibling *_test.rego with an empty-input assertion, and scripts/check-test-coverage.sh fails CI if one goes missing. What is still thin is coverage of cases: a policy with one test proving it denies an empty input is verified against the fail-open class and nothing else. Adding a case needs no new Rego logic. See docs/tutorials/add-your-first-policy.md.
  2. Open a 📋 Planned row. Comment on the relevant issue (or open one) with your interpretation of the obligation and a proposed input schema before sending a PR.
  3. Disagree with our coverage call? Open an issue. We'd rather have the dispute in public than ship rules that misread the regulation.

⚠️ Reminder: GOPAL is not legal advice. The matrix above is GOPAL's engineering interpretation of where each obligation maps. Use it as a starting point for your own compliance review, not a substitute for one.