@complior/engine 0.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (594) hide show
  1. package/.well-known/ai-compliance.json +16 -0
  2. package/COMPLIANCE.md +64 -0
  3. package/data/data-integrity.test.ts +75 -0
  4. package/data/eval/eval-mappings.json +33 -0
  5. package/data/llm/model-pricing.json +15 -0
  6. package/data/llm/model-routing.json +36 -0
  7. package/data/onboarding/risk-profile.json +17 -0
  8. package/data/regulations/eu-ai-act/README.md +245 -0
  9. package/data/regulations/eu-ai-act/applicability-tree.json +160 -0
  10. package/data/regulations/eu-ai-act/cross-mapping.json +175 -0
  11. package/data/regulations/eu-ai-act/localization.json +186 -0
  12. package/data/regulations/eu-ai-act/obligations.json +3981 -0
  13. package/data/regulations/eu-ai-act/regulation-meta.json +482 -0
  14. package/data/regulations/eu-ai-act/scoring.json +342 -0
  15. package/data/regulations/eu-ai-act/technical-requirements.json +2590 -0
  16. package/data/regulations/eu-ai-act/timeline.json +160 -0
  17. package/data/regulations/jurisdictions/at.json +15 -0
  18. package/data/regulations/jurisdictions/be.json +15 -0
  19. package/data/regulations/jurisdictions/bg.json +15 -0
  20. package/data/regulations/jurisdictions/cy.json +15 -0
  21. package/data/regulations/jurisdictions/cz.json +15 -0
  22. package/data/regulations/jurisdictions/de.json +15 -0
  23. package/data/regulations/jurisdictions/dk.json +15 -0
  24. package/data/regulations/jurisdictions/ee.json +15 -0
  25. package/data/regulations/jurisdictions/es.json +15 -0
  26. package/data/regulations/jurisdictions/fi.json +15 -0
  27. package/data/regulations/jurisdictions/fr.json +15 -0
  28. package/data/regulations/jurisdictions/gr.json +15 -0
  29. package/data/regulations/jurisdictions/hr.json +15 -0
  30. package/data/regulations/jurisdictions/hu.json +15 -0
  31. package/data/regulations/jurisdictions/ie.json +15 -0
  32. package/data/regulations/jurisdictions/is.json +15 -0
  33. package/data/regulations/jurisdictions/it.json +15 -0
  34. package/data/regulations/jurisdictions/li.json +15 -0
  35. package/data/regulations/jurisdictions/lt.json +15 -0
  36. package/data/regulations/jurisdictions/lu.json +15 -0
  37. package/data/regulations/jurisdictions/lv.json +15 -0
  38. package/data/regulations/jurisdictions/mt.json +15 -0
  39. package/data/regulations/jurisdictions/nl.json +15 -0
  40. package/data/regulations/jurisdictions/no.json +15 -0
  41. package/data/regulations/jurisdictions/pl.json +15 -0
  42. package/data/regulations/jurisdictions/pt.json +15 -0
  43. package/data/regulations/jurisdictions/ro.json +15 -0
  44. package/data/regulations/jurisdictions/se.json +15 -0
  45. package/data/regulations/jurisdictions/si.json +15 -0
  46. package/data/regulations/jurisdictions/sk.json +15 -0
  47. package/data/scanner/check-id-categories.json +81 -0
  48. package/data/scanner/confidence-params.json +16 -0
  49. package/data/scanner/limits.json +4 -0
  50. package/data/schemas/http-contract-sample.json +79 -0
  51. package/data/schemas/http-contract.json +144 -0
  52. package/data/semgrep-rules/bare-call.yaml +37 -0
  53. package/data/semgrep-rules/injection.yaml +73 -0
  54. package/data/semgrep-rules/missing-error-handling.yaml +58 -0
  55. package/data/semgrep-rules/unsafe-deser.yaml +65 -0
  56. package/data/templates/eu-ai-act/ai-literacy.md +184 -0
  57. package/data/templates/eu-ai-act/art5-screening.md +131 -0
  58. package/data/templates/eu-ai-act/data-governance.md +145 -0
  59. package/data/templates/eu-ai-act/declaration-of-conformity.md +161 -0
  60. package/data/templates/eu-ai-act/fria.md +127 -0
  61. package/data/templates/eu-ai-act/gpai-systemic-risk.md +150 -0
  62. package/data/templates/eu-ai-act/gpai-transparency.md +166 -0
  63. package/data/templates/eu-ai-act/incident-report.md +188 -0
  64. package/data/templates/eu-ai-act/instructions-for-use.md +202 -0
  65. package/data/templates/eu-ai-act/monitoring-policy.md +110 -0
  66. package/data/templates/eu-ai-act/qms.md +180 -0
  67. package/data/templates/eu-ai-act/risk-management-system.md +123 -0
  68. package/data/templates/eu-ai-act/technical-documentation.md +287 -0
  69. package/data/templates/eu-ai-act/worker-notification.md +143 -0
  70. package/data/templates/policies/biometrics-ai-policy.md +214 -0
  71. package/data/templates/policies/critical-infra-ai-policy.md +228 -0
  72. package/data/templates/policies/education-ai-policy.md +184 -0
  73. package/data/templates/policies/finance-ai-policy.md +191 -0
  74. package/data/templates/policies/healthcare-ai-policy.md +197 -0
  75. package/data/templates/policies/hr-ai-policy.md +178 -0
  76. package/data/templates/policies/legal-ai-policy.md +189 -0
  77. package/data/templates/policies/migration-ai-policy.md +239 -0
  78. package/engine.log +7 -0
  79. package/package.json +74 -0
  80. package/src/composition-root.ts +791 -0
  81. package/src/data/eval/conformity-tests.test.ts +122 -0
  82. package/src/data/eval/ct-1-transparency.ts +106 -0
  83. package/src/data/eval/ct-10-gpai.ts +25 -0
  84. package/src/data/eval/ct-11-industry.ts +42 -0
  85. package/src/data/eval/ct-2-oversight.ts +41 -0
  86. package/src/data/eval/ct-3-explanation.ts +14 -0
  87. package/src/data/eval/ct-4-bias.ts +83 -0
  88. package/src/data/eval/ct-5-accuracy.ts +41 -0
  89. package/src/data/eval/ct-6-robustness.ts +81 -0
  90. package/src/data/eval/ct-7-prohibited.ts +52 -0
  91. package/src/data/eval/ct-8-logging.ts +68 -0
  92. package/src/data/eval/ct-9-risk-awareness.ts +33 -0
  93. package/src/data/eval/deterministic-evaluator.ts +120 -0
  94. package/src/data/eval/index.ts +55 -0
  95. package/src/data/eval/judge-prompts.ts +146 -0
  96. package/src/data/eval/llm-judged-tests.ts +279 -0
  97. package/src/data/eval/llm-tests.test.ts +83 -0
  98. package/src/data/eval/remediation/ct-1-transparency.ts +91 -0
  99. package/src/data/eval/remediation/ct-10-gpai.ts +94 -0
  100. package/src/data/eval/remediation/ct-11-industry.ts +94 -0
  101. package/src/data/eval/remediation/ct-2-oversight.ts +71 -0
  102. package/src/data/eval/remediation/ct-3-explanation.ts +70 -0
  103. package/src/data/eval/remediation/ct-4-bias.ts +70 -0
  104. package/src/data/eval/remediation/ct-5-accuracy.ts +70 -0
  105. package/src/data/eval/remediation/ct-6-robustness.ts +70 -0
  106. package/src/data/eval/remediation/ct-7-prohibited.ts +94 -0
  107. package/src/data/eval/remediation/ct-8-logging.ts +94 -0
  108. package/src/data/eval/remediation/ct-9-risk-awareness.ts +94 -0
  109. package/src/data/eval/remediation/index.ts +89 -0
  110. package/src/data/eval/remediation/owasp-art5.ts +15 -0
  111. package/src/data/eval/remediation/owasp-llm01.ts +72 -0
  112. package/src/data/eval/remediation/owasp-llm02.ts +72 -0
  113. package/src/data/eval/remediation/owasp-llm03.ts +15 -0
  114. package/src/data/eval/remediation/owasp-llm04.ts +15 -0
  115. package/src/data/eval/remediation/owasp-llm05.ts +15 -0
  116. package/src/data/eval/remediation/owasp-llm06.ts +15 -0
  117. package/src/data/eval/remediation/owasp-llm07.ts +15 -0
  118. package/src/data/eval/remediation/owasp-llm08.ts +15 -0
  119. package/src/data/eval/remediation/owasp-llm09.ts +15 -0
  120. package/src/data/eval/remediation/owasp-llm10.ts +15 -0
  121. package/src/data/eval/remediation/remediation.test.ts +229 -0
  122. package/src/data/eval/remediation/test-mapping.ts +290 -0
  123. package/src/data/eval/security-rubrics.ts +381 -0
  124. package/src/data/finding-explanations.json +453 -0
  125. package/src/data/industry-patterns.ts +161 -0
  126. package/src/data/registry-cards.ts +368 -0
  127. package/src/data/regulation/index.ts +5 -0
  128. package/src/data/regulation/jurisdiction-data.test.ts +73 -0
  129. package/src/data/regulation/jurisdiction-data.ts +65 -0
  130. package/src/data/regulation/regulation-data.ts +19 -0
  131. package/src/data/regulation/regulation-loader.test.ts +107 -0
  132. package/src/data/regulation/regulation-loader.ts +56 -0
  133. package/src/data/scanner-constants.ts +46 -0
  134. package/src/data/schemas/schemas-core.ts +140 -0
  135. package/src/data/schemas/schemas-supplementary.ts +211 -0
  136. package/src/data/schemas/schemas.ts +28 -0
  137. package/src/data/security/attack-probes.test.ts +62 -0
  138. package/src/data/security/attack-probes.ts +496 -0
  139. package/src/data/security/eu-ai-act-security.ts +40 -0
  140. package/src/data/security/index.ts +19 -0
  141. package/src/data/security/mitre-atlas.test.ts +43 -0
  142. package/src/data/security/mitre-atlas.ts +93 -0
  143. package/src/data/security/nist-ai-rmf.ts +43 -0
  144. package/src/data/security/owasp-llm-top10.test.ts +60 -0
  145. package/src/data/security/owasp-llm-top10.ts +138 -0
  146. package/src/data/template-registry.ts +53 -0
  147. package/src/data/tool-versions.json +22 -0
  148. package/src/domain/audit/audit-package.test.ts +152 -0
  149. package/src/domain/audit/audit-package.ts +166 -0
  150. package/src/domain/audit/audit-trail.test.ts +121 -0
  151. package/src/domain/audit/audit-trail.ts +174 -0
  152. package/src/domain/audit/index.ts +8 -0
  153. package/src/domain/audit/permissions-matrix.test.ts +136 -0
  154. package/src/domain/audit/permissions-matrix.ts +121 -0
  155. package/src/domain/certification/adversarial/bias-tests.ts +95 -0
  156. package/src/domain/certification/adversarial/evaluators.ts +304 -0
  157. package/src/domain/certification/adversarial/index.ts +11 -0
  158. package/src/domain/certification/adversarial/prompt-injection.ts +103 -0
  159. package/src/domain/certification/adversarial/safety-boundary.ts +132 -0
  160. package/src/domain/certification/aiuc1-readiness.test.ts +236 -0
  161. package/src/domain/certification/aiuc1-readiness.ts +298 -0
  162. package/src/domain/certification/aiuc1-requirements.ts +235 -0
  163. package/src/domain/certification/index.ts +10 -0
  164. package/src/domain/certification/redteam-runner.test.ts +97 -0
  165. package/src/domain/certification/redteam-runner.ts +205 -0
  166. package/src/domain/certification/test-runner.test.ts +232 -0
  167. package/src/domain/certification/test-runner.ts +289 -0
  168. package/src/domain/cost/cost-estimator.test.ts +187 -0
  169. package/src/domain/cost/cost-estimator.ts +133 -0
  170. package/src/domain/disclaimer.test.ts +52 -0
  171. package/src/domain/disclaimer.ts +39 -0
  172. package/src/domain/documents/ai-enricher.test.ts +120 -0
  173. package/src/domain/documents/ai-enricher.ts +159 -0
  174. package/src/domain/documents/document-generator.test.ts +318 -0
  175. package/src/domain/documents/document-generator.ts +239 -0
  176. package/src/domain/documents/index.ts +9 -0
  177. package/src/domain/documents/passport-helpers.ts +25 -0
  178. package/src/domain/documents/policy-generator.test.ts +252 -0
  179. package/src/domain/documents/policy-generator.ts +94 -0
  180. package/src/domain/documents/worker-notification-generator.test.ts +162 -0
  181. package/src/domain/documents/worker-notification-generator.ts +141 -0
  182. package/src/domain/eval/adapters/adapter-port.ts +94 -0
  183. package/src/domain/eval/adapters/adapters.test.ts +303 -0
  184. package/src/domain/eval/adapters/anthropic-adapter.ts +57 -0
  185. package/src/domain/eval/adapters/auto-detect.ts +104 -0
  186. package/src/domain/eval/adapters/create-chat-adapter.ts +106 -0
  187. package/src/domain/eval/adapters/custom-adapter.ts +74 -0
  188. package/src/domain/eval/adapters/http-adapter.ts +66 -0
  189. package/src/domain/eval/adapters/index.ts +7 -0
  190. package/src/domain/eval/adapters/ollama-adapter.ts +48 -0
  191. package/src/domain/eval/adapters/openai-adapter.ts +58 -0
  192. package/src/domain/eval/adapters/with-timeout.ts +25 -0
  193. package/src/domain/eval/conformity-score.test.ts +161 -0
  194. package/src/domain/eval/conformity-score.ts +135 -0
  195. package/src/domain/eval/eval-constants.ts +55 -0
  196. package/src/domain/eval/eval-evidence.test.ts +85 -0
  197. package/src/domain/eval/eval-evidence.ts +103 -0
  198. package/src/domain/eval/eval-fix-generator.test.ts +421 -0
  199. package/src/domain/eval/eval-fix-generator.ts +205 -0
  200. package/src/domain/eval/eval-passport.test.ts +82 -0
  201. package/src/domain/eval/eval-passport.ts +89 -0
  202. package/src/domain/eval/eval-remediation-report.test.ts +682 -0
  203. package/src/domain/eval/eval-remediation-report.ts +170 -0
  204. package/src/domain/eval/eval-report.ts +108 -0
  205. package/src/domain/eval/eval-runner.test.ts +609 -0
  206. package/src/domain/eval/eval-runner.ts +593 -0
  207. package/src/domain/eval/eval-to-findings.test.ts +293 -0
  208. package/src/domain/eval/eval-to-findings.ts +83 -0
  209. package/src/domain/eval/index.ts +31 -0
  210. package/src/domain/eval/llm-judge.test.ts +139 -0
  211. package/src/domain/eval/llm-judge.ts +168 -0
  212. package/src/domain/eval/remediation-types.ts +90 -0
  213. package/src/domain/eval/security-integration.test.ts +196 -0
  214. package/src/domain/eval/security-integration.ts +136 -0
  215. package/src/domain/eval/types.test.ts +173 -0
  216. package/src/domain/eval/types.ts +244 -0
  217. package/src/domain/eval/verdict-utils.ts +45 -0
  218. package/src/domain/fixer/create-fixer.ts +101 -0
  219. package/src/domain/fixer/diff.ts +70 -0
  220. package/src/domain/fixer/fix-history.ts +23 -0
  221. package/src/domain/fixer/fixer.test.ts +306 -0
  222. package/src/domain/fixer/index.ts +9 -0
  223. package/src/domain/fixer/strategies/bandit-fix.ts +61 -0
  224. package/src/domain/fixer/strategies/bias-testing.ts +49 -0
  225. package/src/domain/fixer/strategies/ci-compliance.ts +57 -0
  226. package/src/domain/fixer/strategies/content-marking.ts +45 -0
  227. package/src/domain/fixer/strategies/cve-upgrade.ts +66 -0
  228. package/src/domain/fixer/strategies/data-governance.ts +65 -0
  229. package/src/domain/fixer/strategies/disclosure.ts +69 -0
  230. package/src/domain/fixer/strategies/doc-code-sync.ts +53 -0
  231. package/src/domain/fixer/strategies/documentation.ts +59 -0
  232. package/src/domain/fixer/strategies/error-handler.ts +63 -0
  233. package/src/domain/fixer/strategies/hitl-gate.ts +67 -0
  234. package/src/domain/fixer/strategies/index.ts +61 -0
  235. package/src/domain/fixer/strategies/kill-switch-test.ts +85 -0
  236. package/src/domain/fixer/strategies/kill-switch.ts +53 -0
  237. package/src/domain/fixer/strategies/license-fix.ts +57 -0
  238. package/src/domain/fixer/strategies/log-retention.ts +40 -0
  239. package/src/domain/fixer/strategies/logging.ts +59 -0
  240. package/src/domain/fixer/strategies/metadata.ts +45 -0
  241. package/src/domain/fixer/strategies/permission-guard.ts +84 -0
  242. package/src/domain/fixer/strategies/record-keeping.ts +69 -0
  243. package/src/domain/fixer/strategies/secret-rotation.ts +52 -0
  244. package/src/domain/fixer/strategies.test.ts +341 -0
  245. package/src/domain/fixer/template-engine.test.ts +64 -0
  246. package/src/domain/fixer/template-engine.ts +38 -0
  247. package/src/domain/fixer/types.ts +88 -0
  248. package/src/domain/frameworks/aiuc1-framework.test.ts +159 -0
  249. package/src/domain/frameworks/aiuc1-framework.ts +126 -0
  250. package/src/domain/frameworks/collect-foundation-metrics.test.ts +96 -0
  251. package/src/domain/frameworks/collect-foundation-metrics.ts +34 -0
  252. package/src/domain/frameworks/eu-ai-act-framework.test.ts +117 -0
  253. package/src/domain/frameworks/eu-ai-act-framework.ts +100 -0
  254. package/src/domain/frameworks/framework-registry.test.ts +91 -0
  255. package/src/domain/frameworks/framework-registry.ts +38 -0
  256. package/src/domain/frameworks/index.ts +8 -0
  257. package/src/domain/frameworks/mitre-atlas-framework.test.ts +53 -0
  258. package/src/domain/frameworks/mitre-atlas-framework.ts +53 -0
  259. package/src/domain/frameworks/owasp-llm-framework.test.ts +77 -0
  260. package/src/domain/frameworks/owasp-llm-framework.ts +54 -0
  261. package/src/domain/frameworks/score-plugin-framework.ts +117 -0
  262. package/src/domain/fria/fria-generator.test.ts +273 -0
  263. package/src/domain/fria/fria-generator.ts +366 -0
  264. package/src/domain/import/promptfoo-importer.test.ts +103 -0
  265. package/src/domain/import/promptfoo-importer.ts +151 -0
  266. package/src/domain/onboarding/guided-onboarding.test.ts +144 -0
  267. package/src/domain/onboarding/guided-onboarding.ts +135 -0
  268. package/src/domain/passport/builder/domain-mapper.ts +9 -0
  269. package/src/domain/passport/builder/manifest-builder.test.ts +546 -0
  270. package/src/domain/passport/builder/manifest-builder.ts +535 -0
  271. package/src/domain/passport/builder/manifest-diff.test.ts +105 -0
  272. package/src/domain/passport/builder/manifest-diff.ts +89 -0
  273. package/src/domain/passport/builder/manifest-files.ts +17 -0
  274. package/src/domain/passport/crypto-signer.test.ts +93 -0
  275. package/src/domain/passport/crypto-signer.ts +157 -0
  276. package/src/domain/passport/discovery/agent-discovery.test.ts +296 -0
  277. package/src/domain/passport/discovery/agent-discovery.ts +325 -0
  278. package/src/domain/passport/discovery/autonomy-analyzer.test.ts +141 -0
  279. package/src/domain/passport/discovery/autonomy-analyzer.ts +113 -0
  280. package/src/domain/passport/discovery/permission-scanner.test.ts +191 -0
  281. package/src/domain/passport/discovery/permission-scanner.ts +414 -0
  282. package/src/domain/passport/export/a2a-mapper.ts +75 -0
  283. package/src/domain/passport/export/aiuc1-mapper.ts +126 -0
  284. package/src/domain/passport/export/export.test.ts +207 -0
  285. package/src/domain/passport/export/index.ts +41 -0
  286. package/src/domain/passport/export/nist-mapper.ts +227 -0
  287. package/src/domain/passport/import/a2a-importer.test.ts +133 -0
  288. package/src/domain/passport/import/a2a-importer.ts +156 -0
  289. package/src/domain/passport/import/index.ts +2 -0
  290. package/src/domain/passport/index.ts +32 -0
  291. package/src/domain/passport/obligation-field-map.test.ts +113 -0
  292. package/src/domain/passport/obligation-field-map.ts +117 -0
  293. package/src/domain/passport/passport-validator.test.ts +156 -0
  294. package/src/domain/passport/passport-validator.ts +126 -0
  295. package/src/domain/passport/scan-to-compliance.test.ts +336 -0
  296. package/src/domain/passport/scan-to-compliance.ts +166 -0
  297. package/src/domain/passport/test-generator.test.ts +93 -0
  298. package/src/domain/passport/test-generator.ts +136 -0
  299. package/src/domain/proxy/index.ts +11 -0
  300. package/src/domain/proxy/json-rpc.test.ts +72 -0
  301. package/src/domain/proxy/json-rpc.ts +53 -0
  302. package/src/domain/proxy/policy-engine.test.ts +259 -0
  303. package/src/domain/proxy/policy-engine.ts +137 -0
  304. package/src/domain/proxy/proxy-bridge.ts +125 -0
  305. package/src/domain/proxy/proxy-interceptor.test.ts +184 -0
  306. package/src/domain/proxy/proxy-interceptor.ts +120 -0
  307. package/src/domain/proxy/proxy-types.ts +35 -0
  308. package/src/domain/registry/compute-agent-score.test.ts +279 -0
  309. package/src/domain/registry/compute-agent-score.ts +162 -0
  310. package/src/domain/reporter/audit-report.test.ts +87 -0
  311. package/src/domain/reporter/audit-report.ts +116 -0
  312. package/src/domain/reporter/badge-generator.test.ts +54 -0
  313. package/src/domain/reporter/badge-generator.ts +40 -0
  314. package/src/domain/reporter/compliance-md.ts +45 -0
  315. package/src/domain/reporter/index.ts +7 -0
  316. package/src/domain/reporter/pdf-renderer.ts +282 -0
  317. package/src/domain/reporter/share.test.ts +92 -0
  318. package/src/domain/reporter/share.ts +80 -0
  319. package/src/domain/scanner/ast/swc-analyzer.test.ts +49 -0
  320. package/src/domain/scanner/ast/swc-analyzer.ts +124 -0
  321. package/src/domain/scanner/attestations.ts +97 -0
  322. package/src/domain/scanner/checks/ai-disclosure.test.ts +90 -0
  323. package/src/domain/scanner/checks/ai-disclosure.ts +54 -0
  324. package/src/domain/scanner/checks/ai-literacy.ts +163 -0
  325. package/src/domain/scanner/checks/behavioral-constraints.test.ts +167 -0
  326. package/src/domain/scanner/checks/behavioral-constraints.ts +86 -0
  327. package/src/domain/scanner/checks/compliance-metadata.ts +63 -0
  328. package/src/domain/scanner/checks/content-marking.ts +74 -0
  329. package/src/domain/scanner/checks/dep-deep-scan.test.ts +318 -0
  330. package/src/domain/scanner/checks/dep-deep-scan.ts +137 -0
  331. package/src/domain/scanner/checks/documentation.test.ts +88 -0
  332. package/src/domain/scanner/checks/documentation.ts +79 -0
  333. package/src/domain/scanner/checks/git-history.test.ts +120 -0
  334. package/src/domain/scanner/checks/git-history.ts +163 -0
  335. package/src/domain/scanner/checks/gpai-systemic-risk.test.ts +84 -0
  336. package/src/domain/scanner/checks/gpai-systemic-risk.ts +98 -0
  337. package/src/domain/scanner/checks/gpai-transparency.ts +94 -0
  338. package/src/domain/scanner/checks/index.ts +28 -0
  339. package/src/domain/scanner/checks/industry/index.ts +40 -0
  340. package/src/domain/scanner/checks/industry/industry.test.ts +287 -0
  341. package/src/domain/scanner/checks/interaction-logging.test.ts +113 -0
  342. package/src/domain/scanner/checks/interaction-logging.ts +142 -0
  343. package/src/domain/scanner/checks/nhi-scanner.test.ts +158 -0
  344. package/src/domain/scanner/checks/nhi-scanner.ts +78 -0
  345. package/src/domain/scanner/checks/passport-completeness.test.ts +127 -0
  346. package/src/domain/scanner/checks/passport-completeness.ts +82 -0
  347. package/src/domain/scanner/checks/passport-presence.test.ts +56 -0
  348. package/src/domain/scanner/checks/passport-presence.ts +78 -0
  349. package/src/domain/scanner/checks/pattern-check-factory.ts +70 -0
  350. package/src/domain/scanner/checks/permission-scanner.test.ts +279 -0
  351. package/src/domain/scanner/checks/permission-scanner.ts +90 -0
  352. package/src/domain/scanner/checks/presence-check-factory.test.ts +124 -0
  353. package/src/domain/scanner/checks/presence-check-factory.ts +275 -0
  354. package/src/domain/scanner/compliance-diff.test.ts +165 -0
  355. package/src/domain/scanner/compliance-diff.ts +138 -0
  356. package/src/domain/scanner/confidence.test.ts +235 -0
  357. package/src/domain/scanner/confidence.ts +156 -0
  358. package/src/domain/scanner/constants.ts +13 -0
  359. package/src/domain/scanner/create-scanner.ts +573 -0
  360. package/src/domain/scanner/cross-layer.test.ts +372 -0
  361. package/src/domain/scanner/cross-layer.ts +232 -0
  362. package/src/domain/scanner/data/ai-packages.ts +82 -0
  363. package/src/domain/scanner/debt-calculator.test.ts +89 -0
  364. package/src/domain/scanner/debt-calculator.ts +111 -0
  365. package/src/domain/scanner/drift.test.ts +191 -0
  366. package/src/domain/scanner/drift.ts +73 -0
  367. package/src/domain/scanner/evidence-store.test.ts +207 -0
  368. package/src/domain/scanner/evidence-store.ts +195 -0
  369. package/src/domain/scanner/evidence.test.ts +104 -0
  370. package/src/domain/scanner/evidence.ts +71 -0
  371. package/src/domain/scanner/external/bandit-runner.test.ts +45 -0
  372. package/src/domain/scanner/external/bandit-runner.ts +90 -0
  373. package/src/domain/scanner/external/checks.ts +321 -0
  374. package/src/domain/scanner/external/dedup.test.ts +79 -0
  375. package/src/domain/scanner/external/dedup.ts +94 -0
  376. package/src/domain/scanner/external/detect-secrets-runner.test.ts +58 -0
  377. package/src/domain/scanner/external/detect-secrets-runner.ts +81 -0
  378. package/src/domain/scanner/external/external-scanner.test.ts +221 -0
  379. package/src/domain/scanner/external/external-scanner.ts +36 -0
  380. package/src/domain/scanner/external/finding-mapper.test.ts +95 -0
  381. package/src/domain/scanner/external/finding-mapper.ts +138 -0
  382. package/src/domain/scanner/external/index.ts +15 -0
  383. package/src/domain/scanner/external/mappings.ts +93 -0
  384. package/src/domain/scanner/external/modelscan-runner.test.ts +35 -0
  385. package/src/domain/scanner/external/modelscan-runner.ts +101 -0
  386. package/src/domain/scanner/external/path-utils.ts +8 -0
  387. package/src/domain/scanner/external/runner-port.ts +45 -0
  388. package/src/domain/scanner/external/semgrep-runner.test.ts +52 -0
  389. package/src/domain/scanner/external/semgrep-runner.ts +94 -0
  390. package/src/domain/scanner/external/types.ts +32 -0
  391. package/src/domain/scanner/finding-attribution.test.ts +444 -0
  392. package/src/domain/scanner/finding-attribution.ts +195 -0
  393. package/src/domain/scanner/finding-explainer.test.ts +157 -0
  394. package/src/domain/scanner/finding-explainer.ts +73 -0
  395. package/src/domain/scanner/fix-diff-builder.test.ts +272 -0
  396. package/src/domain/scanner/fix-diff-builder.ts +477 -0
  397. package/src/domain/scanner/import-graph.test.ts +162 -0
  398. package/src/domain/scanner/import-graph.ts +198 -0
  399. package/src/domain/scanner/languages/adapter.test.ts +105 -0
  400. package/src/domain/scanner/languages/adapter.ts +239 -0
  401. package/src/domain/scanner/layers/index.ts +24 -0
  402. package/src/domain/scanner/layers/layer1-files.ts +54 -0
  403. package/src/domain/scanner/layers/layer2-docs.test.ts +1207 -0
  404. package/src/domain/scanner/layers/layer2-docs.ts +297 -0
  405. package/src/domain/scanner/layers/layer2-parsing.ts +217 -0
  406. package/src/domain/scanner/layers/layer3-config.test.ts +187 -0
  407. package/src/domain/scanner/layers/layer3-config.ts +279 -0
  408. package/src/domain/scanner/layers/layer3-parsers.ts +73 -0
  409. package/src/domain/scanner/layers/layer4-patterns.test.ts +397 -0
  410. package/src/domain/scanner/layers/layer4-patterns.ts +216 -0
  411. package/src/domain/scanner/layers/layer5-docs.test.ts +99 -0
  412. package/src/domain/scanner/layers/layer5-docs.ts +250 -0
  413. package/src/domain/scanner/layers/layer5-llm.test.ts +146 -0
  414. package/src/domain/scanner/layers/layer5-llm.ts +262 -0
  415. package/src/domain/scanner/layers/layer5-targeted.test.ts +93 -0
  416. package/src/domain/scanner/layers/layer5-targeted.ts +233 -0
  417. package/src/domain/scanner/layers/lockfile-parsers.test.ts +320 -0
  418. package/src/domain/scanner/layers/lockfile-parsers.ts +184 -0
  419. package/src/domain/scanner/regulation-version.test.ts +54 -0
  420. package/src/domain/scanner/regulation-version.ts +23 -0
  421. package/src/domain/scanner/role-filter.test.ts +116 -0
  422. package/src/domain/scanner/role-filter.ts +51 -0
  423. package/src/domain/scanner/rules/banned-packages-data.ts +553 -0
  424. package/src/domain/scanner/rules/banned-packages-sdk.ts +65 -0
  425. package/src/domain/scanner/rules/banned-packages.test.ts +249 -0
  426. package/src/domain/scanner/rules/banned-packages.ts +55 -0
  427. package/src/domain/scanner/rules/comment-filter.test.ts +115 -0
  428. package/src/domain/scanner/rules/comment-filter.ts +297 -0
  429. package/src/domain/scanner/rules/index.ts +9 -0
  430. package/src/domain/scanner/rules/nhi-patterns.test.ts +128 -0
  431. package/src/domain/scanner/rules/nhi-patterns.ts +60 -0
  432. package/src/domain/scanner/rules/pattern-rules.ts +1152 -0
  433. package/src/domain/scanner/sbom.test.ts +136 -0
  434. package/src/domain/scanner/sbom.ts +103 -0
  435. package/src/domain/scanner/scan-cache.test.ts +136 -0
  436. package/src/domain/scanner/scan-cache.ts +115 -0
  437. package/src/domain/scanner/scanner.test.ts +125 -0
  438. package/src/domain/scanner/score-calculator.test.ts +363 -0
  439. package/src/domain/scanner/score-calculator.ts +189 -0
  440. package/src/domain/scanner/security-score.test.ts +107 -0
  441. package/src/domain/scanner/security-score.ts +116 -0
  442. package/src/domain/scanner/source-filter.ts +24 -0
  443. package/src/domain/scanner/validators.ts +223 -0
  444. package/src/domain/shared/compliance-constants.ts +48 -0
  445. package/src/domain/shared/disclosure-patterns.ts +16 -0
  446. package/src/domain/shared/index.ts +6 -0
  447. package/src/domain/shared/parse-dependencies.ts +21 -0
  448. package/src/domain/supply-chain/dependency-analyzer.ts +138 -0
  449. package/src/domain/supply-chain/index.ts +3 -0
  450. package/src/domain/supply-chain/supply-chain.test.ts +211 -0
  451. package/src/domain/supply-chain/types.ts +32 -0
  452. package/src/domain/whatif/config-fixer.ts +187 -0
  453. package/src/domain/whatif/index.ts +6 -0
  454. package/src/domain/whatif/scenario-engine.ts +121 -0
  455. package/src/domain/whatif/simulate-actions.test.ts +161 -0
  456. package/src/domain/whatif/simulate-actions.ts +114 -0
  457. package/src/domain/whatif/whatif.test.ts +135 -0
  458. package/src/e2e/gaps-e2e.test.ts +259 -0
  459. package/src/e2e/smoke.test.ts +101 -0
  460. package/src/hooks/hooks-export.test.ts +81 -0
  461. package/src/hooks/installer.ts +113 -0
  462. package/src/http/cors.test.ts +38 -0
  463. package/src/http/create-router.ts +259 -0
  464. package/src/http/routes/agent.route.ts +380 -0
  465. package/src/http/routes/audit.route.ts +66 -0
  466. package/src/http/routes/badge.route.ts +23 -0
  467. package/src/http/routes/cert.route.ts +66 -0
  468. package/src/http/routes/chat.route.ts +228 -0
  469. package/src/http/routes/cost.route.ts +33 -0
  470. package/src/http/routes/debt.route.ts +29 -0
  471. package/src/http/routes/disclaimer.route.ts +64 -0
  472. package/src/http/routes/eval.route.ts +161 -0
  473. package/src/http/routes/events.route.test.ts +108 -0
  474. package/src/http/routes/events.route.ts +71 -0
  475. package/src/http/routes/external-scan.route.ts +24 -0
  476. package/src/http/routes/file.route.ts +54 -0
  477. package/src/http/routes/fix.route.ts +219 -0
  478. package/src/http/routes/frameworks.route.test.ts +66 -0
  479. package/src/http/routes/frameworks.route.ts +36 -0
  480. package/src/http/routes/git.route.ts +27 -0
  481. package/src/http/routes/guided-onboarding.route.ts +65 -0
  482. package/src/http/routes/import.route.ts +64 -0
  483. package/src/http/routes/jurisdiction.route.ts +22 -0
  484. package/src/http/routes/obligations.route.test.ts +122 -0
  485. package/src/http/routes/obligations.route.ts +110 -0
  486. package/src/http/routes/onboarding.route.ts +53 -0
  487. package/src/http/routes/provider.route.ts +42 -0
  488. package/src/http/routes/proxy.route.ts +40 -0
  489. package/src/http/routes/redteam.route.ts +84 -0
  490. package/src/http/routes/report.route.ts +29 -0
  491. package/src/http/routes/scan.route.ts +104 -0
  492. package/src/http/routes/share.route.ts +44 -0
  493. package/src/http/routes/shell.route.ts +27 -0
  494. package/src/http/routes/status.route.ts +66 -0
  495. package/src/http/routes/supply-chain.route.ts +121 -0
  496. package/src/http/routes/sync.route.ts +328 -0
  497. package/src/http/routes/tools.route.ts +29 -0
  498. package/src/http/routes/whatif.route.ts +96 -0
  499. package/src/http/utils/validation.ts +31 -0
  500. package/src/index.ts +1 -0
  501. package/src/infra/bundle-fetcher.ts +77 -0
  502. package/src/infra/cache-storage.ts +34 -0
  503. package/src/infra/event-bus.ts +31 -0
  504. package/src/infra/file-collector.ts +61 -0
  505. package/src/infra/file-ops-adapter.ts +95 -0
  506. package/src/infra/file-watcher.test.ts +90 -0
  507. package/src/infra/file-watcher.ts +106 -0
  508. package/src/infra/git-adapter.ts +93 -0
  509. package/src/infra/git-history-adapter.ts +41 -0
  510. package/src/infra/headless-browser.ts +178 -0
  511. package/src/infra/llm-adapter.test.ts +83 -0
  512. package/src/infra/llm-adapter.ts +86 -0
  513. package/src/infra/logger.ts +27 -0
  514. package/src/infra/project-config.test.ts +74 -0
  515. package/src/infra/project-config.ts +35 -0
  516. package/src/infra/rate-limiter.test.ts +36 -0
  517. package/src/infra/rate-limiter.ts +34 -0
  518. package/src/infra/retry.ts +46 -0
  519. package/src/infra/saas-client.ts +123 -0
  520. package/src/infra/search-adapter.ts +113 -0
  521. package/src/infra/shell-adapter.ts +68 -0
  522. package/src/infra/tool-manager.test.ts +99 -0
  523. package/src/infra/tool-manager.ts +197 -0
  524. package/src/llm/agents/agent-modes.test.ts +44 -0
  525. package/src/llm/agents/modes.ts +68 -0
  526. package/src/llm/routing/cost-routing.test.ts +37 -0
  527. package/src/llm/routing/cost-tracker.ts +74 -0
  528. package/src/llm/routing/model-routing.test.ts +79 -0
  529. package/src/llm/routing/model-routing.ts +38 -0
  530. package/src/llm/routing/pricing.ts +19 -0
  531. package/src/llm/sse-protocol.ts +77 -0
  532. package/src/llm/tool-definitions.ts +83 -0
  533. package/src/llm/tool-executors.ts +80 -0
  534. package/src/llm/tools/types.ts +13 -0
  535. package/src/mcp/create-mcp-stack.ts +82 -0
  536. package/src/mcp/handlers.ts +245 -0
  537. package/src/mcp/index.ts +28 -0
  538. package/src/mcp/mcp-server.test.ts +80 -0
  539. package/src/mcp/server.ts +79 -0
  540. package/src/mcp/tools.ts +48 -0
  541. package/src/onboarding/auto-detect.ts +164 -0
  542. package/src/onboarding/onboarding.test.ts +89 -0
  543. package/src/onboarding/profile.ts +169 -0
  544. package/src/onboarding/questions.ts +112 -0
  545. package/src/onboarding/wizard.ts +66 -0
  546. package/src/output/github-issue.ts +32 -0
  547. package/src/output/json-output.ts +67 -0
  548. package/src/ports/browser.port.ts +23 -0
  549. package/src/ports/events.port.ts +28 -0
  550. package/src/ports/llm.port.ts +23 -0
  551. package/src/ports/logger.port.ts +6 -0
  552. package/src/ports/process.port.ts +6 -0
  553. package/src/ports/scanner.port.ts +15 -0
  554. package/src/server.ts +134 -0
  555. package/src/services/badge-service.ts +67 -0
  556. package/src/services/chat-service.test.ts +162 -0
  557. package/src/services/chat-service.ts +152 -0
  558. package/src/services/cost-service.ts +52 -0
  559. package/src/services/debt-service.ts +65 -0
  560. package/src/services/eval-integration.test.ts +132 -0
  561. package/src/services/eval-service.test.ts +373 -0
  562. package/src/services/eval-service.ts +463 -0
  563. package/src/services/external-scan-service.ts +60 -0
  564. package/src/services/file-service.ts +37 -0
  565. package/src/services/fix-service.test.ts +470 -0
  566. package/src/services/fix-service.ts +648 -0
  567. package/src/services/framework-service.test.ts +159 -0
  568. package/src/services/framework-service.ts +67 -0
  569. package/src/services/onboarding-service.ts +165 -0
  570. package/src/services/passport-audit.ts +244 -0
  571. package/src/services/passport-documents.ts +258 -0
  572. package/src/services/passport-service-utils.ts +72 -0
  573. package/src/services/passport-service.test.ts +251 -0
  574. package/src/services/passport-service.ts +339 -0
  575. package/src/services/proxy-service.ts +81 -0
  576. package/src/services/report-service.ts +72 -0
  577. package/src/services/scan-service.test.ts +470 -0
  578. package/src/services/scan-service.ts +335 -0
  579. package/src/services/share-service.ts +108 -0
  580. package/src/services/shared/backup.ts +23 -0
  581. package/src/services/status-service.ts +38 -0
  582. package/src/services/undo-service.test.ts +190 -0
  583. package/src/services/undo-service.ts +144 -0
  584. package/src/test-helpers/factories.ts +116 -0
  585. package/src/types/common.schemas.ts +147 -0
  586. package/src/types/common.types.ts +292 -0
  587. package/src/types/contract.test.ts +217 -0
  588. package/src/types/errors.ts +52 -0
  589. package/src/types/framework.types.ts +87 -0
  590. package/src/types/passport-schemas.ts +241 -0
  591. package/src/types/passport.types.ts +296 -0
  592. package/src/version.ts +1 -0
  593. package/tsconfig.json +20 -0
  594. package/vitest.config.ts +9 -0
@@ -0,0 +1,3981 @@
1
+ {
2
+ "_version": "2.0",
3
+ "_note": "Expanded from v1 (25 obligations) to v2 (57 obligations). Original OBL-001 through OBL-025 retained and supplemented with granular sub-obligations (OBL-026 through OBL-057). Each sub-obligation is a discrete, scanner-checkable item.",
4
+ "obligations": [
5
+ {
6
+ "obligation_id": "eu-ai-act-OBL-001",
7
+ "article_reference": "Article 4",
8
+ "title": "Ensure AI Literacy of Staff",
9
+ "description": "Every company that uses or builds AI must train their staff so they understand AI risks and responsible use. Training must be proportionate to role and risk level.",
10
+ "applies_to_role": "both",
11
+ "applies_to_risk_level": [
12
+ "unacceptable",
13
+ "high",
14
+ "limited",
15
+ "minimal",
16
+ "gpai"
17
+ ],
18
+ "obligation_type": "training",
19
+ "what_to_do": [
20
+ "Conduct skills gap assessment",
21
+ "Develop role-based AI literacy training",
22
+ "Document training completion",
23
+ "Annual refresh cycle"
24
+ ],
25
+ "evidence_required": "Training records, curriculum, policy document, completion certificates",
26
+ "deadline": "2025-02-02",
27
+ "frequency": "ongoing",
28
+ "penalty_for_non_compliance": "€15M / 3% turnover",
29
+ "severity": "medium",
30
+ "automatable": "partial",
31
+ "automation_approach": "Scanner checks for: AI-LITERACY.md or ai-training-policy.* files in project root. Verifies document contains required sections (scope, training levels, schedule, records). Template auto-generates if missing.",
32
+ "document_template_needed": true,
33
+ "document_template_type": "policy",
34
+ "sdk_feature_needed": false,
35
+ "cli_check_possible": true,
36
+ "cli_check_description": "Check for AI_LITERACY_POLICY.md or equivalent in repo root or /docs. Verify training records directory exists.",
37
+ "what_not_to_do": [
38
+ "Do NOT allow staff to use AI systems without any training",
39
+ "Do NOT treat AI literacy as a one-time event — it requires annual refresh",
40
+ "Do NOT apply same training level to all roles — tailor to responsibility"
41
+ ]
42
+ },
43
+ {
44
+ "obligation_id": "eu-ai-act-OBL-001a",
45
+ "article_reference": "Article 4",
46
+ "parent_obligation": "eu-ai-act-OBL-001",
47
+ "title": "AI Literacy: Maintain Training Records",
48
+ "description": "Keep documented records of who was trained, when, on what topics, and their assessment results. Records must be available for auditors.",
49
+ "applies_to_role": "both",
50
+ "applies_to_risk_level": [
51
+ "all"
52
+ ],
53
+ "obligation_type": "documentation",
54
+ "what_to_do": [
55
+ "Create training register with: employee name, role, training date, topics, score",
56
+ "Store records securely for audit",
57
+ "Update when new staff join or roles change"
58
+ ],
59
+ "evidence_required": "Training register (spreadsheet or system), individual completion records",
60
+ "deadline": "2025-02-02",
61
+ "frequency": "ongoing",
62
+ "penalty_for_non_compliance": "€15M / 3% turnover",
63
+ "severity": "low",
64
+ "automatable": "full",
65
+ "document_template_needed": true,
66
+ "document_template_type": "record",
67
+ "sdk_feature_needed": false,
68
+ "cli_check_possible": false,
69
+ "what_not_to_do": [
70
+ "Do NOT destroy or fail to maintain training completion records",
71
+ "Do NOT accept unverified self-attestation as training evidence"
72
+ ]
73
+ },
74
+ {
75
+ "obligation_id": "eu-ai-act-OBL-002",
76
+ "article_reference": "Article 5",
77
+ "title": "Do Not Deploy Prohibited AI Systems",
78
+ "description": "Screen all AI systems against Article 5 prohibited practices. Eight categories of banned AI uses.",
79
+ "applies_to_role": "both",
80
+ "applies_to_risk_level": [
81
+ "unacceptable"
82
+ ],
83
+ "obligation_type": "organizational",
84
+ "what_to_do": [
85
+ "Audit all AI systems against Art. 5 list",
86
+ "Document screening results",
87
+ "Establish pre-deployment screening process"
88
+ ],
89
+ "evidence_required": "AI inventory with Art. 5 screening results per system",
90
+ "deadline": "2025-02-02",
91
+ "frequency": "per-system",
92
+ "penalty_for_non_compliance": "€35M / 7% turnover (HIGHEST tier)",
93
+ "severity": "critical",
94
+ "automatable": "partial",
95
+ "document_template_needed": true,
96
+ "document_template_type": "report",
97
+ "sdk_feature_needed": false,
98
+ "cli_check_possible": true,
99
+ "cli_check_description": "Scan for emotion recognition, facial recognition, social scoring library imports. Flag if used in HR/education context.",
100
+ "what_not_to_do": [
101
+ "Do NOT deploy any AI system matching prohibited categories without legal review",
102
+ "Do NOT assume third-party tools are automatically compliant with Art. 5"
103
+ ],
104
+ "automation_approach": "Scanner performs static analysis for prohibited practice patterns: import statements for emotion detection SDKs, facial recognition APIs, social scoring libraries. Flags packages matching prohibited use signatures in dependency tree."
105
+ },
106
+ {
107
+ "obligation_id": "eu-ai-act-OBL-002a",
108
+ "article_reference": "Article 5(1)(a)",
109
+ "parent_obligation": "eu-ai-act-OBL-002",
110
+ "title": "Prohibited: Subliminal/Manipulative AI Techniques",
111
+ "description": "Verify no AI system uses subliminal, manipulative, or deceptive techniques to distort behavior beyond a person's consciousness, causing significant harm.",
112
+ "applies_to_role": "both",
113
+ "applies_to_risk_level": [
114
+ "unacceptable"
115
+ ],
116
+ "obligation_type": "assessment",
117
+ "what_to_do": [
118
+ "For each AI system: assess whether it could manipulate user behavior through deceptive patterns, dark patterns, or subliminal techniques",
119
+ "Document assessment rationale"
120
+ ],
121
+ "evidence_required": "Per-system manipulation risk assessment document",
122
+ "deadline": "2025-02-02",
123
+ "frequency": "per-system",
124
+ "penalty_for_non_compliance": "€35M / 7% turnover",
125
+ "severity": "critical",
126
+ "automatable": "partial",
127
+ "cli_check_possible": true,
128
+ "cli_check_description": "Scan for dark pattern libraries, A/B testing frameworks used in manipulative contexts, urgency/scarcity timers driven by AI personalization.",
129
+ "what_not_to_do": [
130
+ "Do NOT use dark patterns, persuasion profiling, or behavioral nudging that bypasses user awareness",
131
+ "Do NOT deploy recommendation systems that materially distort behavior causing significant harm"
132
+ ]
133
+ },
134
+ {
135
+ "obligation_id": "eu-ai-act-OBL-002b",
136
+ "article_reference": "Article 5(1)(b)",
137
+ "parent_obligation": "eu-ai-act-OBL-002",
138
+ "title": "Prohibited: Exploitation of Vulnerable Groups",
139
+ "description": "Verify no AI system exploits vulnerabilities of specific groups (age, disability, social/economic situation) to distort behavior causing significant harm.",
140
+ "applies_to_role": "both",
141
+ "applies_to_risk_level": [
142
+ "unacceptable"
143
+ ],
144
+ "obligation_type": "assessment",
145
+ "what_to_do": [
146
+ "Identify if AI targets vulnerable populations (children, elderly, disabled, economically disadvantaged)",
147
+ "Assess exploitation risk",
148
+ "Document findings"
149
+ ],
150
+ "evidence_required": "Vulnerability exploitation risk assessment per system",
151
+ "deadline": "2025-02-02",
152
+ "frequency": "per-system",
153
+ "penalty_for_non_compliance": "€35M / 7% turnover",
154
+ "severity": "critical",
155
+ "automatable": "partial",
156
+ "cli_check_possible": true,
157
+ "cli_check_description": "Scan for age-targeting, disability-targeting, or financial-vulnerability-targeting in AI model configurations or user segmentation code.",
158
+ "what_not_to_do": [
159
+ "Do NOT target elderly, disabled, or economically vulnerable users with manipulative AI features",
160
+ "Do NOT exploit cognitive limitations of specific user groups"
161
+ ]
162
+ },
163
+ {
164
+ "obligation_id": "eu-ai-act-OBL-002c",
165
+ "article_reference": "Article 5(1)(c)",
166
+ "parent_obligation": "eu-ai-act-OBL-002",
167
+ "title": "Prohibited: Social Scoring Systems",
168
+ "description": "Verify no AI system evaluates or classifies persons based on social behavior or personal characteristics leading to detrimental treatment unrelated to the original context.",
169
+ "applies_to_role": "both",
170
+ "applies_to_risk_level": [
171
+ "unacceptable"
172
+ ],
173
+ "obligation_type": "assessment",
174
+ "what_to_do": [
175
+ "Check if any AI system scores individuals based on social behavior",
176
+ "Verify scores are not used to deny services/rights in unrelated contexts"
177
+ ],
178
+ "evidence_required": "Social scoring screening assessment",
179
+ "deadline": "2025-02-02",
180
+ "frequency": "per-system",
181
+ "penalty_for_non_compliance": "€35M / 7% turnover",
182
+ "severity": "critical",
183
+ "automatable": "partial",
184
+ "cli_check_possible": true,
185
+ "cli_check_description": "Scan for 'social score', 'reputation score', 'trust score' in codebase used for access control or service eligibility outside original context.",
186
+ "what_not_to_do": [
187
+ "Do NOT aggregate personal behavior scores across unrelated contexts",
188
+ "Do NOT restrict access to services based on AI-scored social behavior"
189
+ ]
190
+ },
191
+ {
192
+ "obligation_id": "eu-ai-act-OBL-002d",
193
+ "article_reference": "Article 5(1)(d)",
194
+ "parent_obligation": "eu-ai-act-OBL-002",
195
+ "title": "Prohibited: Criminal Risk Profiling",
196
+ "description": "Verify no AI system assesses criminal risk of individuals based solely on profiling or personality traits (without concrete behavioral facts).",
197
+ "applies_to_role": "both",
198
+ "applies_to_risk_level": [
199
+ "unacceptable"
200
+ ],
201
+ "obligation_type": "assessment",
202
+ "what_to_do": [
203
+ "Check if any AI predicts criminal behavior from personal traits alone",
204
+ "Ensure law enforcement AI uses objective factual indicators, not profiling"
205
+ ],
206
+ "evidence_required": "Criminal profiling screening assessment",
207
+ "deadline": "2025-02-02",
208
+ "frequency": "per-system",
209
+ "penalty_for_non_compliance": "€35M / 7% turnover",
210
+ "severity": "critical",
211
+ "automatable": "partial",
212
+ "cli_check_possible": true,
213
+ "cli_check_description": "Scan for predictive policing models, recidivism prediction, criminal risk scoring based on demographic/personality features.",
214
+ "what_not_to_do": [
215
+ "Do NOT use AI to predict criminal risk based solely on demographics or personality traits",
216
+ "Do NOT profile individuals without objective verifiable fact basis"
217
+ ]
218
+ },
219
+ {
220
+ "obligation_id": "eu-ai-act-OBL-002e",
221
+ "article_reference": "Article 5(1)(e)",
222
+ "parent_obligation": "eu-ai-act-OBL-002",
223
+ "title": "Prohibited: Untargeted Facial Image Scraping",
224
+ "description": "Verify no AI system creates or expands facial recognition databases through untargeted scraping from internet or CCTV.",
225
+ "applies_to_role": "both",
226
+ "applies_to_risk_level": [
227
+ "unacceptable"
228
+ ],
229
+ "obligation_type": "assessment",
230
+ "what_to_do": [
231
+ "Check if any AI component scrapes facial images",
232
+ "Verify face databases are not built from untargeted web/CCTV scraping"
233
+ ],
234
+ "evidence_required": "Facial data sourcing audit",
235
+ "deadline": "2025-02-02",
236
+ "frequency": "per-system",
237
+ "penalty_for_non_compliance": "€35M / 7% turnover",
238
+ "severity": "critical",
239
+ "automatable": "partial",
240
+ "cli_check_possible": true,
241
+ "cli_check_description": "Scan for face scraping scripts, web crawlers targeting image sources, facial recognition training data pipelines sourcing from public internet.",
242
+ "what_not_to_do": [
243
+ "Do NOT scrape facial images from the internet or CCTV without targeted lawful basis",
244
+ "Do NOT build or expand facial recognition databases through mass collection"
245
+ ]
246
+ },
247
+ {
248
+ "obligation_id": "eu-ai-act-OBL-002f",
249
+ "article_reference": "Article 5(1)(f)",
250
+ "parent_obligation": "eu-ai-act-OBL-002",
251
+ "title": "Prohibited: Workplace/Education Emotion Recognition",
252
+ "description": "Verify no AI system infers emotions of persons in workplace or educational settings (except for medical or safety reasons).",
253
+ "applies_to_role": "both",
254
+ "applies_to_risk_level": [
255
+ "unacceptable"
256
+ ],
257
+ "obligation_type": "assessment",
258
+ "what_to_do": [
259
+ "Identify any emotion recognition AI",
260
+ "Verify it is NOT used in workplace or education context",
261
+ "If medical/safety exception claimed, document justification"
262
+ ],
263
+ "evidence_required": "Emotion recognition context audit",
264
+ "deadline": "2025-02-02",
265
+ "frequency": "per-system",
266
+ "penalty_for_non_compliance": "€35M / 7% turnover",
267
+ "severity": "critical",
268
+ "automatable": "full",
269
+ "cli_check_possible": true,
270
+ "cli_check_description": "Scan for emotion detection libraries (Affectiva, Azure Face emotion, etc.). Flag if imported in HR, LMS, or workplace monitoring code. Check for sentiment analysis on employee communications.",
271
+ "what_not_to_do": [
272
+ "Do NOT use emotion recognition AI in workplace or educational settings",
273
+ "Do NOT infer employee mood, stress, or engagement via facial/voice analysis (exception: medical/safety)"
274
+ ]
275
+ },
276
+ {
277
+ "obligation_id": "eu-ai-act-OBL-002g",
278
+ "article_reference": "Article 5(1)(g)",
279
+ "parent_obligation": "eu-ai-act-OBL-002",
280
+ "title": "Prohibited: Sensitive Biometric Categorization",
281
+ "description": "Verify no AI system categorizes persons based on biometric data to infer sensitive characteristics (race, political opinions, religion, sexual orientation).",
282
+ "applies_to_role": "both",
283
+ "applies_to_risk_level": [
284
+ "unacceptable"
285
+ ],
286
+ "obligation_type": "assessment",
287
+ "what_to_do": [
288
+ "Check if any AI uses biometric data to infer race, religion, political views, or sexual orientation",
289
+ "Document absence of such functionality"
290
+ ],
291
+ "evidence_required": "Biometric categorization screening",
292
+ "deadline": "2025-02-02",
293
+ "frequency": "per-system",
294
+ "penalty_for_non_compliance": "€35M / 7% turnover",
295
+ "severity": "critical",
296
+ "automatable": "partial",
297
+ "cli_check_possible": true,
298
+ "cli_check_description": "Scan for biometric categorization models, ethnicity/race/religion classifiers applied to facial/voice/gait data.",
299
+ "what_not_to_do": [
300
+ "Do NOT use biometric data to categorize individuals by race, religion, political opinion, or sexual orientation",
301
+ "Do NOT infer sensitive attributes from biometric inputs"
302
+ ]
303
+ },
304
+ {
305
+ "obligation_id": "eu-ai-act-OBL-003",
306
+ "article_reference": "Article 9",
307
+ "title": "Establish Risk Management System",
308
+ "description": "Continuous risk management system throughout the high-risk AI lifecycle covering identification, evaluation, mitigation, and testing of risks.",
309
+ "applies_to_role": "provider",
310
+ "applies_to_risk_level": [
311
+ "high"
312
+ ],
313
+ "obligation_type": "assessment",
314
+ "what_to_do": [
315
+ "Create documented RMS",
316
+ "Identify and analyze known/foreseeable risks",
317
+ "Adopt mitigation measures",
318
+ "Test system",
319
+ "Review and update regularly"
320
+ ],
321
+ "evidence_required": "RMS plan, risk register, mitigation log, testing reports",
322
+ "deadline": "2026-08-02",
323
+ "frequency": "ongoing",
324
+ "penalty_for_non_compliance": "€15M / 3% turnover",
325
+ "severity": "critical",
326
+ "automatable": "partial",
327
+ "document_template_needed": true,
328
+ "document_template_type": "impact-assessment",
329
+ "sdk_feature_needed": false,
330
+ "cli_check_possible": true,
331
+ "cli_check_description": "Check for RISK_MANAGEMENT.md, risk_register.json, or equivalent in /docs or /compliance directory.",
332
+ "what_not_to_do": [
333
+ "Do NOT operate high-risk AI without a documented risk management system",
334
+ "Do NOT treat risk management as a one-time assessment — it must be continuous"
335
+ ],
336
+ "automation_approach": "Scanner checks for RISK-MANAGEMENT.md or risk-assessment.* documents. Verifies structure includes: identified risks, misuse scenarios, mitigation measures, test results. Auto-generates template with required sections."
337
+ },
338
+ {
339
+ "obligation_id": "eu-ai-act-OBL-003a",
340
+ "article_reference": "Article 9(2)",
341
+ "parent_obligation": "eu-ai-act-OBL-003",
342
+ "title": "RMS: Identify and Analyze Known Risks",
343
+ "description": "Identify and analyze risks to health, safety, and fundamental rights that are known or reasonably foreseeable when the system is used as intended.",
344
+ "applies_to_role": "provider",
345
+ "applies_to_risk_level": [
346
+ "high"
347
+ ],
348
+ "obligation_type": "assessment",
349
+ "what_to_do": [
350
+ "Systematic risk identification workshop",
351
+ "Document each risk with likelihood and severity",
352
+ "Consider risks to different user groups including vulnerable persons"
353
+ ],
354
+ "evidence_required": "Risk register with identified risks, likelihood, severity, affected groups",
355
+ "deadline": "2026-08-02",
356
+ "frequency": "per-system",
357
+ "severity": "high",
358
+ "automatable": "partial",
359
+ "cli_check_possible": false,
360
+ "what_not_to_do": [
361
+ "Do NOT ignore known risks documented by provider or reported by users",
362
+ "Do NOT omit foreseeable misuse scenarios from risk analysis"
363
+ ]
364
+ },
365
+ {
366
+ "obligation_id": "eu-ai-act-OBL-003b",
367
+ "article_reference": "Article 9(2)(b)",
368
+ "parent_obligation": "eu-ai-act-OBL-003",
369
+ "title": "RMS: Evaluate Risks from Misuse",
370
+ "description": "Estimate and evaluate risks not only from intended use but also from reasonably foreseeable misuse of the high-risk AI system.",
371
+ "applies_to_role": "provider",
372
+ "applies_to_risk_level": [
373
+ "high"
374
+ ],
375
+ "obligation_type": "assessment",
376
+ "what_to_do": [
377
+ "Brainstorm foreseeable misuse scenarios",
378
+ "Assess risks from each misuse scenario",
379
+ "Document evaluation and residual risk"
380
+ ],
381
+ "evidence_required": "Misuse risk assessment document, residual risk acceptance rationale",
382
+ "deadline": "2026-08-02",
383
+ "frequency": "per-system",
384
+ "severity": "high",
385
+ "automatable": "partial",
386
+ "cli_check_possible": false,
387
+ "what_not_to_do": [
388
+ "Do NOT assume users will only use the system as intended",
389
+ "Do NOT skip misuse scenario testing"
390
+ ]
391
+ },
392
+ {
393
+ "obligation_id": "eu-ai-act-OBL-003c",
394
+ "article_reference": "Article 9(6)-(8)",
395
+ "parent_obligation": "eu-ai-act-OBL-003",
396
+ "title": "RMS: Test System Before Market Placement",
397
+ "description": "Test the high-risk AI system to identify appropriate risk management measures. Testing must be against defined metrics prior to market placement.",
398
+ "applies_to_role": "provider",
399
+ "applies_to_risk_level": [
400
+ "high"
401
+ ],
402
+ "obligation_type": "technical",
403
+ "what_to_do": [
404
+ "Define test plan with metrics",
405
+ "Execute tests including real-world conditions where appropriate (Art. 60)",
406
+ "Document test results against acceptance criteria",
407
+ "Test prior to market AND throughout lifecycle"
408
+ ],
409
+ "evidence_required": "Test plan, test results, acceptance criteria, test logs signed by responsible person",
410
+ "deadline": "2026-08-02",
411
+ "frequency": "per-system",
412
+ "severity": "high",
413
+ "automatable": "partial",
414
+ "cli_check_possible": true,
415
+ "cli_check_description": "Check for test suites specific to AI model evaluation (accuracy, fairness, robustness tests). Verify test results are stored and versioned.",
416
+ "what_not_to_do": [
417
+ "Do NOT place high-risk AI on market without testing against defined metrics",
418
+ "Do NOT use production data for testing without proper safeguards"
419
+ ]
420
+ },
421
+ {
422
+ "obligation_id": "eu-ai-act-OBL-004",
423
+ "article_reference": "Article 10",
424
+ "title": "Ensure Training Data Quality and Governance",
425
+ "description": "Training, validation, and testing datasets must meet quality criteria: relevant, representative, free of errors, complete. Bias detection required.",
426
+ "applies_to_role": "provider",
427
+ "applies_to_risk_level": [
428
+ "high"
429
+ ],
430
+ "obligation_type": "technical",
431
+ "what_to_do": [
432
+ "Implement data governance practices",
433
+ "Document data sources",
434
+ "Assess for bias",
435
+ "Address special category data under GDPR"
436
+ ],
437
+ "evidence_required": "Data governance policy, data quality reports, bias analysis, GDPR documentation",
438
+ "deadline": "2026-08-02",
439
+ "frequency": "per-system",
440
+ "severity": "high",
441
+ "automatable": "partial",
442
+ "sdk_feature_needed": true,
443
+ "sdk_feature_type": "bias-testing",
444
+ "cli_check_possible": true,
445
+ "cli_check_description": "Scan for data validation scripts, bias testing frameworks, data documentation files (datasheets, data cards).",
446
+ "what_not_to_do": [
447
+ "Do NOT train AI on biased, incomplete, or unrepresentative datasets",
448
+ "Do NOT skip data quality assessment before training"
449
+ ]
450
+ },
451
+ {
452
+ "obligation_id": "eu-ai-act-OBL-004a",
453
+ "article_reference": "Article 10(2)(f)",
454
+ "parent_obligation": "eu-ai-act-OBL-004",
455
+ "title": "Data Governance: Bias Detection and Mitigation",
456
+ "description": "Examine training data specifically for possible biases that could lead to discrimination, especially regarding protected characteristics.",
457
+ "applies_to_role": "provider",
458
+ "applies_to_risk_level": [
459
+ "high"
460
+ ],
461
+ "obligation_type": "technical",
462
+ "what_to_do": [
463
+ "Run statistical bias analysis on training data",
464
+ "Test for representation gaps across gender, age, ethnicity, disability",
465
+ "Implement bias mitigation (resampling, reweighting, debiasing)",
466
+ "Document findings and actions"
467
+ ],
468
+ "evidence_required": "Bias analysis report, mitigation actions log, before/after fairness metrics",
469
+ "deadline": "2026-08-02",
470
+ "frequency": "per-system",
471
+ "severity": "high",
472
+ "automatable": "full",
473
+ "sdk_feature_needed": true,
474
+ "sdk_feature_type": "bias-testing",
475
+ "cli_check_possible": true,
476
+ "cli_check_description": "Check for bias detection library imports (fairlearn, aif360), fairness metric calculations in evaluation scripts, data representativeness checks.",
477
+ "what_not_to_do": [
478
+ "Do NOT deploy AI systems without bias testing across protected characteristics",
479
+ "Do NOT ignore disparate impact in model outputs"
480
+ ]
481
+ },
482
+ {
483
+ "obligation_id": "eu-ai-act-OBL-004b",
484
+ "article_reference": "Article 10(2)(a)-(e)",
485
+ "parent_obligation": "eu-ai-act-OBL-004",
486
+ "title": "Data Governance: Document Data Sources and Processing",
487
+ "description": "Document all data collection, labeling, storage, and processing choices. Include data source descriptions and representativeness rationale.",
488
+ "applies_to_role": "provider",
489
+ "applies_to_risk_level": [
490
+ "high"
491
+ ],
492
+ "obligation_type": "documentation",
493
+ "what_to_do": [
494
+ "Create data sheet / data card for each training dataset",
495
+ "Document collection methodology, labeling process, storage, and preprocessing",
496
+ "Assess and document representativeness"
497
+ ],
498
+ "evidence_required": "Data sheets/data cards, data processing records, representativeness assessment",
499
+ "deadline": "2026-08-02",
500
+ "frequency": "per-system",
501
+ "severity": "medium",
502
+ "automatable": "partial",
503
+ "cli_check_possible": true,
504
+ "cli_check_description": "Check for datasheet.md, data_card.json, or MODEL_CARD.md in /data or /docs directories. Verify data source documentation exists.",
505
+ "what_not_to_do": [
506
+ "Do NOT use training data without documenting provenance and processing steps",
507
+ "Do NOT omit data source limitations from documentation"
508
+ ]
509
+ },
510
+ {
511
+ "obligation_id": "eu-ai-act-OBL-005",
512
+ "article_reference": "Article 11 / Annex IV",
513
+ "title": "Create and Maintain Technical Documentation",
514
+ "description": "Comprehensive technical documentation per Annex IV before market placement. Keep for 10 years.",
515
+ "applies_to_role": "provider",
516
+ "applies_to_risk_level": [
517
+ "high"
518
+ ],
519
+ "obligation_type": "documentation",
520
+ "what_to_do": [
521
+ "Prepare docs per Annex IV",
522
+ "Include system description, development process, risk management, performance metrics, changes",
523
+ "Keep updated for 10 years"
524
+ ],
525
+ "evidence_required": "Complete Annex IV documentation, version history",
526
+ "deadline": "2026-08-02",
527
+ "frequency": "per-system",
528
+ "severity": "critical",
529
+ "automatable": "partial",
530
+ "document_template_needed": true,
531
+ "document_template_type": "report",
532
+ "sdk_feature_needed": true,
533
+ "sdk_feature_type": "metadata",
534
+ "cli_check_possible": true,
535
+ "cli_check_description": "Check for TECHNICAL_DOCUMENTATION.md or /docs/annex-iv/ directory. Verify sections cover: system description, development process, data governance, risk management, testing, post-market monitoring.",
536
+ "what_not_to_do": [
537
+ "Do NOT place high-risk AI on market without Annex IV technical documentation",
538
+ "Do NOT treat documentation as optional or post-hoc"
539
+ ],
540
+ "automation_approach": "Scanner checks for TECHNICAL-DOCUMENTATION.md matching Annex IV structure. Verifies 7 required sections: general description, system elements, monitoring/control, risk management, lifecycle changes, standards, post-market plan."
541
+ },
542
+ {
543
+ "obligation_id": "eu-ai-act-OBL-006",
544
+ "article_reference": "Article 12",
545
+ "title": "Implement Automatic Event Logging",
546
+ "description": "High-risk AI must automatically record events (logs) for traceability: periods of use, input references, outputs, human interventions.",
547
+ "applies_to_role": "provider",
548
+ "applies_to_risk_level": [
549
+ "high"
550
+ ],
551
+ "obligation_type": "technical",
552
+ "what_to_do": [
553
+ "Design logging from architecture phase",
554
+ "Log: timestamps, inputs, outputs, human oversight actions, errors",
555
+ "Integrity protection on logs",
556
+ "Provide deployer guidance on log access"
557
+ ],
558
+ "evidence_required": "Architecture docs showing logging, sample logs, retention policy, integrity mechanism",
559
+ "deadline": "2026-08-02",
560
+ "frequency": "ongoing",
561
+ "severity": "high",
562
+ "automatable": "full",
563
+ "sdk_feature_needed": true,
564
+ "sdk_feature_type": "logging",
565
+ "cli_check_possible": true,
566
+ "cli_check_description": "Verify logging middleware on AI endpoints. Check log format includes timestamp, session_id, input hash, output, model version. Verify log retention >= 180 days.",
567
+ "what_not_to_do": [
568
+ "Do NOT deploy high-risk AI without automatic event logging enabled",
569
+ "Do NOT log only errors — log all events specified by provider"
570
+ ]
571
+ },
572
+ {
573
+ "obligation_id": "eu-ai-act-OBL-006a",
574
+ "article_reference": "Article 19 / Article 26(6)",
575
+ "parent_obligation": "eu-ai-act-OBL-006",
576
+ "title": "Log Retention: Keep Logs Minimum 6 Months",
577
+ "description": "Deployers must keep automatically generated logs for at least 6 months, or longer if required by sector regulation. Providers must store logs under their control.",
578
+ "applies_to_role": "both",
579
+ "applies_to_risk_level": [
580
+ "high"
581
+ ],
582
+ "obligation_type": "technical",
583
+ "what_to_do": [
584
+ "Configure log retention period >= 6 months",
585
+ "Ensure logs are not purged before retention period",
586
+ "If sector regulation requires longer retention, configure accordingly",
587
+ "Implement access controls on logs"
588
+ ],
589
+ "evidence_required": "Log retention configuration, log lifecycle management policy, evidence logs exist for required period",
590
+ "deadline": "2026-08-02",
591
+ "frequency": "ongoing",
592
+ "severity": "medium",
593
+ "automatable": "full",
594
+ "cli_check_possible": true,
595
+ "cli_check_description": "Check log retention configuration. Verify retention_days >= 180. Check for log rotation/purge settings that would violate retention requirement.",
596
+ "what_not_to_do": [
597
+ "Do NOT configure log rotation shorter than 180 days",
598
+ "Do NOT store logs in unencrypted or publicly accessible locations"
599
+ ]
600
+ },
601
+ {
602
+ "obligation_id": "eu-ai-act-OBL-007",
603
+ "article_reference": "Article 13",
604
+ "title": "Provide Transparency and Instructions for Use",
605
+ "description": "High-risk AI must come with clear instructions covering: provider identity, capabilities, limitations, intended purpose, performance metrics, human oversight, maintenance.",
606
+ "applies_to_role": "provider",
607
+ "applies_to_risk_level": [
608
+ "high"
609
+ ],
610
+ "obligation_type": "transparency",
611
+ "what_to_do": [
612
+ "Create Instructions for Use per Art. 13(3)",
613
+ "Distribute to all deployers",
614
+ "Update on changes"
615
+ ],
616
+ "evidence_required": "Instructions for Use document, distribution records",
617
+ "deadline": "2026-08-02",
618
+ "frequency": "per-system",
619
+ "severity": "high",
620
+ "automatable": "partial",
621
+ "document_template_needed": true,
622
+ "document_template_type": "report",
623
+ "cli_check_possible": true,
624
+ "cli_check_description": "Check for INSTRUCTIONS_FOR_USE.md, README with AI system capabilities/limitations, or /docs/deployer-guide. Verify it includes: intended purpose, limitations, performance metrics, human oversight instructions.",
625
+ "what_not_to_do": [
626
+ "Do NOT deliver high-risk AI without clear instructions for use",
627
+ "Do NOT use overly technical jargon that deployers cannot understand"
628
+ ],
629
+ "automation_approach": "Scanner checks for INSTRUCTIONS-FOR-USE.md or instructions.* file. Verifies it contains: intended purpose, limitations, known risks, performance metrics, human oversight requirements."
630
+ },
631
+ {
632
+ "obligation_id": "eu-ai-act-OBL-008",
633
+ "article_reference": "Article 14",
634
+ "title": "Design for Human Oversight",
635
+ "description": "High-risk AI must enable effective human oversight: understand outputs, decide not to use, override, intervene, stop the system.",
636
+ "applies_to_role": "provider",
637
+ "applies_to_risk_level": [
638
+ "high"
639
+ ],
640
+ "obligation_type": "technical",
641
+ "what_to_do": [
642
+ "Build override/stop mechanisms",
643
+ "Implement explainability",
644
+ "HITL/HOTL/HIC mechanisms",
645
+ "For biometric ID: require 2 independent human verifications"
646
+ ],
647
+ "evidence_required": "Design docs showing oversight mechanisms, UI screenshots, testing reports",
648
+ "deadline": "2026-08-02",
649
+ "frequency": "per-system",
650
+ "severity": "critical",
651
+ "automatable": "partial",
652
+ "sdk_feature_needed": true,
653
+ "sdk_feature_type": "logging",
654
+ "cli_check_possible": true,
655
+ "cli_check_description": "Check for human override functions, emergency stop endpoints, confidence threshold escalation, human review queue implementation.",
656
+ "what_not_to_do": [
657
+ "Do NOT design high-risk AI without human oversight capability",
658
+ "Do NOT make override mechanisms inaccessible or complex to use"
659
+ ]
660
+ },
661
+ {
662
+ "obligation_id": "eu-ai-act-OBL-008a",
663
+ "article_reference": "Article 14(4)(b)",
664
+ "parent_obligation": "eu-ai-act-OBL-008",
665
+ "title": "Human Oversight: Emergency Stop Mechanism",
666
+ "description": "Provider must implement a mechanism to stop the AI system immediately. Deployer must have access to this mechanism.",
667
+ "applies_to_role": "provider",
668
+ "applies_to_risk_level": [
669
+ "high"
670
+ ],
671
+ "obligation_type": "technical",
672
+ "what_to_do": [
673
+ "Implement kill switch / emergency stop endpoint",
674
+ "Document stop procedure",
675
+ "Ensure deployer can trigger stop without provider intervention"
676
+ ],
677
+ "evidence_required": "Stop mechanism documentation, test evidence showing it works, deployer access confirmation",
678
+ "deadline": "2026-08-02",
679
+ "frequency": "per-system",
680
+ "severity": "high",
681
+ "automatable": "full",
682
+ "cli_check_possible": true,
683
+ "cli_check_description": "Scan for emergency stop / kill switch endpoints, circuit breaker patterns, system disable functions accessible to deployer.",
684
+ "what_not_to_do": [
685
+ "Do NOT deploy high-risk AI without an emergency stop or interrupt mechanism",
686
+ "Do NOT make emergency stop dependent on AI system cooperation"
687
+ ]
688
+ },
689
+ {
690
+ "obligation_id": "eu-ai-act-OBL-008b",
691
+ "article_reference": "Article 14(5)",
692
+ "parent_obligation": "eu-ai-act-OBL-008",
693
+ "title": "Human Oversight: Biometric ID Double Verification",
694
+ "description": "For high-risk AI used to identify natural persons: no action based solely on AI identification — require at least two independent human verifications before acting.",
695
+ "applies_to_role": "both",
696
+ "applies_to_risk_level": [
697
+ "high"
698
+ ],
699
+ "obligation_type": "organizational",
700
+ "what_to_do": [
701
+ "If AI identifies a person (biometric), require 2 separate humans to verify before any action",
702
+ "Document dual verification process",
703
+ "Log all verification decisions"
704
+ ],
705
+ "evidence_required": "Dual verification procedure document, verification logs showing two independent checks per identification",
706
+ "deadline": "2026-08-02",
707
+ "frequency": "ongoing",
708
+ "severity": "critical",
709
+ "automatable": "partial",
710
+ "cli_check_possible": true,
711
+ "cli_check_description": "For biometric ID systems: check for dual approval workflow, verify at least 2 approval steps before action on identification results.",
712
+ "what_not_to_do": [
713
+ "Do NOT use biometric identification without requiring human verification of results",
714
+ "Do NOT automate decisions based on single biometric match"
715
+ ]
716
+ },
717
+ {
718
+ "obligation_id": "eu-ai-act-OBL-009",
719
+ "article_reference": "Article 15",
720
+ "title": "Ensure Accuracy, Robustness, and Cybersecurity",
721
+ "description": "Appropriate levels of accuracy, robustness against errors/faults, and cybersecurity. Resilience against adversarial attacks.",
722
+ "applies_to_role": "provider",
723
+ "applies_to_risk_level": [
724
+ "high"
725
+ ],
726
+ "obligation_type": "technical",
727
+ "what_to_do": [
728
+ "Define accuracy metrics",
729
+ "Test for subgroup fairness",
730
+ "Protect against adversarial attacks",
731
+ "Implement cybersecurity measures",
732
+ "Regular vulnerability assessment"
733
+ ],
734
+ "evidence_required": "Accuracy test results, robustness tests, cybersecurity assessment, adversarial testing",
735
+ "deadline": "2026-08-02",
736
+ "frequency": "ongoing",
737
+ "severity": "high",
738
+ "automatable": "partial",
739
+ "sdk_feature_needed": true,
740
+ "sdk_feature_type": "bias-testing",
741
+ "cli_check_possible": true,
742
+ "cli_check_description": "Run accuracy benchmarks, check for security configs (API key management, rate limiting, input validation), scan for known vulnerability patterns.",
743
+ "what_not_to_do": [
744
+ "Do NOT deploy AI systems without tested accuracy, robustness, and cybersecurity measures",
745
+ "Do NOT skip adversarial testing"
746
+ ]
747
+ },
748
+ {
749
+ "obligation_id": "eu-ai-act-OBL-009a",
750
+ "article_reference": "Article 15(1)",
751
+ "parent_obligation": "eu-ai-act-OBL-009",
752
+ "title": "Accuracy: Declare and Test Performance Metrics",
753
+ "description": "Define, declare, and test accuracy metrics appropriate to the AI system's purpose. Include metrics in Instructions for Use.",
754
+ "applies_to_role": "provider",
755
+ "applies_to_risk_level": [
756
+ "high"
757
+ ],
758
+ "obligation_type": "technical",
759
+ "what_to_do": [
760
+ "Define accuracy/performance metrics (precision, recall, F1, AUC, RMSE, etc.)",
761
+ "Test and document results",
762
+ "Include confidence intervals",
763
+ "Declare in Instructions for Use and technical documentation"
764
+ ],
765
+ "evidence_required": "Performance metrics definition, test results with confidence intervals, inclusion in Instructions for Use",
766
+ "deadline": "2026-08-02",
767
+ "frequency": "per-system",
768
+ "severity": "high",
769
+ "automatable": "full",
770
+ "cli_check_possible": true,
771
+ "cli_check_description": "Check for model evaluation scripts computing standard metrics (accuracy, precision, recall, F1). Verify results are saved to documentation directory.",
772
+ "what_not_to_do": [
773
+ "Do NOT claim accuracy levels without documented test results",
774
+ "Do NOT use irrelevant metrics to mask poor performance"
775
+ ]
776
+ },
777
+ {
778
+ "obligation_id": "eu-ai-act-OBL-009b",
779
+ "article_reference": "Article 15(4)",
780
+ "parent_obligation": "eu-ai-act-OBL-009",
781
+ "title": "Cybersecurity: Protect Against Adversarial Attacks",
782
+ "description": "Implement measures to protect against data poisoning, model manipulation, adversarial examples, prompt injection, and model extraction.",
783
+ "applies_to_role": "provider",
784
+ "applies_to_risk_level": [
785
+ "high"
786
+ ],
787
+ "obligation_type": "technical",
788
+ "what_to_do": [
789
+ "Implement input validation and sanitization",
790
+ "Add rate limiting",
791
+ "Protect model weights (access control, encryption)",
792
+ "Test for adversarial robustness",
793
+ "Implement prompt injection defenses (for LLM-based systems)",
794
+ "Conduct penetration testing"
795
+ ],
796
+ "evidence_required": "Cybersecurity assessment, adversarial testing results, penetration test report, security configuration documentation",
797
+ "deadline": "2026-08-02",
798
+ "frequency": "ongoing",
799
+ "severity": "high",
800
+ "automatable": "partial",
801
+ "cli_check_possible": true,
802
+ "cli_check_description": "Check for input validation on AI endpoints, rate limiting config, prompt injection guards, API key rotation, model access controls, encryption at rest/in transit.",
803
+ "what_not_to_do": [
804
+ "Do NOT ignore adversarial attack vectors in system design",
805
+ "Do NOT deploy without data poisoning and model manipulation protections"
806
+ ]
807
+ },
808
+ {
809
+ "obligation_id": "eu-ai-act-OBL-010",
810
+ "article_reference": "Article 17",
811
+ "title": "Establish Quality Management System",
812
+ "description": "Documented QMS covering compliance strategy, design control, testing procedures, data management, risk management, post-market monitoring, incident reporting, accountability.",
813
+ "applies_to_role": "provider",
814
+ "applies_to_risk_level": [
815
+ "high"
816
+ ],
817
+ "obligation_type": "organizational",
818
+ "what_to_do": [
819
+ "Develop QMS per Art. 17(1)(a)-(l)",
820
+ "Conduct internal audits",
821
+ "Keep for 10 years"
822
+ ],
823
+ "evidence_required": "QMS documentation, internal audit reports, named accountability persons",
824
+ "deadline": "2026-08-02",
825
+ "frequency": "ongoing",
826
+ "severity": "high",
827
+ "automatable": "partial",
828
+ "document_template_needed": true,
829
+ "document_template_type": "policy",
830
+ "cli_check_possible": true,
831
+ "cli_check_description": "Check for COMPLIANCE.md, QMS.md, or /docs/quality-management directory. Verify existence of compliance policy files.",
832
+ "what_not_to_do": [
833
+ "Do NOT operate as high-risk AI provider without a quality management system",
834
+ "Do NOT treat QMS as documentation-only — it must be implemented and auditable"
835
+ ],
836
+ "automation_approach": "Scanner checks for QMS configuration: .complior/ directory, quality-policy.md, audit-schedule config, version control compliance (git hooks for documentation updates)."
837
+ },
838
+ {
839
+ "obligation_id": "eu-ai-act-OBL-011",
840
+ "article_reference": "Article 26(1)-(5)",
841
+ "title": "Deployer: Use High-Risk AI Per Instructions and Monitor",
842
+ "description": "Use system per instructions, assign human oversight, ensure input data quality, monitor operations, keep logs 6+ months.",
843
+ "applies_to_role": "deployer",
844
+ "applies_to_risk_level": [
845
+ "high"
846
+ ],
847
+ "obligation_type": "organizational",
848
+ "what_to_do": [
849
+ "Implement provider instructions",
850
+ "Assign named human oversight persons",
851
+ "Verify input data quality",
852
+ "Active monitoring",
853
+ "Log retention min 6 months"
854
+ ],
855
+ "evidence_required": "Implementation evidence, oversight assignments, monitoring logs, log retention records",
856
+ "deadline": "2026-08-02",
857
+ "frequency": "ongoing",
858
+ "severity": "critical",
859
+ "automatable": "partial",
860
+ "document_template_needed": true,
861
+ "document_template_type": "policy",
862
+ "sdk_feature_needed": true,
863
+ "sdk_feature_type": "logging",
864
+ "cli_check_possible": false,
865
+ "what_not_to_do": [
866
+ "Do NOT use high-risk AI contrary to provider's instructions",
867
+ "Do NOT skip monitoring of AI system outputs and performance"
868
+ ]
869
+ },
870
+ {
871
+ "obligation_id": "eu-ai-act-OBL-011a",
872
+ "article_reference": "Article 26(2)",
873
+ "parent_obligation": "eu-ai-act-OBL-011",
874
+ "title": "Deployer: Assign Named Human Oversight Persons",
875
+ "description": "Assign specific competent persons with authority, training, and resources for human oversight of each high-risk AI system.",
876
+ "applies_to_role": "deployer",
877
+ "applies_to_risk_level": [
878
+ "high"
879
+ ],
880
+ "obligation_type": "organizational",
881
+ "what_to_do": [
882
+ "For each high-risk AI system, designate named oversight person(s)",
883
+ "Ensure they have: relevant competence, authority to override, training on the specific system, adequate time/resources",
884
+ "Document assignments and training"
885
+ ],
886
+ "evidence_required": "Human oversight assignment matrix (system → person), training records for each person, authority delegation documents",
887
+ "deadline": "2026-08-02",
888
+ "frequency": "per-system",
889
+ "severity": "high",
890
+ "automatable": "partial",
891
+ "cli_check_possible": false,
892
+ "what_not_to_do": [
893
+ "Do NOT assign human oversight to untrained persons",
894
+ "Do NOT designate oversight as secondary duty without adequate time allocation"
895
+ ]
896
+ },
897
+ {
898
+ "obligation_id": "eu-ai-act-OBL-011b",
899
+ "article_reference": "Article 26(4)",
900
+ "parent_obligation": "eu-ai-act-OBL-011",
901
+ "title": "Deployer: Ensure Input Data Relevance",
902
+ "description": "Deployer must ensure input data provided to the high-risk AI system is relevant and representative for the intended purpose.",
903
+ "applies_to_role": "deployer",
904
+ "applies_to_risk_level": [
905
+ "high"
906
+ ],
907
+ "obligation_type": "technical",
908
+ "what_to_do": [
909
+ "Review what input data you provide to the AI system",
910
+ "Verify data relevance for intended purpose",
911
+ "Assess representativeness",
912
+ "Document data quality checks"
913
+ ],
914
+ "evidence_required": "Input data quality assessment, relevance verification document",
915
+ "deadline": "2026-08-02",
916
+ "frequency": "ongoing",
917
+ "severity": "medium",
918
+ "automatable": "partial",
919
+ "cli_check_possible": true,
920
+ "cli_check_description": "Check for data validation steps before AI model input. Verify schema validation, null checks, and data quality gates in data pipelines feeding high-risk AI.",
921
+ "what_not_to_do": [
922
+ "Do NOT feed irrelevant, incorrect, or biased data into high-risk AI systems",
923
+ "Do NOT ignore data quality requirements specified by provider"
924
+ ]
925
+ },
926
+ {
927
+ "obligation_id": "eu-ai-act-OBL-012",
928
+ "article_reference": "Article 26(7)",
929
+ "title": "Inform Workers About High-Risk AI Use",
930
+ "description": "Employers must inform workers and their representatives before deploying high-risk AI in the workplace.",
931
+ "applies_to_role": "deployer",
932
+ "applies_to_risk_level": [
933
+ "high"
934
+ ],
935
+ "obligation_type": "transparency",
936
+ "what_to_do": [
937
+ "Notify worker representatives (works council/union)",
938
+ "Notify affected workers individually",
939
+ "Provide: what AI does, how it affects them, their rights"
940
+ ],
941
+ "evidence_required": "Notification records, content provided, acknowledgment receipts",
942
+ "deadline": "2026-08-02",
943
+ "frequency": "per-system",
944
+ "severity": "high",
945
+ "automatable": "partial",
946
+ "document_template_needed": true,
947
+ "document_template_type": "notice",
948
+ "cli_check_possible": false,
949
+ "what_not_to_do": [
950
+ "Do NOT deploy high-risk AI in workplace without informing affected workers beforehand",
951
+ "Do NOT notify workers after deployment has already begun"
952
+ ]
953
+ },
954
+ {
955
+ "obligation_id": "eu-ai-act-OBL-013",
956
+ "article_reference": "Article 27",
957
+ "title": "Conduct Fundamental Rights Impact Assessment (FRIA)",
958
+ "description": "Public bodies and certain private deployers must conduct FRIA before deploying high-risk AI. Cover: processes, affected persons, risks, oversight, governance.",
959
+ "applies_to_role": "deployer",
960
+ "applies_to_risk_level": [
961
+ "high"
962
+ ],
963
+ "obligation_type": "assessment",
964
+ "what_to_do": [
965
+ "Determine if FRIA required (public body, public service, credit/insurance)",
966
+ "Conduct FRIA per Art. 27(3)",
967
+ "Notify market surveillance authority",
968
+ "Update FRIA on changes"
969
+ ],
970
+ "evidence_required": "FRIA document, authority notification, update records",
971
+ "deadline": "2026-08-02",
972
+ "frequency": "per-system",
973
+ "severity": "critical",
974
+ "automatable": "partial",
975
+ "document_template_needed": true,
976
+ "document_template_type": "FRIA",
977
+ "cli_check_possible": false,
978
+ "what_not_to_do": [
979
+ "Do NOT deploy high-risk AI without conducting FRIA (if public sector, credit, insurance, or HR)",
980
+ "Do NOT conduct FRIA as a formality — it must assess actual fundamental rights impact"
981
+ ]
982
+ },
983
+ {
984
+ "obligation_id": "eu-ai-act-OBL-014",
985
+ "article_reference": "Article 49",
986
+ "title": "Register High-Risk AI in EU Database",
987
+ "description": "Providers register Annex III high-risk AI before market placement. Public body deployers register intended use.",
988
+ "applies_to_role": "both",
989
+ "applies_to_risk_level": [
990
+ "high"
991
+ ],
992
+ "obligation_type": "registration",
993
+ "what_to_do": [
994
+ "Register in EU database (Art. 71) before market placement",
995
+ "Keep registration updated"
996
+ ],
997
+ "evidence_required": "Registration confirmation/number",
998
+ "deadline": "2026-08-02",
999
+ "frequency": "per-system",
1000
+ "severity": "medium",
1001
+ "automatable": "partial",
1002
+ "cli_check_possible": false,
1003
+ "what_not_to_do": [
1004
+ "Do NOT operate high-risk AI without registering it in the EU database",
1005
+ "Do NOT provide false or incomplete information in registration"
1006
+ ],
1007
+ "automation_approach": "Scanner generates EU database registration form data from project metadata. Pre-fills: system name, provider, intended purpose, risk level. Outputs JSON ready for submission."
1008
+ },
1009
+ {
1010
+ "obligation_id": "eu-ai-act-OBL-015",
1011
+ "article_reference": "Article 50(1)",
1012
+ "title": "Disclose AI Interaction to Users — Chatbot/Assistant",
1013
+ "description": "AI systems interacting directly with persons must inform them they are interacting with AI, unless obvious from context.",
1014
+ "applies_to_role": "provider",
1015
+ "applies_to_risk_level": [
1016
+ "high",
1017
+ "limited",
1018
+ "minimal"
1019
+ ],
1020
+ "obligation_type": "transparency",
1021
+ "what_to_do": [
1022
+ "Display clear notice before/at start of interaction",
1023
+ "Multi-language support",
1024
+ "Document disclosure mechanism"
1025
+ ],
1026
+ "evidence_required": "Screenshots showing disclosure, UI documentation, disclosure text in all languages",
1027
+ "deadline": "2026-08-02",
1028
+ "frequency": "per-system",
1029
+ "severity": "high",
1030
+ "automatable": "full",
1031
+ "sdk_feature_needed": true,
1032
+ "sdk_feature_type": "disclosure",
1033
+ "cli_check_possible": true,
1034
+ "cli_check_description": "Scan chat/conversation UI code for AI disclosure text. Check for disclosure middleware on conversation endpoints.",
1035
+ "what_not_to_do": [
1036
+ "Do NOT allow AI chatbots to interact with users without disclosing AI nature",
1037
+ "Do NOT bury disclosure in terms of service — it must be prominent and timely"
1038
+ ]
1039
+ },
1040
+ {
1041
+ "obligation_id": "eu-ai-act-OBL-015a",
1042
+ "article_reference": "Article 50(1)",
1043
+ "parent_obligation": "eu-ai-act-OBL-015",
1044
+ "title": "Disclose AI Interaction — Voice/Phone Systems",
1045
+ "description": "Voice AI systems (phone bots, voice assistants) must disclose AI nature via audio at the start of interaction.",
1046
+ "applies_to_role": "provider",
1047
+ "applies_to_risk_level": [
1048
+ "high",
1049
+ "limited",
1050
+ "minimal"
1051
+ ],
1052
+ "obligation_type": "transparency",
1053
+ "what_to_do": [
1054
+ "Play audio disclosure at start of voice interaction",
1055
+ "Disclosure must be in user's language",
1056
+ "Log that disclosure was played"
1057
+ ],
1058
+ "evidence_required": "Audio recording of disclosure, call flow diagram showing disclosure point, disclosure play logs",
1059
+ "deadline": "2026-08-02",
1060
+ "frequency": "per-system",
1061
+ "severity": "high",
1062
+ "automatable": "full",
1063
+ "cli_check_possible": true,
1064
+ "cli_check_description": "In voice/telephony code: check for disclosure audio asset, verify it plays before first AI response, check IVR flow for disclosure node.",
1065
+ "what_not_to_do": [
1066
+ "Do NOT use AI voice assistants without audio disclosure at start of interaction",
1067
+ "Do NOT use human-sounding voices to deceive users about AI nature"
1068
+ ]
1069
+ },
1070
+ {
1071
+ "obligation_id": "eu-ai-act-OBL-015b",
1072
+ "article_reference": "Article 50(1)",
1073
+ "parent_obligation": "eu-ai-act-OBL-015",
1074
+ "title": "Disclose AI Interaction — Email/Messaging Bots",
1075
+ "description": "AI systems that send emails or messages on behalf of humans must disclose their AI nature.",
1076
+ "applies_to_role": "provider",
1077
+ "applies_to_risk_level": [
1078
+ "high",
1079
+ "limited",
1080
+ "minimal"
1081
+ ],
1082
+ "obligation_type": "transparency",
1083
+ "what_to_do": [
1084
+ "Include AI disclosure in email footer or message header",
1085
+ "Example: 'This message was generated by an AI system on behalf of [Company]'",
1086
+ "For auto-reply bots: disclose at first message"
1087
+ ],
1088
+ "evidence_required": "Sample emails/messages showing disclosure, email template configuration",
1089
+ "deadline": "2026-08-02",
1090
+ "frequency": "per-system",
1091
+ "severity": "medium",
1092
+ "automatable": "full",
1093
+ "cli_check_possible": true,
1094
+ "cli_check_description": "Check email sending code for AI disclosure in templates. Scan messaging bot code for disclosure in first message. Check for 'AI generated' or equivalent in email signature configs.",
1095
+ "what_not_to_do": [
1096
+ "Do NOT send AI-generated emails/messages without indicating AI involvement",
1097
+ "Do NOT disguise automated responses as human-written"
1098
+ ]
1099
+ },
1100
+ {
1101
+ "obligation_id": "eu-ai-act-OBL-015c",
1102
+ "article_reference": "Article 50(1)",
1103
+ "parent_obligation": "eu-ai-act-OBL-015",
1104
+ "title": "Disclose AI Interaction — API Responses",
1105
+ "description": "When AI outputs are served via API that reaches end users, the API should include metadata indicating AI generation so downstream deployers can implement disclosure.",
1106
+ "applies_to_role": "provider",
1107
+ "applies_to_risk_level": [
1108
+ "high",
1109
+ "limited",
1110
+ "minimal"
1111
+ ],
1112
+ "obligation_type": "transparency",
1113
+ "what_to_do": [
1114
+ "Include AI generation metadata in API response headers (e.g., X-AI-Generated: true)",
1115
+ "Document metadata in API docs so deployers can implement user-facing disclosure",
1116
+ "Log API calls with disclosure metadata status"
1117
+ ],
1118
+ "evidence_required": "API documentation showing AI metadata headers, sample API responses with headers, deployer integration guide",
1119
+ "deadline": "2026-08-02",
1120
+ "frequency": "per-system",
1121
+ "severity": "medium",
1122
+ "automatable": "full",
1123
+ "cli_check_possible": true,
1124
+ "cli_check_description": "Check API response middleware for AI disclosure headers (X-AI-Generated, X-Content-Source: ai). Verify API documentation mentions AI generation metadata.",
1125
+ "what_not_to_do": [
1126
+ "Do NOT return AI API responses without AI-identification metadata headers",
1127
+ "Do NOT strip AI provenance metadata from API responses"
1128
+ ]
1129
+ },
1130
+ {
1131
+ "obligation_id": "eu-ai-act-OBL-016",
1132
+ "article_reference": "Article 50(2)",
1133
+ "title": "Mark AI-Generated Content — Machine-Readable",
1134
+ "description": "AI-generated synthetic content (text, image, audio, video) must be machine-readably marked as AI-generated.",
1135
+ "applies_to_role": "provider",
1136
+ "applies_to_risk_level": [
1137
+ "high",
1138
+ "limited",
1139
+ "gpai"
1140
+ ],
1141
+ "obligation_type": "technical",
1142
+ "what_to_do": [
1143
+ "Implement C2PA/IPTC metadata for images",
1144
+ "Embed audio/video watermarks",
1145
+ "Implement text provenance marking",
1146
+ "Follow Commission Code of Practice on content marking"
1147
+ ],
1148
+ "evidence_required": "Technical docs of marking implementation, sample marked outputs, interoperability test results",
1149
+ "deadline": "2026-08-02",
1150
+ "frequency": "per-system",
1151
+ "severity": "high",
1152
+ "automatable": "full",
1153
+ "sdk_feature_needed": true,
1154
+ "sdk_feature_type": "content-marking",
1155
+ "cli_check_possible": true,
1156
+ "cli_check_description": "Check for C2PA, watermarking library imports in content generation pipeline. Verify marking step exists before content delivery.",
1157
+ "what_not_to_do": [
1158
+ "Do NOT generate content without machine-readable AI provenance marking",
1159
+ "Do NOT rely only on visible watermarks — machine-readable marking is required"
1160
+ ]
1161
+ },
1162
+ {
1163
+ "obligation_id": "eu-ai-act-OBL-016a",
1164
+ "article_reference": "Article 50(2)",
1165
+ "parent_obligation": "eu-ai-act-OBL-016",
1166
+ "title": "Mark AI-Generated Images — C2PA/Watermark",
1167
+ "description": "AI-generated images must include C2PA manifest and/or invisible watermark indicating AI generation.",
1168
+ "applies_to_role": "provider",
1169
+ "applies_to_risk_level": [
1170
+ "high",
1171
+ "limited",
1172
+ "gpai"
1173
+ ],
1174
+ "obligation_type": "technical",
1175
+ "what_to_do": [
1176
+ "Integrate C2PA signing into image generation pipeline",
1177
+ "Add IPTC DigitalSourceType metadata",
1178
+ "Apply invisible watermark if technically feasible",
1179
+ "Test robustness: marking should survive compression, cropping, format conversion"
1180
+ ],
1181
+ "evidence_required": "C2PA manifest examples, IPTC metadata verification, watermark robustness test results",
1182
+ "deadline": "2026-08-02",
1183
+ "frequency": "per-system",
1184
+ "severity": "high",
1185
+ "automatable": "full",
1186
+ "cli_check_possible": true,
1187
+ "cli_check_description": "Check for c2pa-python, c2patool, IPTC metadata libraries in image generation code. Verify marking step in image output pipeline.",
1188
+ "what_not_to_do": [
1189
+ "Do NOT generate images without C2PA or equivalent watermark metadata",
1190
+ "Do NOT strip EXIF/IPTC/C2PA metadata from AI-generated images"
1191
+ ]
1192
+ },
1193
+ {
1194
+ "obligation_id": "eu-ai-act-OBL-016b",
1195
+ "article_reference": "Article 50(2)",
1196
+ "parent_obligation": "eu-ai-act-OBL-016",
1197
+ "title": "Mark AI-Generated Text — Provenance Metadata",
1198
+ "description": "AI-generated text must include machine-readable provenance signals indicating AI generation.",
1199
+ "applies_to_role": "provider",
1200
+ "applies_to_risk_level": [
1201
+ "high",
1202
+ "limited",
1203
+ "gpai"
1204
+ ],
1205
+ "obligation_type": "technical",
1206
+ "what_to_do": [
1207
+ "Implement text provenance metadata (JSON-LD, response headers, or embedded metadata)",
1208
+ "For API-served text: include generation metadata in response",
1209
+ "For published text: include provenance in document metadata"
1210
+ ],
1211
+ "evidence_required": "Text provenance implementation documentation, sample outputs with provenance metadata",
1212
+ "deadline": "2026-08-02",
1213
+ "frequency": "per-system",
1214
+ "severity": "medium",
1215
+ "automatable": "full",
1216
+ "cli_check_possible": true,
1217
+ "cli_check_description": "Check text generation API responses for provenance metadata fields. Verify text outputs include generation source in metadata or headers.",
1218
+ "what_not_to_do": [
1219
+ "Do NOT generate text without provenance metadata in output format",
1220
+ "Do NOT remove AI attribution from generated text when publishing"
1221
+ ]
1222
+ },
1223
+ {
1224
+ "obligation_id": "eu-ai-act-OBL-017",
1225
+ "article_reference": "Article 50(3)",
1226
+ "title": "Notify Individuals of Emotion Recognition / Biometric Categorization",
1227
+ "description": "Deployers of emotion recognition or biometric categorization systems must inform exposed individuals in advance.",
1228
+ "applies_to_role": "deployer",
1229
+ "applies_to_risk_level": [
1230
+ "high",
1231
+ "limited"
1232
+ ],
1233
+ "obligation_type": "transparency",
1234
+ "what_to_do": [
1235
+ "Identify systems performing emotion recognition or biometric categorization",
1236
+ "Inform all exposed individuals clearly in advance",
1237
+ "Comply with GDPR",
1238
+ "Document notification"
1239
+ ],
1240
+ "evidence_required": "Notification records, signage photos, GDPR documentation",
1241
+ "deadline": "2026-08-02",
1242
+ "frequency": "ongoing",
1243
+ "severity": "high",
1244
+ "automatable": "partial",
1245
+ "document_template_needed": true,
1246
+ "document_template_type": "notice",
1247
+ "cli_check_possible": false,
1248
+ "what_not_to_do": [
1249
+ "Do NOT use emotion recognition or biometric categorization without informing affected individuals",
1250
+ "Do NOT process biometric data without explicit notification"
1251
+ ]
1252
+ },
1253
+ {
1254
+ "obligation_id": "eu-ai-act-OBL-018",
1255
+ "article_reference": "Article 50(4)",
1256
+ "title": "Label Deep Fakes and AI-Generated Content for Public",
1257
+ "description": "Deployers of deep fake AI or AI-generated text for public interest must label content as AI-generated.",
1258
+ "applies_to_role": "deployer",
1259
+ "applies_to_risk_level": [
1260
+ "limited"
1261
+ ],
1262
+ "obligation_type": "transparency",
1263
+ "what_to_do": [
1264
+ "Add visible label to AI-generated/manipulated content",
1265
+ "Preserve machine-readable markings from provider",
1266
+ "Exception for artistic/satirical with editorial safeguards"
1267
+ ],
1268
+ "evidence_required": "Examples of labeled content, labeling policy",
1269
+ "deadline": "2026-08-02",
1270
+ "frequency": "ongoing",
1271
+ "severity": "high",
1272
+ "automatable": "partial",
1273
+ "sdk_feature_needed": true,
1274
+ "sdk_feature_type": "content-marking",
1275
+ "cli_check_possible": true,
1276
+ "cli_check_description": "Check content publishing pipelines for AI content detection and label overlay. Verify published AI content includes visible labels.",
1277
+ "what_not_to_do": [
1278
+ "Do NOT publish AI-generated deepfakes without clear labeling",
1279
+ "Do NOT remove AI-generation labels from synthetic media"
1280
+ ]
1281
+ },
1282
+ {
1283
+ "obligation_id": "eu-ai-act-OBL-019",
1284
+ "article_reference": "Article 43 / Article 47 / Article 48",
1285
+ "title": "Complete Conformity Assessment, Declaration, and CE Marking",
1286
+ "description": "Before market placement: conformity assessment (internal or notified body), EU Declaration of Conformity, CE marking.",
1287
+ "applies_to_role": "provider",
1288
+ "applies_to_risk_level": [
1289
+ "high"
1290
+ ],
1291
+ "obligation_type": "assessment",
1292
+ "what_to_do": [
1293
+ "Determine assessment path (Annex VI internal or Annex VII notified body)",
1294
+ "Complete assessment",
1295
+ "Issue EU Declaration of Conformity (Art. 47)",
1296
+ "Affix CE marking (Art. 48)",
1297
+ "Keep records 10 years"
1298
+ ],
1299
+ "evidence_required": "Conformity assessment report, EU Declaration, CE marking evidence",
1300
+ "deadline": "2026-08-02",
1301
+ "frequency": "per-system",
1302
+ "severity": "critical",
1303
+ "automatable": "partial",
1304
+ "document_template_needed": true,
1305
+ "document_template_type": "certificate",
1306
+ "cli_check_possible": false,
1307
+ "what_not_to_do": [
1308
+ "Do NOT place high-risk AI on market without conformity assessment and CE marking",
1309
+ "Do NOT self-certify when third-party assessment is required"
1310
+ ],
1311
+ "automation_approach": "Scanner checks for DECLARATION-OF-CONFORMITY.md or .pdf matching Art. 47 structure. Verifies required elements: system identification, provider details, standards applied, conformity procedure."
1312
+ },
1313
+ {
1314
+ "obligation_id": "eu-ai-act-OBL-020",
1315
+ "article_reference": "Article 72",
1316
+ "title": "Implement Post-Market Monitoring System",
1317
+ "description": "Continuously monitor deployed high-risk AI: collect data from deployers, analyze performance, identify new risks, take corrective action.",
1318
+ "applies_to_role": "provider",
1319
+ "applies_to_risk_level": [
1320
+ "high"
1321
+ ],
1322
+ "obligation_type": "monitoring",
1323
+ "what_to_do": [
1324
+ "Establish post-market monitoring plan",
1325
+ "Collect and analyze performance data",
1326
+ "Take corrective action on issues",
1327
+ "Report serious incidents (Art. 73)"
1328
+ ],
1329
+ "evidence_required": "Monitoring plan, data logs, analysis reports, corrective action records",
1330
+ "deadline": "2026-08-02",
1331
+ "frequency": "ongoing",
1332
+ "severity": "high",
1333
+ "automatable": "partial",
1334
+ "sdk_feature_needed": true,
1335
+ "sdk_feature_type": "logging",
1336
+ "cli_check_possible": true,
1337
+ "cli_check_description": "Check for monitoring configuration, performance metric collection, anomaly detection setup, alert/notification system for performance degradation.",
1338
+ "what_not_to_do": [
1339
+ "Do NOT stop monitoring AI system after market placement",
1340
+ "Do NOT ignore user feedback or incident reports"
1341
+ ]
1342
+ },
1343
+ {
1344
+ "obligation_id": "eu-ai-act-OBL-020a",
1345
+ "article_reference": "Article 20",
1346
+ "parent_obligation": "eu-ai-act-OBL-020",
1347
+ "title": "Corrective Actions and Duty of Information",
1348
+ "description": "When a high-risk AI system is found non-compliant, the provider must take corrective actions (bring into compliance, withdraw, or recall) and inform deployers, distributors, and authorities.",
1349
+ "applies_to_role": "provider",
1350
+ "applies_to_risk_level": [
1351
+ "high"
1352
+ ],
1353
+ "obligation_type": "organizational",
1354
+ "what_to_do": [
1355
+ "Establish corrective action process",
1356
+ "When non-compliance found: (a) bring system into compliance, (b) withdraw/recall if needed",
1357
+ "Notify all deployers, distributors, and representatives",
1358
+ "Notify national competent authorities of the non-compliance and corrective actions"
1359
+ ],
1360
+ "evidence_required": "Corrective action procedure, incident records, notification evidence to deployers and authorities",
1361
+ "deadline": "2026-08-02",
1362
+ "frequency": "per-incident",
1363
+ "severity": "high",
1364
+ "automatable": "partial",
1365
+ "cli_check_possible": false,
1366
+ "what_not_to_do": [
1367
+ "Do NOT fail to implement corrective actions when issues are identified",
1368
+ "Do NOT delay withdrawal of non-compliant AI systems"
1369
+ ]
1370
+ },
1371
+ {
1372
+ "obligation_id": "eu-ai-act-OBL-021",
1373
+ "article_reference": "Article 73",
1374
+ "title": "Report Serious Incidents to Authorities",
1375
+ "description": "Report serious incidents (death, serious health damage, critical infrastructure disruption, fundamental rights violation) within 15 days.",
1376
+ "applies_to_role": "provider",
1377
+ "applies_to_risk_level": [
1378
+ "high"
1379
+ ],
1380
+ "obligation_type": "reporting",
1381
+ "what_to_do": [
1382
+ "Establish incident detection process",
1383
+ "Report to market surveillance authority within 15 days",
1384
+ "Include: system ID, incident description, cause, corrective measures"
1385
+ ],
1386
+ "evidence_required": "Incident reports filed with authorities, internal incident logs, corrective action records",
1387
+ "deadline": "2026-08-02",
1388
+ "frequency": "per-incident",
1389
+ "severity": "critical",
1390
+ "automatable": "partial",
1391
+ "document_template_needed": true,
1392
+ "document_template_type": "report",
1393
+ "cli_check_possible": false,
1394
+ "what_not_to_do": [
1395
+ "Do NOT fail to report serious incidents within required timeline",
1396
+ "Do NOT suppress or downplay incident severity"
1397
+ ]
1398
+ },
1399
+ {
1400
+ "obligation_id": "eu-ai-act-OBL-022",
1401
+ "article_reference": "Article 53(1)(a)-(b) / Annex XI / Annex XII",
1402
+ "title": "GPAI: Technical Documentation per Annex XI",
1403
+ "description": "GPAI model providers must create technical documentation of the model covering training process, testing, evaluation results.",
1404
+ "applies_to_role": "provider",
1405
+ "applies_to_risk_level": [
1406
+ "gpai"
1407
+ ],
1408
+ "obligation_type": "documentation",
1409
+ "what_to_do": [
1410
+ "Create documentation per Annex XI",
1411
+ "Include: model description, training process, testing methodology, evaluation results, capabilities, limitations"
1412
+ ],
1413
+ "evidence_required": "Annex XI documentation, version history",
1414
+ "deadline": "2025-08-02",
1415
+ "frequency": "per-model",
1416
+ "severity": "critical",
1417
+ "automatable": "partial",
1418
+ "document_template_needed": true,
1419
+ "document_template_type": "report",
1420
+ "cli_check_possible": true,
1421
+ "cli_check_description": "Check for MODEL_CARD.md, annex_xi_documentation.md, or /docs/model-documentation. Verify covers: model description, training process, evaluation results, capabilities, limitations.",
1422
+ "what_not_to_do": [
1423
+ "Do NOT offer GPAI model without Annex XI technical documentation",
1424
+ "Do NOT provide incomplete or misleading technical documentation"
1425
+ ]
1426
+ },
1427
+ {
1428
+ "obligation_id": "eu-ai-act-OBL-022a",
1429
+ "article_reference": "Article 53(1)(b) / Annex XII",
1430
+ "parent_obligation": "eu-ai-act-OBL-022",
1431
+ "title": "GPAI: Downstream Provider Information (Annex XII)",
1432
+ "description": "Provide downstream AI system providers with information needed to integrate and comply: capabilities, limitations, risks, API docs, usage instructions.",
1433
+ "applies_to_role": "provider",
1434
+ "applies_to_risk_level": [
1435
+ "gpai"
1436
+ ],
1437
+ "obligation_type": "documentation",
1438
+ "what_to_do": [
1439
+ "Create Annex XII information package",
1440
+ "Include: integration guidance, capabilities/limitations, foreseeable risks, API documentation, usage instructions",
1441
+ "Distribute to all downstream providers BEFORE they integrate your model"
1442
+ ],
1443
+ "evidence_required": "Annex XII documentation, distribution records to downstream providers",
1444
+ "deadline": "2025-08-02",
1445
+ "frequency": "per-model",
1446
+ "severity": "high",
1447
+ "automatable": "partial",
1448
+ "cli_check_possible": true,
1449
+ "cli_check_description": "Check for DOWNSTREAM_PROVIDER_INFO.md or API documentation including model capabilities, limitations, and risk information. Check for /docs/integration-guide.",
1450
+ "what_not_to_do": [
1451
+ "Do NOT distribute GPAI to downstream providers without Annex XII information",
1452
+ "Do NOT omit limitations and risk information from downstream documentation"
1453
+ ]
1454
+ },
1455
+ {
1456
+ "obligation_id": "eu-ai-act-OBL-022b",
1457
+ "article_reference": "Article 53(1)(c)",
1458
+ "parent_obligation": "eu-ai-act-OBL-022",
1459
+ "title": "GPAI: Copyright Compliance Policy",
1460
+ "description": "Implement and document a policy to comply with EU copyright law, in particular regarding the identification and respect of opt-outs from text and data mining.",
1461
+ "applies_to_role": "provider",
1462
+ "applies_to_risk_level": [
1463
+ "gpai"
1464
+ ],
1465
+ "obligation_type": "organizational",
1466
+ "what_to_do": [
1467
+ "Create copyright compliance policy for training data",
1468
+ "Implement mechanism to honor robots.txt and TDM opt-outs",
1469
+ "Document data sources and copyright status",
1470
+ "Make policy publicly available"
1471
+ ],
1472
+ "evidence_required": "Copyright compliance policy document, TDM opt-out implementation evidence, data source audit",
1473
+ "deadline": "2025-08-02",
1474
+ "frequency": "per-model",
1475
+ "severity": "high",
1476
+ "automatable": "partial",
1477
+ "cli_check_possible": true,
1478
+ "cli_check_description": "Check for COPYRIGHT_POLICY.md or TDM compliance documentation. Scan data collection scripts for robots.txt/TDM opt-out respect.",
1479
+ "what_not_to_do": [
1480
+ "Do NOT train GPAI models without a copyright compliance policy",
1481
+ "Do NOT ignore opt-out mechanisms for rights holders"
1482
+ ]
1483
+ },
1484
+ {
1485
+ "obligation_id": "eu-ai-act-OBL-022c",
1486
+ "article_reference": "Article 53(1)(d)",
1487
+ "parent_obligation": "eu-ai-act-OBL-022",
1488
+ "title": "GPAI: Publish Training Data Summary",
1489
+ "description": "Make publicly available a sufficiently detailed summary of the content used for training the GPAI model, per Commission template.",
1490
+ "applies_to_role": "provider",
1491
+ "applies_to_risk_level": [
1492
+ "gpai"
1493
+ ],
1494
+ "obligation_type": "transparency",
1495
+ "what_to_do": [
1496
+ "Prepare training data summary",
1497
+ "Follow Commission template format",
1498
+ "Publish publicly (website, model card, registry)",
1499
+ "Include: data types, sources, volume, preprocessing methods, but not individual data points"
1500
+ ],
1501
+ "evidence_required": "Published training data summary, URL where it's accessible",
1502
+ "deadline": "2025-08-02",
1503
+ "frequency": "per-model",
1504
+ "severity": "high",
1505
+ "automatable": "partial",
1506
+ "cli_check_possible": true,
1507
+ "cli_check_description": "Check for TRAINING_DATA_SUMMARY.md or public model card with training data section. Verify it's accessible via public URL.",
1508
+ "what_not_to_do": [
1509
+ "Do NOT withhold training data summary from public",
1510
+ "Do NOT provide misleading or incomplete training data descriptions"
1511
+ ]
1512
+ },
1513
+ {
1514
+ "obligation_id": "eu-ai-act-OBL-023",
1515
+ "article_reference": "Article 55",
1516
+ "title": "GPAI Systemic Risk: Model Evaluation and Adversarial Testing",
1517
+ "description": "GPAI with systemic risk must perform model evaluations including adversarial testing (red-teaming).",
1518
+ "applies_to_role": "provider",
1519
+ "applies_to_risk_level": [
1520
+ "gpai"
1521
+ ],
1522
+ "obligation_type": "assessment",
1523
+ "what_to_do": [
1524
+ "Perform standardized model evaluations",
1525
+ "Conduct adversarial testing (red-teaming)",
1526
+ "Follow GPAI Code of Practice"
1527
+ ],
1528
+ "evidence_required": "Evaluation reports, red-team results, Code of Practice adherence evidence",
1529
+ "deadline": "2025-08-02",
1530
+ "frequency": "ongoing",
1531
+ "severity": "critical",
1532
+ "automatable": "partial",
1533
+ "sdk_feature_needed": true,
1534
+ "sdk_feature_type": "bias-testing",
1535
+ "cli_check_possible": true,
1536
+ "cli_check_description": "Check for red-teaming scripts, adversarial test suites, model evaluation benchmarks. Verify results stored and versioned.",
1537
+ "what_not_to_do": [
1538
+ "Do NOT deploy GPAI with systemic risk without adversarial testing",
1539
+ "Do NOT skip red-teaming exercises for high-capability models"
1540
+ ]
1541
+ },
1542
+ {
1543
+ "obligation_id": "eu-ai-act-OBL-023a",
1544
+ "article_reference": "Article 55(1)(b)",
1545
+ "parent_obligation": "eu-ai-act-OBL-023",
1546
+ "title": "GPAI Systemic Risk: Assess and Mitigate Systemic Risks",
1547
+ "description": "Assess and mitigate possible systemic risks at Union level, including risks from model misuse and emergent capabilities.",
1548
+ "applies_to_role": "provider",
1549
+ "applies_to_risk_level": [
1550
+ "gpai"
1551
+ ],
1552
+ "obligation_type": "assessment",
1553
+ "what_to_do": [
1554
+ "Conduct systemic risk assessment (cross-border, societal-level risks)",
1555
+ "Identify risks from: misuse, emergent capabilities, concentration effects, single points of failure",
1556
+ "Implement mitigation measures",
1557
+ "Document assessment and mitigations"
1558
+ ],
1559
+ "evidence_required": "Systemic risk assessment document, mitigation measures log",
1560
+ "deadline": "2025-08-02",
1561
+ "frequency": "ongoing",
1562
+ "severity": "critical",
1563
+ "automatable": "partial",
1564
+ "cli_check_possible": false,
1565
+ "what_not_to_do": [
1566
+ "Do NOT ignore systemic risk indicators in model behavior",
1567
+ "Do NOT deploy without documented risk mitigation plan"
1568
+ ]
1569
+ },
1570
+ {
1571
+ "obligation_id": "eu-ai-act-OBL-023b",
1572
+ "article_reference": "Article 55(1)(c)",
1573
+ "parent_obligation": "eu-ai-act-OBL-023",
1574
+ "title": "GPAI Systemic Risk: Track and Report Serious Incidents to AI Office",
1575
+ "description": "Track serious incidents and near-misses related to the GPAI model, report to AI Office and relevant national authorities without undue delay.",
1576
+ "applies_to_role": "provider",
1577
+ "applies_to_risk_level": [
1578
+ "gpai"
1579
+ ],
1580
+ "obligation_type": "reporting",
1581
+ "what_to_do": [
1582
+ "Establish incident tracking system for GPAI-related incidents",
1583
+ "Report serious incidents to AI Office without undue delay",
1584
+ "Also report to relevant national competent authorities",
1585
+ "Include: model identification, incident description, corrective measures"
1586
+ ],
1587
+ "evidence_required": "Incident tracking records, reports filed with AI Office, national authority notifications",
1588
+ "deadline": "2025-08-02",
1589
+ "frequency": "per-incident",
1590
+ "severity": "critical",
1591
+ "automatable": "partial",
1592
+ "cli_check_possible": false,
1593
+ "what_not_to_do": [
1594
+ "Do NOT fail to report GPAI serious incidents to AI Office",
1595
+ "Do NOT delay reporting beyond required timeline"
1596
+ ]
1597
+ },
1598
+ {
1599
+ "obligation_id": "eu-ai-act-OBL-023c",
1600
+ "article_reference": "Article 55(1)(d)",
1601
+ "parent_obligation": "eu-ai-act-OBL-023",
1602
+ "title": "GPAI Systemic Risk: Ensure Adequate Cybersecurity",
1603
+ "description": "GPAI providers with systemic risk must ensure adequate cybersecurity protection for the model and its physical infrastructure.",
1604
+ "applies_to_role": "provider",
1605
+ "applies_to_risk_level": [
1606
+ "gpai"
1607
+ ],
1608
+ "obligation_type": "technical",
1609
+ "what_to_do": [
1610
+ "Implement cybersecurity measures for model protection (access control, encryption, monitoring)",
1611
+ "Protect model weights from theft/unauthorized access",
1612
+ "Protect training infrastructure",
1613
+ "Conduct security assessments"
1614
+ ],
1615
+ "evidence_required": "Cybersecurity assessment, access control documentation, encryption configuration, security audit reports",
1616
+ "deadline": "2025-08-02",
1617
+ "frequency": "ongoing",
1618
+ "severity": "high",
1619
+ "automatable": "partial",
1620
+ "cli_check_possible": true,
1621
+ "cli_check_description": "Check for model weight encryption, access control on model endpoints, API authentication, rate limiting, infrastructure security configurations.",
1622
+ "what_not_to_do": [
1623
+ "Do NOT deploy GPAI with systemic risk without adequate cybersecurity measures",
1624
+ "Do NOT ignore model security (prompt injection, data poisoning, model theft)"
1625
+ ]
1626
+ },
1627
+ {
1628
+ "obligation_id": "eu-ai-act-OBL-024",
1629
+ "article_reference": "Article 26(11) / Article 86",
1630
+ "title": "Provide Explanation of AI Decisions to Affected Persons",
1631
+ "description": "When AI produces decisions with legal/significant effects, provide affected persons with clear explanation of AI's role and main decision factors.",
1632
+ "applies_to_role": "deployer",
1633
+ "applies_to_risk_level": [
1634
+ "high"
1635
+ ],
1636
+ "obligation_type": "transparency",
1637
+ "what_to_do": [
1638
+ "Identify all AI-influenced decisions with legal/significant effects",
1639
+ "Generate and provide explanation: AI's role, main factors, right to contest",
1640
+ "Establish explanation request process"
1641
+ ],
1642
+ "evidence_required": "Explanation process documentation, template notices, records of explanations provided",
1643
+ "deadline": "2026-08-02",
1644
+ "frequency": "per-incident",
1645
+ "severity": "high",
1646
+ "automatable": "partial",
1647
+ "sdk_feature_needed": true,
1648
+ "sdk_feature_type": "disclosure",
1649
+ "cli_check_possible": true,
1650
+ "cli_check_description": "Check for explainability libraries (SHAP, LIME), explanation generation code on decision endpoints, contestation information in output.",
1651
+ "what_not_to_do": [
1652
+ "Do NOT deny affected persons explanation of AI-influenced decisions",
1653
+ "Do NOT provide explanations only in technical jargon"
1654
+ ]
1655
+ },
1656
+ {
1657
+ "obligation_id": "eu-ai-act-OBL-025",
1658
+ "article_reference": "Article 26(10) / Article 21",
1659
+ "title": "Cooperate with Regulatory Authorities",
1660
+ "description": "Provide information, documentation, and access to AI systems upon request from competent authorities.",
1661
+ "applies_to_role": "both",
1662
+ "applies_to_risk_level": [
1663
+ "all"
1664
+ ],
1665
+ "obligation_type": "organizational",
1666
+ "what_to_do": [
1667
+ "Designate regulatory contact person",
1668
+ "Maintain accessible compliance documentation",
1669
+ "Respond promptly and completely to requests"
1670
+ ],
1671
+ "evidence_required": "Designated contact details, documentation access procedures",
1672
+ "deadline": "2026-08-02",
1673
+ "frequency": "ongoing",
1674
+ "severity": "high",
1675
+ "automatable": "partial",
1676
+ "cli_check_possible": false,
1677
+ "what_not_to_do": [
1678
+ "Do NOT obstruct regulatory authority inspections or information requests",
1679
+ "Do NOT destroy evidence relevant to compliance investigations"
1680
+ ]
1681
+ },
1682
+ {
1683
+ "obligation_id": "eu-ai-act-OBL-026",
1684
+ "article_reference": "Article 16(a)-(j) / Article 25",
1685
+ "title": "Provider: Maintain AI System Inventory and Traceability",
1686
+ "description": "Provider must ensure each high-risk AI system is traceable: unique identification, type, serial number, provider identity on system or packaging.",
1687
+ "applies_to_role": "provider",
1688
+ "applies_to_risk_level": [
1689
+ "high"
1690
+ ],
1691
+ "obligation_type": "documentation",
1692
+ "what_to_do": [
1693
+ "Assign unique system identifier to each high-risk AI system",
1694
+ "Label system with: provider name, address, contact, system type, serial/version number",
1695
+ "Maintain registry of all systems placed on market with traceability data"
1696
+ ],
1697
+ "evidence_required": "System registry/inventory with unique IDs, labeling evidence, traceability records",
1698
+ "deadline": "2026-08-02",
1699
+ "frequency": "per-system",
1700
+ "severity": "medium",
1701
+ "automatable": "full",
1702
+ "cli_check_possible": true,
1703
+ "cli_check_description": "Check for system version/identifier in package metadata, build configs, or deployment manifests. Verify provider contact info is present.",
1704
+ "what_not_to_do": [
1705
+ "Do NOT lose track of AI system versions, changes, or deployment history",
1706
+ "Do NOT modify systems without updating traceability records"
1707
+ ],
1708
+ "automation_approach": "Scanner checks git history for version tags, CHANGELOG.md, deployment records. Verifies traceability chain: version → changes → deployment date → affected users."
1709
+ },
1710
+ {
1711
+ "obligation_id": "eu-ai-act-OBL-027",
1712
+ "article_reference": "Article 22",
1713
+ "title": "Non-EU Provider: Appoint Authorised Representative in EU",
1714
+ "description": "Providers of high-risk AI established outside the EU must appoint an authorised representative in the EU BEFORE placing the system on market.",
1715
+ "applies_to_role": "provider",
1716
+ "applies_to_risk_level": [
1717
+ "high"
1718
+ ],
1719
+ "obligation_type": "organizational",
1720
+ "what_to_do": [
1721
+ "If provider is not established in EU: identify and appoint an authorised representative (natural or legal person) in the EU",
1722
+ "Execute written mandate defining representative's obligations",
1723
+ "Ensure representative can provide compliance documentation and cooperate with authorities on provider's behalf"
1724
+ ],
1725
+ "evidence_required": "Written mandate with authorised representative, representative contact details, mandate scope documentation",
1726
+ "deadline": "2026-08-02",
1727
+ "frequency": "one-time",
1728
+ "severity": "high",
1729
+ "automatable": "manual",
1730
+ "cli_check_possible": false,
1731
+ "what_not_to_do": [
1732
+ "Do NOT operate high-risk AI in EU market without EU-based authorised representative",
1733
+ "Do NOT appoint a representative without proper mandate documentation"
1734
+ ]
1735
+ },
1736
+ {
1737
+ "obligation_id": "eu-ai-act-OBL-028",
1738
+ "article_reference": "Article 54",
1739
+ "title": "GPAI Non-EU Provider: Appoint Authorised Representative",
1740
+ "description": "GPAI model providers established outside the EU must appoint an authorised representative in the EU before placing the model on market.",
1741
+ "applies_to_role": "provider",
1742
+ "applies_to_risk_level": [
1743
+ "gpai"
1744
+ ],
1745
+ "obligation_type": "organizational",
1746
+ "what_to_do": [
1747
+ "Appoint authorised representative in EU for GPAI compliance",
1748
+ "Written mandate defining scope",
1749
+ "Representative must be able to demonstrate provider compliance"
1750
+ ],
1751
+ "evidence_required": "Written mandate, representative details, mandate scope",
1752
+ "deadline": "2025-08-02",
1753
+ "frequency": "one-time",
1754
+ "severity": "high",
1755
+ "automatable": "manual",
1756
+ "cli_check_possible": false,
1757
+ "what_not_to_do": [
1758
+ "Do NOT provide GPAI models in EU without EU-based authorised representative",
1759
+ "Do NOT appoint a representative without proper mandate for GPAI obligations"
1760
+ ]
1761
+ },
1762
+ {
1763
+ "obligation_id": "eu-ai-act-OBL-029",
1764
+ "article_reference": "Article 25(1)",
1765
+ "title": "Deployer-Becomes-Provider: Assume Provider Obligations When Modifying System",
1766
+ "description": "A deployer becomes a provider if they: (a) put their name/trademark on the high-risk AI, (b) make a substantial modification, or (c) modify the intended purpose to become high-risk.",
1767
+ "applies_to_role": "deployer",
1768
+ "applies_to_risk_level": [
1769
+ "high"
1770
+ ],
1771
+ "obligation_type": "organizational",
1772
+ "what_to_do": [
1773
+ "Assess if any actions make you a provider under Art. 25",
1774
+ "If you rebrand, substantially modify, or change intended purpose of a high-risk AI → you assume full provider obligations",
1775
+ "In such cases: comply with all provider obligations (Art. 16)"
1776
+ ],
1777
+ "evidence_required": "Assessment of whether Art. 25 triggers apply, documentation of any modifications",
1778
+ "deadline": "2026-08-02",
1779
+ "frequency": "per-system",
1780
+ "severity": "high",
1781
+ "automatable": "partial",
1782
+ "cli_check_possible": true,
1783
+ "cli_check_description": "Check if AI model has been fine-tuned or significantly modified from original. Flag if modifications may trigger deployer-to-provider reclassification.",
1784
+ "what_not_to_do": [
1785
+ "Do NOT substantially modify a high-risk AI system and continue using provider's CE marking",
1786
+ "Do NOT avoid provider obligations by calling modifications 'configurations'"
1787
+ ]
1788
+ },
1789
+ {
1790
+ "obligation_id": "eu-ai-act-OBL-030",
1791
+ "article_reference": "Article 85",
1792
+ "title": "Provide Complaint Mechanism for Affected Persons",
1793
+ "description": "Affected persons must have the right to lodge a complaint with a market surveillance authority. Deployers/providers should facilitate this.",
1794
+ "applies_to_role": "both",
1795
+ "applies_to_risk_level": [
1796
+ "high"
1797
+ ],
1798
+ "obligation_type": "organizational",
1799
+ "what_to_do": [
1800
+ "Establish and publish a complaint mechanism for affected persons",
1801
+ "Provide contact information for lodging complaints",
1802
+ "Inform affected persons of their right to complain to market surveillance authority",
1803
+ "Process complaints in a timely manner"
1804
+ ],
1805
+ "evidence_required": "Complaint mechanism documentation, published contact information, complaint log",
1806
+ "deadline": "2026-08-02",
1807
+ "frequency": "ongoing",
1808
+ "severity": "medium",
1809
+ "automatable": "partial",
1810
+ "cli_check_possible": false,
1811
+ "what_not_to_do": [
1812
+ "Do NOT operate without a mechanism for affected persons to lodge complaints",
1813
+ "Do NOT make complaint process unreasonably difficult"
1814
+ ]
1815
+ },
1816
+ {
1817
+ "obligation_id": "eu-ai-act-OBL-031",
1818
+ "article_reference": "Article 26(9)",
1819
+ "title": "Deployer: Inform Provider of Misuse or Non-Compliance",
1820
+ "description": "If a deployer discovers a risk, malfunction, or potential non-compliance of the AI system, they must inform the provider and/or distributor without undue delay.",
1821
+ "applies_to_role": "deployer",
1822
+ "applies_to_risk_level": [
1823
+ "high"
1824
+ ],
1825
+ "obligation_type": "reporting",
1826
+ "what_to_do": [
1827
+ "Establish internal process to detect and escalate AI system issues",
1828
+ "When risk/malfunction detected: notify provider immediately",
1829
+ "Suspend use if system presents risk at national level",
1830
+ "Document all notifications and actions taken"
1831
+ ],
1832
+ "evidence_required": "Issue escalation procedure, notification records to provider, suspension records if applicable",
1833
+ "deadline": "2026-08-02",
1834
+ "frequency": "per-incident",
1835
+ "severity": "high",
1836
+ "automatable": "partial",
1837
+ "cli_check_possible": false,
1838
+ "what_not_to_do": [
1839
+ "Do NOT hide detected misuse or non-compliance from the AI system provider",
1840
+ "Do NOT delay informing provider of risks discovered during deployment"
1841
+ ]
1842
+ },
1843
+ {
1844
+ "obligation_id": "eu-ai-act-OBL-032",
1845
+ "article_reference": "Article 53(2) / Article 56",
1846
+ "title": "GPAI Open-Source: Reduced Documentation (with Conditions)",
1847
+ "description": "Open-source GPAI models have reduced documentation requirements IF parameters/weights are publicly available. Does NOT exempt from systemic risk obligations or copyright compliance.",
1848
+ "applies_to_role": "provider",
1849
+ "applies_to_risk_level": [
1850
+ "gpai"
1851
+ ],
1852
+ "obligation_type": "documentation",
1853
+ "what_to_do": [
1854
+ "If model is open-source (publicly available parameters/weights): reduced Annex XI requirements apply",
1855
+ "STILL MUST: publish training data summary (Art. 53(1)(d)), comply with copyright (Art. 53(1)(c))",
1856
+ "If open-source + systemic risk: FULL Art. 55 obligations apply regardless of open-source status",
1857
+ "Document open-source status and reduced obligations rationale"
1858
+ ],
1859
+ "evidence_required": "Open-source license, public model repository, training data summary, copyright compliance policy, systemic risk assessment (if applicable)",
1860
+ "deadline": "2025-08-02",
1861
+ "frequency": "per-model",
1862
+ "severity": "medium",
1863
+ "automatable": "partial",
1864
+ "cli_check_possible": true,
1865
+ "cli_check_description": "Check for open-source license file, public model weights distribution, verify training data summary still exists even for open-source models.",
1866
+ "what_not_to_do": [
1867
+ "Do NOT claim open-source documentation exemption if model has systemic risk classification",
1868
+ "Do NOT omit safety-relevant information from open-source model documentation"
1869
+ ]
1870
+ },
1871
+ {
1872
+ "obligation_id": "eu-ai-act-OBL-011c",
1873
+ "parent_obligation": "eu-ai-act-OBL-011",
1874
+ "article_reference": "Article 26(5)",
1875
+ "article_text_original": "Where the deployer has reasons to consider that the use of the high-risk AI system in accordance with the instructions may result in that AI system presenting a risk, it shall without undue delay inform the provider or distributor and the relevant market surveillance authority and shall suspend the use of that system.",
1876
+ "article_text_en": "Deployer must suspend high-risk AI system if risk is identified and notify provider and market surveillance authority without undue delay.",
1877
+ "title": "Deployer: Suspend System on Risk and Notify Provider",
1878
+ "description": "If a deployer identifies that using a high-risk AI system may present a risk to health, safety, or fundamental rights, they must immediately suspend use, inform the provider/distributor, and notify the relevant market surveillance authority.",
1879
+ "applies_to_role": "deployer",
1880
+ "applies_to_risk_level": [
1881
+ "high"
1882
+ ],
1883
+ "applies_to_use_cases": [
1884
+ "all high-risk"
1885
+ ],
1886
+ "obligation_type": "monitoring",
1887
+ "what_to_do": [
1888
+ "Implement internal process for risk identification during AI system use",
1889
+ "Define clear criteria for when system use should be suspended",
1890
+ "Create notification template for provider and market surveillance authority",
1891
+ "Document every suspension decision with rationale and timeline",
1892
+ "Do not resume use until provider confirms risk is mitigated"
1893
+ ],
1894
+ "what_not_to_do": [
1895
+ "Do NOT continue using a high-risk AI system when a risk has been identified",
1896
+ "Do NOT delay notification to provider or authorities",
1897
+ "Do NOT resume system use without documented risk resolution"
1898
+ ],
1899
+ "evidence_required": "Suspension log, provider notification records, market surveillance authority correspondence, risk resolution documentation",
1900
+ "deadline": "2026-08-02",
1901
+ "frequency": "per-incident",
1902
+ "penalty_for_non_compliance": "Up to €15,000,000 or 3% of global annual turnover",
1903
+ "severity": "critical",
1904
+ "severity_reasoning": "Continued use of a risky AI system can cause direct harm to individuals and exposes deployer to maximum penalties.",
1905
+ "automatable": "partial",
1906
+ "automation_approach": "Scanner checks for: incident response config files, suspension procedures in documentation, provider notification endpoints in code. Auto-generate suspension log template.",
1907
+ "cross_regulation_mapping": {},
1908
+ "document_template_needed": true,
1909
+ "document_template_type": "incident-response",
1910
+ "sdk_feature_needed": true,
1911
+ "sdk_feature_type": "monitoring",
1912
+ "cli_check_possible": true,
1913
+ "cli_check_description": "Check for incident response documentation, suspension procedure configs, provider notification mechanism in codebase."
1914
+ },
1915
+ {
1916
+ "obligation_id": "eu-ai-act-OBL-011d",
1917
+ "parent_obligation": "eu-ai-act-OBL-011",
1918
+ "article_reference": "Article 26(6)",
1919
+ "article_text_original": "Deployers of high-risk AI systems shall keep the logs automatically generated by that high-risk AI system to the extent such logs are under their control, for a period appropriate to the intended purpose of the high-risk AI system, of at least six months.",
1920
+ "article_text_en": "Deployers must retain automatically generated logs from high-risk AI systems for at least 6 months.",
1921
+ "title": "Deployer: Retain AI System Logs for Minimum 6 Months",
1922
+ "description": "Deployers of high-risk AI systems are required to keep all automatically generated logs for at least 6 months, or longer if required by sector-specific regulation. Logs must be accessible for inspection by authorities.",
1923
+ "applies_to_role": "deployer",
1924
+ "applies_to_risk_level": [
1925
+ "high"
1926
+ ],
1927
+ "applies_to_use_cases": [
1928
+ "all high-risk"
1929
+ ],
1930
+ "obligation_type": "technical",
1931
+ "what_to_do": [
1932
+ "Configure log storage with minimum 6-month retention policy",
1933
+ "Ensure logs are stored securely with access controls",
1934
+ "Verify log format is compatible with authority inspection requirements",
1935
+ "Document log retention policy including storage location and access procedures",
1936
+ "Test log retrieval process periodically"
1937
+ ],
1938
+ "what_not_to_do": [
1939
+ "Do NOT set log rotation/deletion shorter than 6 months",
1940
+ "Do NOT store logs without access controls or encryption",
1941
+ "Do NOT discard logs upon system upgrade or migration without backup"
1942
+ ],
1943
+ "evidence_required": "Log retention configuration, storage policy document, sample log access demonstration, retention period verification",
1944
+ "deadline": "2026-08-02",
1945
+ "frequency": "ongoing",
1946
+ "penalty_for_non_compliance": "Up to €15,000,000 or 3% of global annual turnover",
1947
+ "severity": "high",
1948
+ "severity_reasoning": "Logs are primary evidence for compliance audits and incident investigations. Without logs, deployer cannot demonstrate compliance.",
1949
+ "automatable": "full",
1950
+ "automation_approach": "Scanner checks log retention configuration in deployment configs (Docker, K8s, cloud provider settings). Verify retention >= 180 days. Check for log rotation policies that may prematurely delete.",
1951
+ "cross_regulation_mapping": {},
1952
+ "document_template_needed": false,
1953
+ "document_template_type": null,
1954
+ "sdk_feature_needed": false,
1955
+ "sdk_feature_type": null,
1956
+ "cli_check_possible": true,
1957
+ "cli_check_description": "Check deployment configs for log retention >= 180 days. Scan for log rotation settings. Verify log storage configuration."
1958
+ },
1959
+ {
1960
+ "obligation_id": "eu-ai-act-OBL-011e",
1961
+ "parent_obligation": "eu-ai-act-OBL-011",
1962
+ "article_reference": "Article 26(1)",
1963
+ "article_text_original": "Deployers of high-risk AI systems shall take appropriate technical and organisational measures to ensure they use such systems in accordance with the instructions for use accompanying the systems.",
1964
+ "article_text_en": "Deployers must verify they have received and follow the provider's instructions for use.",
1965
+ "title": "Deployer: Verify and Follow Provider Instructions for Use",
1966
+ "description": "Before deploying a high-risk AI system, the deployer must obtain the provider's instructions for use and ensure the system is operated strictly according to these instructions. Any deviation must be documented and risk-assessed.",
1967
+ "applies_to_role": "deployer",
1968
+ "applies_to_risk_level": [
1969
+ "high"
1970
+ ],
1971
+ "applies_to_use_cases": [
1972
+ "all high-risk"
1973
+ ],
1974
+ "obligation_type": "organizational",
1975
+ "what_to_do": [
1976
+ "Obtain and archive provider's instructions for use before deployment",
1977
+ "Train operators on instructions specific to each AI system",
1978
+ "Document any configuration choices or deviations from default instructions",
1979
+ "Periodically verify system is still being used per instructions",
1980
+ "Request updated instructions from provider when system is updated"
1981
+ ],
1982
+ "what_not_to_do": [
1983
+ "Do NOT deploy a high-risk AI system without reading instructions for use",
1984
+ "Do NOT modify system configuration beyond what instructions permit without provider consultation",
1985
+ "Do NOT ignore provider-specified limitations or contraindications"
1986
+ ],
1987
+ "evidence_required": "Archived instructions for use, operator training records, deviation log (if any), periodic compliance check records",
1988
+ "deadline": "2026-08-02",
1989
+ "frequency": "per-system",
1990
+ "penalty_for_non_compliance": "Up to €15,000,000 or 3% of global annual turnover",
1991
+ "severity": "high",
1992
+ "severity_reasoning": "Operating a high-risk AI system contrary to instructions transfers liability to deployer and undermines all provider safety measures.",
1993
+ "automatable": "partial",
1994
+ "automation_approach": "Scanner checks for: presence of vendor documentation folder, README references to provider instructions, configuration files matching provider defaults. Cannot verify behavioral compliance automatically.",
1995
+ "cross_regulation_mapping": {},
1996
+ "document_template_needed": true,
1997
+ "document_template_type": "policy",
1998
+ "sdk_feature_needed": false,
1999
+ "sdk_feature_type": null,
2000
+ "cli_check_possible": true,
2001
+ "cli_check_description": "Check for vendor documentation directory, provider instruction files (PDF/MD), configuration documentation."
2002
+ },
2003
+ {
2004
+ "obligation_id": "eu-ai-act-OBL-013a",
2005
+ "parent_obligation": "eu-ai-act-OBL-013",
2006
+ "article_reference": "Article 27(4)",
2007
+ "article_text_original": "If any of the obligations referred to in paragraph 1 is already met through the data protection impact assessment conducted pursuant to Article 35 of Regulation (EU) 2016/679, the fundamental rights impact assessment referred to in paragraph 1 shall complement that data protection impact assessment.",
2008
+ "article_text_en": "FRIA must complement existing GDPR DPIA rather than duplicating it.",
2009
+ "title": "FRIA: Align with Existing GDPR DPIA",
2010
+ "description": "When a GDPR Data Protection Impact Assessment already exists for the same AI system, the Fundamental Rights Impact Assessment should complement it rather than duplicate. Cross-reference DPIA findings and extend to cover fundamental rights not addressed by GDPR.",
2011
+ "applies_to_role": "deployer",
2012
+ "applies_to_risk_level": [
2013
+ "high"
2014
+ ],
2015
+ "applies_to_use_cases": [
2016
+ "public sector deployers",
2017
+ "credit scoring",
2018
+ "insurance",
2019
+ "HR screening"
2020
+ ],
2021
+ "obligation_type": "assessment",
2022
+ "what_to_do": [
2023
+ "Check if GDPR DPIA exists for the AI system",
2024
+ "Cross-reference DPIA findings in FRIA document",
2025
+ "Extend FRIA to cover fundamental rights beyond data protection (dignity, non-discrimination, expression, etc.)",
2026
+ "Ensure consistent risk ratings between DPIA and FRIA",
2027
+ "Submit FRIA to market surveillance authority as required"
2028
+ ],
2029
+ "what_not_to_do": [
2030
+ "Do NOT assume GDPR DPIA alone satisfies FRIA requirements",
2031
+ "Do NOT contradict DPIA findings in FRIA without explanation",
2032
+ "Do NOT omit non-data-protection fundamental rights from FRIA"
2033
+ ],
2034
+ "evidence_required": "FRIA document with DPIA cross-reference, both documents available for audit, market surveillance authority submission receipt",
2035
+ "deadline": "2026-08-02",
2036
+ "frequency": "per-system",
2037
+ "penalty_for_non_compliance": "Up to €15,000,000 or 3% of global annual turnover",
2038
+ "severity": "high",
2039
+ "severity_reasoning": "Incomplete FRIA that ignores existing DPIA creates audit risk and demonstrates poor governance maturity.",
2040
+ "automatable": "partial",
2041
+ "automation_approach": "Scanner checks for: DPIA document presence, FRIA document presence, cross-references between them. Template auto-generates FRIA sections that complement DPIA.",
2042
+ "cross_regulation_mapping": {},
2043
+ "document_template_needed": true,
2044
+ "document_template_type": "FRIA",
2045
+ "sdk_feature_needed": false,
2046
+ "sdk_feature_type": null,
2047
+ "cli_check_possible": true,
2048
+ "cli_check_description": "Check for DPIA and FRIA documents. Verify FRIA references DPIA. Check for fundamental rights assessment sections."
2049
+ },
2050
+ {
2051
+ "obligation_id": "eu-ai-act-OBL-012a",
2052
+ "parent_obligation": "eu-ai-act-OBL-012",
2053
+ "article_reference": "Article 26(7)",
2054
+ "article_text_original": "Before putting into service or using a high-risk AI system at the workplace, deployers who are employers shall inform workers' representatives and the affected workers that they will be subject to the use of the high-risk AI system.",
2055
+ "article_text_en": "Employers must inform workers' representatives AND affected workers before deploying high-risk AI in the workplace.",
2056
+ "title": "Worker Notification: Inform Both Representatives and Individual Workers",
2057
+ "description": "Before deploying high-risk AI in the workplace, the employer must notify both workers' representatives (works council, union) AND the individual workers who will be affected. Notification must happen BEFORE deployment, not after.",
2058
+ "applies_to_role": "deployer",
2059
+ "applies_to_risk_level": [
2060
+ "high"
2061
+ ],
2062
+ "applies_to_use_cases": [
2063
+ "workplace AI",
2064
+ "HR AI",
2065
+ "employee monitoring",
2066
+ "performance evaluation"
2067
+ ],
2068
+ "obligation_type": "transparency",
2069
+ "what_to_do": [
2070
+ "Identify all workers who will be subject to the high-risk AI system",
2071
+ "Notify workers' representatives (works council/union) in writing before deployment",
2072
+ "Notify individual affected workers in writing before deployment",
2073
+ "Include: system name, purpose, how it affects workers, their rights, contact for questions",
2074
+ "Keep signed acknowledgments as evidence"
2075
+ ],
2076
+ "what_not_to_do": [
2077
+ "Do NOT deploy workplace AI before notification is complete",
2078
+ "Do NOT notify only management — individual workers must be informed",
2079
+ "Do NOT use generic company-wide announcements instead of specific notification to affected workers"
2080
+ ],
2081
+ "evidence_required": "Worker notification letters with acknowledgment signatures, works council consultation record, timeline showing notification preceded deployment",
2082
+ "deadline": "2026-08-02",
2083
+ "frequency": "per-system",
2084
+ "penalty_for_non_compliance": "Up to €15,000,000 or 3% of global annual turnover",
2085
+ "severity": "high",
2086
+ "severity_reasoning": "Worker notification is a visible, testable obligation. Works councils in Germany can block deployment. Non-notification creates immediate legal exposure.",
2087
+ "automatable": "partial",
2088
+ "automation_approach": "Scanner checks for: worker notification template in project docs, works council consultation documentation, deployment checklist referencing notification step.",
2089
+ "cross_regulation_mapping": {},
2090
+ "document_template_needed": true,
2091
+ "document_template_type": "notice",
2092
+ "sdk_feature_needed": false,
2093
+ "sdk_feature_type": null,
2094
+ "cli_check_possible": false,
2095
+ "cli_check_description": null
2096
+ },
2097
+ {
2098
+ "obligation_id": "eu-ai-act-OBL-033",
2099
+ "article_reference": "Article 6(2)-(3)",
2100
+ "article_text_original": "",
2101
+ "article_text_en": "",
2102
+ "title": "Assess High-Risk Classification of AI System",
2103
+ "description": "Providers must formally assess whether their AI system qualifies as high-risk under Annex III. Art. 6(3) provides exceptions when AI does not pose significant risk — but this must be documented and justified.",
2104
+ "applies_to_role": "provider",
2105
+ "applies_to_risk_level": [
2106
+ "all"
2107
+ ],
2108
+ "applies_to_use_cases": [
2109
+ "all"
2110
+ ],
2111
+ "obligation_type": "assessment",
2112
+ "what_to_do": [
2113
+ "Conduct formal risk classification assessment for each AI system",
2114
+ "Evaluate against all 8 Annex III categories and Annex II product list",
2115
+ "If claiming Art. 6(3) exception: document reasons why system does not pose significant risk",
2116
+ "Register non-high-risk assessment in internal records",
2117
+ "Re-assess upon any significant system modification"
2118
+ ],
2119
+ "what_not_to_do": [
2120
+ "Do NOT assume your AI is not high-risk without formal assessment",
2121
+ "Do NOT claim Art. 6(3) exception without documented justification",
2122
+ "Do NOT skip re-assessment when system is modified"
2123
+ ],
2124
+ "evidence_required": "Risk classification document, Annex III mapping, Art. 6(3) exception justification (if claimed)",
2125
+ "deadline": "2026-08-02",
2126
+ "frequency": "per-system",
2127
+ "penalty_for_non_compliance": "Up to €15,000,000 or 3% of global annual turnover",
2128
+ "severity": "high",
2129
+ "severity_reasoning": "Incorrect classification = missing all high-risk obligations.",
2130
+ "automatable": "partial",
2131
+ "automation_approach": "Scanner checks for RISK-CLASSIFICATION.md or risk-classification.* document with Annex III evaluation.",
2132
+ "cross_regulation_mapping": {},
2133
+ "document_template_needed": true,
2134
+ "document_template_type": "assessment",
2135
+ "sdk_feature_needed": false,
2136
+ "sdk_feature_type": null,
2137
+ "cli_check_possible": true,
2138
+ "cli_check_description": "Check for risk classification documentation against Annex III categories."
2139
+ },
2140
+ {
2141
+ "obligation_id": "eu-ai-act-OBL-033a",
2142
+ "article_reference": "Article 6(3)-(4)",
2143
+ "article_text_original": "",
2144
+ "article_text_en": "",
2145
+ "title": "Document Art. 6(3) Non-High-Risk Exception",
2146
+ "description": "If provider determines Annex III system is NOT high-risk under Art. 6(3), they must document this and notify national authority before market placement.",
2147
+ "applies_to_role": "provider",
2148
+ "applies_to_risk_level": [
2149
+ "limited",
2150
+ "minimal"
2151
+ ],
2152
+ "applies_to_use_cases": [
2153
+ "all Annex III edge cases"
2154
+ ],
2155
+ "obligation_type": "documentation",
2156
+ "what_to_do": [
2157
+ "Document why system does not pose significant risk",
2158
+ "Describe specific Art. 6(3) conditions met",
2159
+ "Notify national competent authority before market placement",
2160
+ "Keep documentation updated"
2161
+ ],
2162
+ "what_not_to_do": [
2163
+ "Do NOT rely on exception without written justification",
2164
+ "Do NOT skip authority notification",
2165
+ "Do NOT use exception for systems significantly affecting individuals"
2166
+ ],
2167
+ "evidence_required": "Art. 6(3) assessment, authority notification receipt",
2168
+ "deadline": "2026-08-02",
2169
+ "frequency": "per-system",
2170
+ "penalty_for_non_compliance": "Up to €15,000,000 or 3% of global annual turnover",
2171
+ "severity": "high",
2172
+ "severity_reasoning": "Claiming exception without documentation is a violation.",
2173
+ "automatable": "partial",
2174
+ "automation_approach": "Scanner checks for Art. 6(3) exception documentation.",
2175
+ "cross_regulation_mapping": {},
2176
+ "document_template_needed": true,
2177
+ "document_template_type": "assessment",
2178
+ "sdk_feature_needed": false,
2179
+ "sdk_feature_type": null,
2180
+ "cli_check_possible": true,
2181
+ "cli_check_description": "Check for Art. 6(3) exception documentation and authority notification.",
2182
+ "parent_obligation": "eu-ai-act-OBL-033"
2183
+ },
2184
+ {
2185
+ "obligation_id": "eu-ai-act-OBL-034",
2186
+ "article_reference": "Article 16",
2187
+ "article_text_original": "",
2188
+ "article_text_en": "",
2189
+ "title": "Provider: Master Compliance Checklist for High-Risk AI",
2190
+ "description": "Article 16 lists 11 core obligations for providers of high-risk AI. This is the comprehensive checklist: risk management, data governance, documentation, logging, transparency, oversight, accuracy, QMS, conformity, registration, corrective actions.",
2191
+ "applies_to_role": "provider",
2192
+ "applies_to_risk_level": [
2193
+ "high"
2194
+ ],
2195
+ "applies_to_use_cases": [
2196
+ "all high-risk"
2197
+ ],
2198
+ "obligation_type": "organizational",
2199
+ "what_to_do": [
2200
+ "Ensure compliance with all Section 2 requirements (Art. 9-15)",
2201
+ "Maintain quality management system (Art. 17)",
2202
+ "Keep technical documentation (Art. 11/Annex IV)",
2203
+ "Keep automatically generated logs (Art. 12/19)",
2204
+ "Ensure conformity assessment before market placement (Art. 43)",
2205
+ "Register system in EU database (Art. 49)",
2206
+ "Take corrective actions when non-compliant (Art. 20)",
2207
+ "Affix CE marking (Art. 48)",
2208
+ "Draw up EU Declaration of Conformity (Art. 47)",
2209
+ "Cooperate with competent authorities",
2210
+ "Demonstrate conformity upon reasoned request"
2211
+ ],
2212
+ "what_not_to_do": [
2213
+ "Do NOT place high-risk AI on market without completing ALL Art. 16 obligations",
2214
+ "Do NOT treat any sub-obligation as optional",
2215
+ "Do NOT self-certify when third-party assessment is required"
2216
+ ],
2217
+ "evidence_required": "Complete compliance file: technical documentation, conformity certificate, CE marking, EU Declaration, QMS, logs, registration",
2218
+ "deadline": "2026-08-02",
2219
+ "frequency": "per-system",
2220
+ "penalty_for_non_compliance": "Up to €15,000,000 or 3% of global annual turnover",
2221
+ "severity": "critical",
2222
+ "severity_reasoning": "Master provider obligation. Non-compliance with any sub-item is a violation.",
2223
+ "automatable": "partial",
2224
+ "automation_approach": "Scanner runs full high-risk provider compliance check across all Art. 9-17 requirements.",
2225
+ "cross_regulation_mapping": {},
2226
+ "document_template_needed": true,
2227
+ "document_template_type": "report",
2228
+ "sdk_feature_needed": false,
2229
+ "sdk_feature_type": null,
2230
+ "cli_check_possible": true,
2231
+ "cli_check_description": "Run comprehensive high-risk provider compliance check."
2232
+ },
2233
+ {
2234
+ "obligation_id": "eu-ai-act-OBL-010a",
2235
+ "article_reference": "Article 17(1)",
2236
+ "article_text_original": "",
2237
+ "article_text_en": "",
2238
+ "title": "QMS: Document All Required Procedures",
2239
+ "description": "Art. 17 specifies QMS must contain: compliance strategy, design/development procedures, quality control, test/validation procedures, technical standards, data management, risk management references, post-market monitoring, incident reporting, communication with authorities.",
2240
+ "applies_to_role": "provider",
2241
+ "applies_to_risk_level": [
2242
+ "high"
2243
+ ],
2244
+ "applies_to_use_cases": [
2245
+ "all high-risk"
2246
+ ],
2247
+ "obligation_type": "organizational",
2248
+ "what_to_do": [
2249
+ "Document regulatory compliance strategy",
2250
+ "Define design and development procedures",
2251
+ "Define quality control and assurance procedures",
2252
+ "Define test and validation procedures",
2253
+ "Specify technical standards applied",
2254
+ "Document data management procedures",
2255
+ "Document resource management and accountability",
2256
+ "Include all Art. 17(1)(a)-(l) sections"
2257
+ ],
2258
+ "what_not_to_do": [
2259
+ "Do NOT have QMS without concrete procedures",
2260
+ "Do NOT treat QMS as one-time document — maintain continuously"
2261
+ ],
2262
+ "evidence_required": "QMS document with all Art. 17(1)(a)-(l) sections, implementation evidence",
2263
+ "deadline": "2026-08-02",
2264
+ "frequency": "per-system",
2265
+ "penalty_for_non_compliance": "Up to €15,000,000 or 3% of global annual turnover",
2266
+ "severity": "high",
2267
+ "severity_reasoning": "QMS is auditable. Missing sections = non-compliance.",
2268
+ "automatable": "partial",
2269
+ "automation_approach": "Scanner checks QMS documentation for all Art. 17(1) required sections.",
2270
+ "cross_regulation_mapping": {},
2271
+ "document_template_needed": true,
2272
+ "document_template_type": "policy",
2273
+ "sdk_feature_needed": false,
2274
+ "sdk_feature_type": null,
2275
+ "cli_check_possible": true,
2276
+ "cli_check_description": "Check QMS document structure against Art. 17(1)(a)-(l) checklist.",
2277
+ "parent_obligation": "eu-ai-act-OBL-010"
2278
+ },
2279
+ {
2280
+ "obligation_id": "eu-ai-act-OBL-035",
2281
+ "article_reference": "Article 23",
2282
+ "article_text_original": "",
2283
+ "article_text_en": "",
2284
+ "title": "Provide Information to Authorities Upon Reasoned Request",
2285
+ "description": "Providers and deployers must respond to authority requests with all necessary conformity documentation in official EU language. Refusal is a separate violation.",
2286
+ "applies_to_role": "both",
2287
+ "applies_to_risk_level": [
2288
+ "all"
2289
+ ],
2290
+ "applies_to_use_cases": [
2291
+ "all"
2292
+ ],
2293
+ "obligation_type": "reporting",
2294
+ "what_to_do": [
2295
+ "Maintain compliance documentation ready for inspection",
2296
+ "Respond to authority requests within reasonable timeframe",
2297
+ "Provide in official EU language as requested",
2298
+ "Designate internal contact for regulatory inquiries",
2299
+ "Keep all compliance records accessible and organized"
2300
+ ],
2301
+ "what_not_to_do": [
2302
+ "Do NOT refuse or delay responding to authority requests",
2303
+ "Do NOT provide incomplete or misleading information",
2304
+ "Do NOT destroy records that may be requested"
2305
+ ],
2306
+ "evidence_required": "Internal procedure for authority requests, designated contact, compliance file ready",
2307
+ "deadline": "2025-08-02",
2308
+ "frequency": "per-incident",
2309
+ "penalty_for_non_compliance": "Up to €7,500,000 or 1% of global annual turnover",
2310
+ "severity": "high",
2311
+ "severity_reasoning": "Non-cooperation escalates enforcement action.",
2312
+ "automatable": "partial",
2313
+ "automation_approach": "Scanner checks for regulatory contact info and organized compliance documentation.",
2314
+ "cross_regulation_mapping": {},
2315
+ "document_template_needed": false,
2316
+ "document_template_type": null,
2317
+ "sdk_feature_needed": false,
2318
+ "sdk_feature_type": null,
2319
+ "cli_check_possible": true,
2320
+ "cli_check_description": "Check for designated regulatory contact and compliance file organization."
2321
+ },
2322
+ {
2323
+ "obligation_id": "eu-ai-act-OBL-036",
2324
+ "article_reference": "Article 25(1)",
2325
+ "article_text_original": "",
2326
+ "article_text_en": "",
2327
+ "title": "Recognize When You Become a Provider (Value Chain Liability)",
2328
+ "description": "Any party becomes a provider (and assumes ALL provider obligations) if they: (a) rebrand high-risk AI under their name, (b) substantially modify it, or (c) change its intended purpose to make it high-risk. Common trap for companies customizing third-party AI.",
2329
+ "applies_to_role": "both",
2330
+ "applies_to_risk_level": [
2331
+ "high"
2332
+ ],
2333
+ "applies_to_use_cases": [
2334
+ "all high-risk"
2335
+ ],
2336
+ "obligation_type": "organizational",
2337
+ "what_to_do": [
2338
+ "Assess whether modifications trigger provider status under Art. 25",
2339
+ "Document modification scope assessment for each AI system",
2340
+ "If triggered: assume all Art. 16 provider obligations",
2341
+ "If rebranding/white-labeling: assume provider obligations",
2342
+ "If changing intended purpose: re-classify risk level"
2343
+ ],
2344
+ "what_not_to_do": [
2345
+ "Do NOT rebrand third-party high-risk AI without assuming provider obligations",
2346
+ "Do NOT substantially modify and keep using original CE marking",
2347
+ "Do NOT change intended purpose without re-classification"
2348
+ ],
2349
+ "evidence_required": "Art. 25 assessment per system, modification log, re-classification record",
2350
+ "deadline": "2026-08-02",
2351
+ "frequency": "per-system",
2352
+ "penalty_for_non_compliance": "Up to €15,000,000 or 3% of global annual turnover",
2353
+ "severity": "high",
2354
+ "severity_reasoning": "Unknowingly becoming provider without meeting obligations is a common trap.",
2355
+ "automatable": "partial",
2356
+ "automation_approach": "Scanner checks for: fine-tuning scripts, custom training, white-label config, intended purpose documentation.",
2357
+ "cross_regulation_mapping": {},
2358
+ "document_template_needed": false,
2359
+ "document_template_type": null,
2360
+ "sdk_feature_needed": false,
2361
+ "sdk_feature_type": null,
2362
+ "cli_check_possible": true,
2363
+ "cli_check_description": "Check for substantial modifications to third-party AI."
2364
+ },
2365
+ {
2366
+ "obligation_id": "eu-ai-act-OBL-037",
2367
+ "article_reference": "Article 48",
2368
+ "article_text_original": "",
2369
+ "article_text_en": "",
2370
+ "title": "Affix CE Marking to High-Risk AI System",
2371
+ "description": "Providers must affix CE marking to high-risk AI before market placement. For software: include in UI, documentation, or packaging. Include notified body number if third-party assessment was used.",
2372
+ "applies_to_role": "provider",
2373
+ "applies_to_risk_level": [
2374
+ "high"
2375
+ ],
2376
+ "applies_to_use_cases": [
2377
+ "all high-risk"
2378
+ ],
2379
+ "obligation_type": "technical",
2380
+ "what_to_do": [
2381
+ "Add CE marking to system UI or documentation",
2382
+ "Ensure CE marking is visible and legible",
2383
+ "Include notified body number if applicable",
2384
+ "Affix before market placement"
2385
+ ],
2386
+ "what_not_to_do": [
2387
+ "Do NOT place on market without CE marking",
2388
+ "Do NOT affix CE without completed conformity assessment",
2389
+ "Do NOT use CE marking on non-high-risk systems (misleading)"
2390
+ ],
2391
+ "evidence_required": "CE marking visible on system/docs/packaging, link to EU Declaration",
2392
+ "deadline": "2026-08-02",
2393
+ "frequency": "per-system",
2394
+ "penalty_for_non_compliance": "Up to €15,000,000 or 3% of global annual turnover",
2395
+ "severity": "high",
2396
+ "severity_reasoning": "CE marking is the visible compliance symbol. Missing = immediately detectable.",
2397
+ "automatable": "full",
2398
+ "automation_approach": "Scanner checks for CE marking reference in UI, README, docs, package metadata.",
2399
+ "cross_regulation_mapping": {},
2400
+ "document_template_needed": false,
2401
+ "document_template_type": null,
2402
+ "sdk_feature_needed": false,
2403
+ "sdk_feature_type": null,
2404
+ "cli_check_possible": true,
2405
+ "cli_check_description": "Check for CE marking reference in UI, documentation, and package metadata."
2406
+ },
2407
+ {
2408
+ "obligation_id": "eu-ai-act-OBL-014a",
2409
+ "article_reference": "Article 49(1)-(3)",
2410
+ "article_text_original": "",
2411
+ "article_text_en": "",
2412
+ "title": "Register Self and System in EU Database Before Deployment",
2413
+ "description": "Providers must register both themselves and each high-risk AI system in EU database BEFORE market placement. Deployers in public sector or certain private uses must also register.",
2414
+ "applies_to_role": "both",
2415
+ "applies_to_risk_level": [
2416
+ "high"
2417
+ ],
2418
+ "applies_to_use_cases": [
2419
+ "all high-risk",
2420
+ "public sector deployers"
2421
+ ],
2422
+ "obligation_type": "registration",
2423
+ "what_to_do": [
2424
+ "Register as entity in EU database (Art. 71)",
2425
+ "Register each high-risk AI system with required info",
2426
+ "Complete registration BEFORE market placement",
2427
+ "Update registration when system is modified",
2428
+ "Include all Art. 71(2)-(4) information"
2429
+ ],
2430
+ "what_not_to_do": [
2431
+ "Do NOT deploy without prior database registration",
2432
+ "Do NOT provide false registration data",
2433
+ "Do NOT omit updates from registration"
2434
+ ],
2435
+ "evidence_required": "Registration confirmation, registration number, date preceding deployment",
2436
+ "deadline": "2026-08-02",
2437
+ "frequency": "per-system",
2438
+ "penalty_for_non_compliance": "Up to €7,500,000 or 1% of global annual turnover",
2439
+ "severity": "high",
2440
+ "severity_reasoning": "Registration is prerequisite for legal market placement.",
2441
+ "automatable": "partial",
2442
+ "automation_approach": "Scanner checks for EU database registration reference in metadata.",
2443
+ "cross_regulation_mapping": {},
2444
+ "document_template_needed": true,
2445
+ "document_template_type": "registration",
2446
+ "sdk_feature_needed": false,
2447
+ "sdk_feature_type": null,
2448
+ "cli_check_possible": true,
2449
+ "cli_check_description": "Check for EU database registration ID.",
2450
+ "parent_obligation": "eu-ai-act-OBL-014"
2451
+ },
2452
+ {
2453
+ "obligation_id": "eu-ai-act-OBL-020b",
2454
+ "article_reference": "Article 72(1)-(3)",
2455
+ "article_text_original": "",
2456
+ "article_text_en": "",
2457
+ "title": "Post-Market Monitoring: Active Systematic Data Collection",
2458
+ "description": "Post-market monitoring must be ACTIVE and SYSTEMATIC — not passive. Requires defined data collection methods, analysis schedule, corrective action triggers.",
2459
+ "applies_to_role": "provider",
2460
+ "applies_to_risk_level": [
2461
+ "high"
2462
+ ],
2463
+ "applies_to_use_cases": [
2464
+ "all high-risk"
2465
+ ],
2466
+ "obligation_type": "monitoring",
2467
+ "what_to_do": [
2468
+ "Define active data collection methods (feedback, metrics, complaints)",
2469
+ "Establish systematic analysis schedule",
2470
+ "Define indicators triggering corrective actions",
2471
+ "Document plan proportionate to risk",
2472
+ "Integrate with incident reporting (Art. 73)"
2473
+ ],
2474
+ "what_not_to_do": [
2475
+ "Do NOT rely on passive monitoring (waiting for complaints)",
2476
+ "Do NOT analyze data ad-hoc only",
2477
+ "Do NOT ignore negative trends"
2478
+ ],
2479
+ "evidence_required": "Post-market monitoring plan, collection records, analysis reports",
2480
+ "deadline": "2026-08-02",
2481
+ "frequency": "ongoing",
2482
+ "penalty_for_non_compliance": "Up to €15,000,000 or 3% of global annual turnover",
2483
+ "severity": "high",
2484
+ "severity_reasoning": "Active monitoring is legally distinct from passive. Regulators will check.",
2485
+ "automatable": "partial",
2486
+ "automation_approach": "Scanner checks for monitoring config, data pipelines, analysis schedule.",
2487
+ "cross_regulation_mapping": {},
2488
+ "document_template_needed": false,
2489
+ "document_template_type": null,
2490
+ "sdk_feature_needed": false,
2491
+ "sdk_feature_type": null,
2492
+ "cli_check_possible": true,
2493
+ "cli_check_description": "Check for post-market monitoring with active data collection.",
2494
+ "parent_obligation": "eu-ai-act-OBL-020"
2495
+ },
2496
+ {
2497
+ "obligation_id": "eu-ai-act-OBL-030a",
2498
+ "article_reference": "Article 85",
2499
+ "article_text_original": "",
2500
+ "article_text_en": "",
2501
+ "title": "Inform Affected Persons of Right to Complaint to Authorities",
2502
+ "description": "Operators must inform individuals they have the right to lodge complaints with market surveillance authorities about AI Act violations. Separate from operator's own complaint mechanism.",
2503
+ "applies_to_role": "both",
2504
+ "applies_to_risk_level": [
2505
+ "high",
2506
+ "limited"
2507
+ ],
2508
+ "applies_to_use_cases": [
2509
+ "all"
2510
+ ],
2511
+ "obligation_type": "transparency",
2512
+ "what_to_do": [
2513
+ "Include complaint rights info in user documentation",
2514
+ "Provide market surveillance authority contacts",
2515
+ "Ensure process is accessible and understandable",
2516
+ "Do not create barriers to complaints"
2517
+ ],
2518
+ "what_not_to_do": [
2519
+ "Do NOT hide complaint rights in fine print",
2520
+ "Do NOT make process unreasonably difficult",
2521
+ "Do NOT retaliate against complainants"
2522
+ ],
2523
+ "evidence_required": "User documentation with complaint rights, authority contacts",
2524
+ "deadline": "2026-08-02",
2525
+ "frequency": "ongoing",
2526
+ "penalty_for_non_compliance": "Up to €15,000,000 or 3% of global annual turnover",
2527
+ "severity": "medium",
2528
+ "severity_reasoning": "Right to complaint is fundamental for enforcement.",
2529
+ "automatable": "partial",
2530
+ "automation_approach": "Scanner checks for complaint rights in user documentation.",
2531
+ "cross_regulation_mapping": {},
2532
+ "document_template_needed": false,
2533
+ "document_template_type": null,
2534
+ "sdk_feature_needed": false,
2535
+ "sdk_feature_type": null,
2536
+ "cli_check_possible": true,
2537
+ "cli_check_description": "Check for complaint rights information in user docs.",
2538
+ "parent_obligation": "eu-ai-act-OBL-030"
2539
+ },
2540
+ {
2541
+ "obligation_id": "eu-ai-act-OBL-038",
2542
+ "article_reference": "Article 95",
2543
+ "article_text_original": "",
2544
+ "article_text_en": "",
2545
+ "title": "Voluntary Codes of Conduct for Non-High-Risk AI",
2546
+ "description": "Providers/deployers of non-high-risk AI may voluntarily adopt codes applying high-risk-like requirements. Once adopted, compliance becomes an obligation.",
2547
+ "applies_to_role": "both",
2548
+ "applies_to_risk_level": [
2549
+ "limited",
2550
+ "minimal"
2551
+ ],
2552
+ "applies_to_use_cases": [
2553
+ "all non-high-risk"
2554
+ ],
2555
+ "obligation_type": "organizational",
2556
+ "what_to_do": [
2557
+ "Evaluate whether voluntary codes are relevant",
2558
+ "If adopted: implement as binding internal obligations",
2559
+ "Document which codes adopted",
2560
+ "Monitor for code updates"
2561
+ ],
2562
+ "what_not_to_do": [
2563
+ "Do NOT claim adherence without implementation",
2564
+ "Do NOT ignore adopted code requirements"
2565
+ ],
2566
+ "evidence_required": "Code adoption record, implementation evidence",
2567
+ "deadline": "ongoing",
2568
+ "frequency": "ongoing",
2569
+ "penalty_for_non_compliance": "Reputational (no statutory fine for voluntary codes)",
2570
+ "severity": "low",
2571
+ "severity_reasoning": "Voluntary but recommended. Demonstrates good practice.",
2572
+ "automatable": "partial",
2573
+ "automation_approach": "Scanner checks for voluntary code documentation.",
2574
+ "cross_regulation_mapping": {},
2575
+ "document_template_needed": false,
2576
+ "document_template_type": null,
2577
+ "sdk_feature_needed": false,
2578
+ "sdk_feature_type": null,
2579
+ "cli_check_possible": false,
2580
+ "cli_check_description": null
2581
+ },
2582
+ {
2583
+ "obligation_id": "eu-ai-act-OBL-039",
2584
+ "article_reference": "Article 43",
2585
+ "article_text_original": "",
2586
+ "article_text_en": "",
2587
+ "title": "Complete Correct Conformity Assessment Procedure",
2588
+ "description": "High-risk AI providers must follow the correct conformity assessment route: self-assessment (Annex VI) for most systems, or third-party (Annex VII) for biometric identification and critical infrastructure AI. Using wrong procedure invalidates compliance.",
2589
+ "applies_to_role": "provider",
2590
+ "applies_to_risk_level": [
2591
+ "high"
2592
+ ],
2593
+ "applies_to_use_cases": [
2594
+ "all high-risk"
2595
+ ],
2596
+ "obligation_type": "assessment",
2597
+ "what_to_do": [
2598
+ "Determine correct conformity assessment route (Annex VI or VII)",
2599
+ "For biometric ID systems: mandatory third-party assessment (Art. 43(1))",
2600
+ "For other high-risk: internal assessment (Annex VI) or QMS-based (Annex VII) accepted",
2601
+ "Document conformity assessment procedure and results",
2602
+ "Keep conformity evidence for 10 years after last system on market"
2603
+ ],
2604
+ "what_not_to_do": [
2605
+ "Do NOT self-certify when third-party assessment is required",
2606
+ "Do NOT destroy conformity assessment documentation",
2607
+ "Do NOT use expired conformity assessments"
2608
+ ],
2609
+ "evidence_required": "Conformity assessment report, notified body certificate (if third-party), 10-year retention evidence",
2610
+ "deadline": "2026-08-02",
2611
+ "frequency": "per-system",
2612
+ "penalty_for_non_compliance": "Up to €15,000,000 or 3% of global annual turnover",
2613
+ "severity": "critical",
2614
+ "severity_reasoning": "Wrong conformity route = invalid compliance. Re-assessment required.",
2615
+ "automatable": "partial",
2616
+ "automation_approach": "Scanner checks for conformity assessment documentation and correct route determination.",
2617
+ "cross_regulation_mapping": {},
2618
+ "document_template_needed": true,
2619
+ "document_template_type": "assessment",
2620
+ "sdk_feature_needed": false,
2621
+ "sdk_feature_type": null,
2622
+ "cli_check_possible": true,
2623
+ "cli_check_description": "Check for conformity assessment documentation and route correctness."
2624
+ },
2625
+ {
2626
+ "obligation_id": "eu-ai-act-OBL-006b",
2627
+ "article_reference": "Article 12 + Article 19",
2628
+ "article_text_original": "",
2629
+ "article_text_en": "",
2630
+ "title": "Logging: Provider Must Generate and Store System Logs",
2631
+ "description": "Providers must design high-risk AI to automatically generate logs, and keep those logs under their control for duration of system lifecycle. Logs must capture events relevant to identifying risk and substantial modifications.",
2632
+ "applies_to_role": "provider",
2633
+ "applies_to_risk_level": [
2634
+ "high"
2635
+ ],
2636
+ "applies_to_use_cases": [
2637
+ "all high-risk"
2638
+ ],
2639
+ "obligation_type": "technical",
2640
+ "what_to_do": [
2641
+ "Design system to automatically generate logs per Art. 12",
2642
+ "Log events: operation periods, input data reference, identified risks, substantial modifications",
2643
+ "Store logs securely for entire system lifecycle",
2644
+ "Make logs available for authorities upon request",
2645
+ "Implement tamper-proof logging (immutable audit trail)"
2646
+ ],
2647
+ "what_not_to_do": [
2648
+ "Do NOT disable automatic logging",
2649
+ "Do NOT allow log tampering or deletion during lifecycle",
2650
+ "Do NOT store logs without access controls"
2651
+ ],
2652
+ "evidence_required": "Logging architecture documentation, sample logs, retention policy, access control evidence",
2653
+ "deadline": "2026-08-02",
2654
+ "frequency": "ongoing",
2655
+ "penalty_for_non_compliance": "Up to €15,000,000 or 3% of global annual turnover",
2656
+ "severity": "high",
2657
+ "severity_reasoning": "Logs are primary audit evidence. Tamper-proof logging builds trust.",
2658
+ "automatable": "full",
2659
+ "automation_approach": "Scanner checks for logging infrastructure: structured logging, retention config, immutability measures.",
2660
+ "cross_regulation_mapping": {},
2661
+ "document_template_needed": false,
2662
+ "document_template_type": null,
2663
+ "sdk_feature_needed": true,
2664
+ "sdk_feature_type": "logging",
2665
+ "cli_check_possible": true,
2666
+ "cli_check_description": "Check for automatic event logging infrastructure with retention and immutability.",
2667
+ "parent_obligation": "eu-ai-act-OBL-006"
2668
+ },
2669
+ {
2670
+ "obligation_id": "eu-ai-act-OBL-HR-001",
2671
+ "article_reference": "Annex III point 4(a)-(b)",
2672
+ "article_text_original": "",
2673
+ "article_text_en": "",
2674
+ "title": "HR: AI in Recruitment and Candidate Selection is High-Risk",
2675
+ "description": "Any AI used for recruitment (CV screening, candidate ranking, interview evaluation, targeted job ads, automated selection) is HIGH-RISK under Annex III. Full high-risk obligations apply. Includes AI in LinkedIn Recruiter, HireVue, Pymetrics, Workable AI, etc.",
2676
+ "applies_to_role": "both",
2677
+ "applies_to_risk_level": [
2678
+ "high"
2679
+ ],
2680
+ "applies_to_use_cases": [
2681
+ "recruitment",
2682
+ "CV screening",
2683
+ "interview assessment",
2684
+ "job ad targeting",
2685
+ "candidate ranking"
2686
+ ],
2687
+ "obligation_type": "organizational",
2688
+ "what_to_do": [
2689
+ "Classify all AI recruitment tools as high-risk",
2690
+ "Conduct FRIA before deploying AI recruitment tools",
2691
+ "Notify all job applicants that AI is used in the process",
2692
+ "Ensure human review of all AI-assisted rejection decisions",
2693
+ "Test for bias against protected characteristics (gender, race, age, disability)",
2694
+ "Notify works council/union before deployment",
2695
+ "Retain recruitment AI logs for minimum 6 months",
2696
+ "Provide rejected candidates with explanation of AI involvement"
2697
+ ],
2698
+ "what_not_to_do": [
2699
+ "Do NOT use AI to screen candidates without human oversight",
2700
+ "Do NOT deploy recruitment AI without bias testing",
2701
+ "Do NOT fail to inform applicants about AI use",
2702
+ "Do NOT automate final rejection decisions without human review",
2703
+ "Do NOT use AI to infer protected characteristics from CVs",
2704
+ "Do NOT use emotion recognition in interviews (PROHIBITED Art. 5(1)(f))"
2705
+ ],
2706
+ "evidence_required": "FRIA, bias audit results, applicant notification evidence, human oversight assignment, works council consultation, log retention",
2707
+ "deadline": "2026-08-02",
2708
+ "frequency": "per-system",
2709
+ "penalty_for_non_compliance": "Up to €15,000,000 or 3% of global annual turnover",
2710
+ "severity": "critical",
2711
+ "severity_reasoning": "HR AI directly affects livelihoods. High litigation risk. Equality law intersection.",
2712
+ "automatable": "partial",
2713
+ "automation_approach": "Scanner checks for: bias testing in HR pipeline, applicant notification components, human review workflow, works council template, FRIA.",
2714
+ "cross_regulation_mapping": {},
2715
+ "document_template_needed": true,
2716
+ "document_template_type": "FRIA",
2717
+ "sdk_feature_needed": true,
2718
+ "sdk_feature_type": "bias-testing",
2719
+ "cli_check_possible": true,
2720
+ "cli_check_description": "Check HR compliance: bias testing, applicant notifications, human review.",
2721
+ "domain": "HR-"
2722
+ },
2723
+ {
2724
+ "obligation_id": "eu-ai-act-OBL-HR-002",
2725
+ "article_reference": "Annex III point 4(c)-(d)",
2726
+ "article_text_original": "",
2727
+ "article_text_en": "",
2728
+ "title": "HR: AI in Employee Management and Workplace Monitoring is High-Risk",
2729
+ "description": "AI for performance reviews, promotion decisions, task allocation, scheduling, productivity monitoring, termination decisions, or any workplace decision affecting employment terms is HIGH-RISK. Includes Workday AI, SAP SuccessFactors, time-tracking AI, productivity monitors.",
2730
+ "applies_to_role": "both",
2731
+ "applies_to_risk_level": [
2732
+ "high"
2733
+ ],
2734
+ "applies_to_use_cases": [
2735
+ "performance evaluation",
2736
+ "promotion",
2737
+ "task allocation",
2738
+ "employee monitoring",
2739
+ "termination",
2740
+ "scheduling"
2741
+ ],
2742
+ "obligation_type": "organizational",
2743
+ "what_to_do": [
2744
+ "Classify all workplace management AI as high-risk",
2745
+ "Conduct FRIA before deployment",
2746
+ "Notify ALL affected workers before deployment (Art. 26(7))",
2747
+ "Notify works council with specifics of how AI affects workers",
2748
+ "Assign human oversight for all AI-influenced personnel decisions",
2749
+ "Ensure no termination decision is made solely by AI",
2750
+ "Test for bias in performance evaluations across protected groups",
2751
+ "Provide workers right to explanation (Art. 86)"
2752
+ ],
2753
+ "what_not_to_do": [
2754
+ "Do NOT monitor employees with AI without prior notification",
2755
+ "Do NOT base termination solely on AI output",
2756
+ "Do NOT use emotion recognition in workplace (PROHIBITED Art. 5(1)(f))",
2757
+ "Do NOT evaluate workers using biometric categorization",
2758
+ "Do NOT deploy without works council consultation (legally required in DE, NL, AT)"
2759
+ ],
2760
+ "evidence_required": "FRIA, worker notification records, works council consultation, human oversight assignment, bias testing, Art. 86 explanation mechanism",
2761
+ "deadline": "2026-08-02",
2762
+ "frequency": "per-system",
2763
+ "penalty_for_non_compliance": "Up to €15,000,000 or 3% of global annual turnover",
2764
+ "severity": "critical",
2765
+ "severity_reasoning": "Workplace AI directly impacts worker rights. Works councils can block deployment.",
2766
+ "automatable": "partial",
2767
+ "automation_approach": "Scanner checks for: worker notification templates, emotion recognition imports (prohibited), performance bias testing.",
2768
+ "cross_regulation_mapping": {},
2769
+ "document_template_needed": true,
2770
+ "document_template_type": "FRIA",
2771
+ "sdk_feature_needed": true,
2772
+ "sdk_feature_type": "monitoring",
2773
+ "cli_check_possible": true,
2774
+ "cli_check_description": "Check workplace AI: worker notifications, emotion recognition prohibition, bias testing.",
2775
+ "domain": "HR-"
2776
+ },
2777
+ {
2778
+ "obligation_id": "eu-ai-act-OBL-HR-003",
2779
+ "article_reference": "Annex III point 4 + GDPR",
2780
+ "article_text_original": "",
2781
+ "article_text_en": "",
2782
+ "title": "HR: AI Processing of Employee Personal Data",
2783
+ "description": "HR AI systems process sensitive employee data (performance, attendance, health, behaviour). Must comply with both AI Act high-risk requirements AND GDPR employee data protections.",
2784
+ "applies_to_role": "both",
2785
+ "applies_to_risk_level": [
2786
+ "high"
2787
+ ],
2788
+ "applies_to_use_cases": [
2789
+ "all HR AI"
2790
+ ],
2791
+ "obligation_type": "documentation",
2792
+ "what_to_do": [
2793
+ "Conduct DPIA under GDPR Art. 35 for HR AI",
2794
+ "Establish lawful basis for employee data processing (legitimate interest or consent)",
2795
+ "Implement data minimization — only process data necessary for stated purpose",
2796
+ "Ensure employee access rights to their processed data",
2797
+ "Define retention periods for employee AI data",
2798
+ "Align FRIA with GDPR DPIA"
2799
+ ],
2800
+ "what_not_to_do": [
2801
+ "Do NOT process employee data beyond stated purpose",
2802
+ "Do NOT retain employee AI data longer than necessary",
2803
+ "Do NOT deny employees access to their AI-processed data",
2804
+ "Do NOT use employee data from one context for unrelated AI purpose"
2805
+ ],
2806
+ "evidence_required": "GDPR DPIA for HR AI, lawful basis documentation, data minimization assessment, retention schedule, employee data access procedure",
2807
+ "deadline": "2026-08-02",
2808
+ "frequency": "per-system",
2809
+ "penalty_for_non_compliance": "Up to €15,000,000 or 3% of global annual turnover",
2810
+ "severity": "high",
2811
+ "severity_reasoning": "HR data is sensitive. GDPR + AI Act dual compliance required.",
2812
+ "automatable": "partial",
2813
+ "automation_approach": "Scanner checks for DPIA documentation, data retention config, employee data access mechanism.",
2814
+ "cross_regulation_mapping": {},
2815
+ "document_template_needed": true,
2816
+ "document_template_type": "FRIA",
2817
+ "sdk_feature_needed": false,
2818
+ "sdk_feature_type": null,
2819
+ "cli_check_possible": true,
2820
+ "cli_check_description": "Check HR data compliance: DPIA, retention, employee data access.",
2821
+ "domain": "HR-"
2822
+ },
2823
+ {
2824
+ "obligation_id": "eu-ai-act-OBL-FIN-001",
2825
+ "article_reference": "Annex III point 5(b)",
2826
+ "article_text_original": "",
2827
+ "article_text_en": "",
2828
+ "title": "Finance: AI Credit Scoring and Lending Decisions is High-Risk",
2829
+ "description": "AI for credit decisions, loan approvals, credit scoring, creditworthiness assessment is HIGH-RISK. Applies to banks, fintechs, BNPL services, and any platform using AI to assess financial reliability of individuals.",
2830
+ "applies_to_role": "both",
2831
+ "applies_to_risk_level": [
2832
+ "high"
2833
+ ],
2834
+ "applies_to_use_cases": [
2835
+ "credit scoring",
2836
+ "loan approval",
2837
+ "creditworthiness",
2838
+ "BNPL",
2839
+ "lending"
2840
+ ],
2841
+ "obligation_type": "organizational",
2842
+ "what_to_do": [
2843
+ "Classify all credit AI as high-risk under Annex III 5(b)",
2844
+ "Conduct mandatory FRIA (credit explicitly listed in Art. 27)",
2845
+ "Ensure non-discrimination across protected groups",
2846
+ "Provide explanation of AI-influenced credit decisions",
2847
+ "Implement right to human review of adverse decisions",
2848
+ "Test for disparate impact on minorities, gender, age",
2849
+ "Log all credit decisions with AI confidence scores",
2850
+ "Comply with CRD/CCD alongside AI Act"
2851
+ ],
2852
+ "what_not_to_do": [
2853
+ "Do NOT deny credit based solely on AI score without human review option",
2854
+ "Do NOT use proxies for protected characteristics in credit models",
2855
+ "Do NOT train on biased historical lending data without mitigation",
2856
+ "Do NOT skip FRIA — credit is explicitly listed in Art. 27"
2857
+ ],
2858
+ "evidence_required": "FRIA, bias audit with no disparate impact, human review mechanism, decision logging, explanation mechanism",
2859
+ "deadline": "2026-08-02",
2860
+ "frequency": "per-system",
2861
+ "penalty_for_non_compliance": "Up to €15,000,000 or 3% of global annual turnover",
2862
+ "severity": "critical",
2863
+ "severity_reasoning": "Credit AI affects financial access. Discrimination in lending heavily regulated.",
2864
+ "automatable": "partial",
2865
+ "automation_approach": "Scanner checks for: credit model bias testing, FRIA, human review workflow, decision explanation.",
2866
+ "cross_regulation_mapping": {},
2867
+ "document_template_needed": true,
2868
+ "document_template_type": "FRIA",
2869
+ "sdk_feature_needed": true,
2870
+ "sdk_feature_type": "bias-testing",
2871
+ "cli_check_possible": true,
2872
+ "cli_check_description": "Check credit AI: bias testing, FRIA, human review for adverse decisions.",
2873
+ "domain": "FIN"
2874
+ },
2875
+ {
2876
+ "obligation_id": "eu-ai-act-OBL-FIN-002",
2877
+ "article_reference": "Annex III point 5(c)",
2878
+ "article_text_original": "",
2879
+ "article_text_en": "",
2880
+ "title": "Finance: AI in Insurance Pricing and Risk Assessment is High-Risk",
2881
+ "description": "AI for insurance risk assessment, premium calculation, underwriting, or claims assessment for life/health insurance is HIGH-RISK. Applies to insurers, insurtechs, reinsurance companies.",
2882
+ "applies_to_role": "both",
2883
+ "applies_to_risk_level": [
2884
+ "high"
2885
+ ],
2886
+ "applies_to_use_cases": [
2887
+ "insurance underwriting",
2888
+ "premium pricing",
2889
+ "risk assessment",
2890
+ "claims assessment",
2891
+ "life insurance",
2892
+ "health insurance"
2893
+ ],
2894
+ "obligation_type": "organizational",
2895
+ "what_to_do": [
2896
+ "Classify insurance AI as high-risk under Annex III 5(c)",
2897
+ "Conduct mandatory FRIA",
2898
+ "Ensure pricing models do not discriminate on protected characteristics",
2899
+ "Test for proxy discrimination (e.g., zip code as proxy for race)",
2900
+ "Provide explanation of AI-influenced insurance decisions",
2901
+ "Log all risk assessments with contributing factors",
2902
+ "Comply with Insurance Distribution Directive alongside AI Act"
2903
+ ],
2904
+ "what_not_to_do": [
2905
+ "Do NOT use health data for discriminatory pricing without legal basis",
2906
+ "Do NOT use genetic data for insurance decisions",
2907
+ "Do NOT systematically deny coverage to vulnerable groups",
2908
+ "Do NOT price based on inferred sensitive characteristics"
2909
+ ],
2910
+ "evidence_required": "FRIA, bias audit for pricing, explanation mechanism, decision logs, proxy discrimination testing",
2911
+ "deadline": "2026-08-02",
2912
+ "frequency": "per-system",
2913
+ "penalty_for_non_compliance": "Up to €15,000,000 or 3% of global annual turnover",
2914
+ "severity": "critical",
2915
+ "severity_reasoning": "Insurance AI can deny essential services. Anti-discrimination laws heavily apply.",
2916
+ "automatable": "partial",
2917
+ "automation_approach": "Scanner checks for: insurance model bias testing, health data safeguards, pricing fairness.",
2918
+ "cross_regulation_mapping": {},
2919
+ "document_template_needed": true,
2920
+ "document_template_type": "FRIA",
2921
+ "sdk_feature_needed": true,
2922
+ "sdk_feature_type": "bias-testing",
2923
+ "cli_check_possible": true,
2924
+ "cli_check_description": "Check insurance AI: bias testing, health data safeguards, pricing fairness.",
2925
+ "domain": "FIN"
2926
+ },
2927
+ {
2928
+ "obligation_id": "eu-ai-act-OBL-FIN-003",
2929
+ "article_reference": "Annex III point 5(a)",
2930
+ "article_text_original": "",
2931
+ "article_text_en": "",
2932
+ "title": "Finance: AI in Public Benefits Eligibility is High-Risk",
2933
+ "description": "AI for determining eligibility for social benefits, welfare, unemployment, housing assistance, or detecting benefit fraud is HIGH-RISK. Applies to government agencies and contractors.",
2934
+ "applies_to_role": "both",
2935
+ "applies_to_risk_level": [
2936
+ "high"
2937
+ ],
2938
+ "applies_to_use_cases": [
2939
+ "benefits eligibility",
2940
+ "welfare",
2941
+ "unemployment",
2942
+ "housing assistance",
2943
+ "fraud detection"
2944
+ ],
2945
+ "obligation_type": "organizational",
2946
+ "what_to_do": [
2947
+ "Classify benefits eligibility AI as high-risk",
2948
+ "Conduct FRIA with emphasis on vulnerable populations",
2949
+ "Ensure human review of all benefit denial decisions",
2950
+ "Test for bias against low-income and minority populations",
2951
+ "Provide clear explanation of AI role in eligibility",
2952
+ "Implement accessible appeal mechanism"
2953
+ ],
2954
+ "what_not_to_do": [
2955
+ "Do NOT automate benefit denials without human review",
2956
+ "Do NOT use AI disproportionately affecting vulnerable applicants",
2957
+ "Do NOT use opaque scoring for benefits eligibility"
2958
+ ],
2959
+ "evidence_required": "FRIA, human review records, bias testing, explanation mechanism, appeal records",
2960
+ "deadline": "2026-08-02",
2961
+ "frequency": "per-system",
2962
+ "penalty_for_non_compliance": "Up to €15,000,000 or 3% of global annual turnover",
2963
+ "severity": "critical",
2964
+ "severity_reasoning": "Benefits AI affects vulnerable populations. Dutch childcare scandal as warning.",
2965
+ "automatable": "partial",
2966
+ "automation_approach": "Scanner checks for: FRIA, human review workflow, bias testing against vulnerable populations.",
2967
+ "cross_regulation_mapping": {},
2968
+ "document_template_needed": true,
2969
+ "document_template_type": "FRIA",
2970
+ "sdk_feature_needed": true,
2971
+ "sdk_feature_type": "bias-testing",
2972
+ "cli_check_possible": true,
2973
+ "cli_check_description": "Check benefits AI: FRIA, human review, vulnerability bias testing.",
2974
+ "domain": "FIN"
2975
+ },
2976
+ {
2977
+ "obligation_id": "eu-ai-act-OBL-FIN-004",
2978
+ "article_reference": "Annex III point 5(d) + Finance context",
2979
+ "article_text_original": "",
2980
+ "article_text_en": "",
2981
+ "title": "Finance: AI in Investment Advice and Robo-Advisory",
2982
+ "description": "AI providing personalized investment advice, portfolio recommendations, or automated trading decisions falls under financial regulation (MiFID II) and may be high-risk when evaluating individual suitability. AI Act transparency obligations always apply.",
2983
+ "applies_to_role": "both",
2984
+ "applies_to_risk_level": [
2985
+ "high",
2986
+ "limited"
2987
+ ],
2988
+ "applies_to_use_cases": [
2989
+ "investment advice",
2990
+ "robo-advisory",
2991
+ "algorithmic trading",
2992
+ "portfolio management"
2993
+ ],
2994
+ "obligation_type": "transparency",
2995
+ "what_to_do": [
2996
+ "Assess whether investment AI is high-risk (individual suitability assessment = likely yes)",
2997
+ "Disclose AI nature in all client interactions (Art. 50)",
2998
+ "Ensure MiFID II suitability assessment requirements are met",
2999
+ "Provide human financial advisor access for consequential decisions",
3000
+ "Log all AI investment recommendations with rationale",
3001
+ "Test for bias in investment recommendations across client segments"
3002
+ ],
3003
+ "what_not_to_do": [
3004
+ "Do NOT present AI investment advice as equivalent to human financial advisor",
3005
+ "Do NOT hide AI involvement in investment recommendations",
3006
+ "Do NOT skip MiFID II suitability requirements because tool is AI",
3007
+ "Do NOT automate consequential investment decisions without human option"
3008
+ ],
3009
+ "evidence_required": "AI disclosure in client interface, MiFID II compliance evidence, suitability assessment records, recommendation logs",
3010
+ "deadline": "2026-08-02",
3011
+ "frequency": "per-system",
3012
+ "penalty_for_non_compliance": "Up to €15,000,000 or 3% of global annual turnover",
3013
+ "severity": "high",
3014
+ "severity_reasoning": "Investment advice AI intersects with MiFID II. Client protection paramount.",
3015
+ "automatable": "partial",
3016
+ "automation_approach": "Scanner checks for: AI disclosure in financial UI, suitability assessment, recommendation logging.",
3017
+ "cross_regulation_mapping": {},
3018
+ "document_template_needed": false,
3019
+ "document_template_type": null,
3020
+ "sdk_feature_needed": true,
3021
+ "sdk_feature_type": "disclosure",
3022
+ "cli_check_possible": true,
3023
+ "cli_check_description": "Check investment AI: disclosure, suitability assessment, recommendation logging.",
3024
+ "domain": "FIN"
3025
+ },
3026
+ {
3027
+ "obligation_id": "eu-ai-act-OBL-MED-001",
3028
+ "article_reference": "Annex II Section A + MDR",
3029
+ "article_text_original": "",
3030
+ "article_text_en": "",
3031
+ "title": "Healthcare: AI as Medical Device Component is High-Risk",
3032
+ "description": "AI as safety component in medical devices (diagnostic AI, clinical decision support, imaging analysis, patient monitoring, drug dosing) is HIGH-RISK under both AI Act and Medical Device Regulation. Double regulatory framework.",
3033
+ "applies_to_role": "both",
3034
+ "applies_to_risk_level": [
3035
+ "high"
3036
+ ],
3037
+ "applies_to_use_cases": [
3038
+ "medical diagnosis",
3039
+ "clinical decision support",
3040
+ "medical imaging",
3041
+ "patient monitoring",
3042
+ "drug dosing",
3043
+ "surgical robotics"
3044
+ ],
3045
+ "obligation_type": "technical",
3046
+ "what_to_do": [
3047
+ "Classify AI medical device components as high-risk under BOTH AI Act and MDR/IVDR",
3048
+ "Complete conformity assessment under BOTH frameworks",
3049
+ "Clinical evaluation per MDR in addition to AI Act",
3050
+ "Implement medical-grade human oversight (clinician in the loop)",
3051
+ "Ensure AI outputs are presented as support, not diagnosis",
3052
+ "Log all clinical AI decisions with confidence levels",
3053
+ "Test accuracy across demographic groups (age, sex, ethnicity)",
3054
+ "Comply with HIPAA/GDPR for health data"
3055
+ ],
3056
+ "what_not_to_do": [
3057
+ "Do NOT present AI output as definitive diagnosis without clinician review",
3058
+ "Do NOT deploy clinical AI without clinical validation studies",
3059
+ "Do NOT train medical AI on non-representative demographic data",
3060
+ "Do NOT skip MDR conformity for AI medical devices"
3061
+ ],
3062
+ "evidence_required": "MDR conformity certificate, AI Act conformity, clinical evaluation report, demographic testing, clinician oversight records",
3063
+ "deadline": "2027-08-02",
3064
+ "frequency": "per-system",
3065
+ "penalty_for_non_compliance": "Up to €15,000,000 or 3% of global annual turnover",
3066
+ "severity": "critical",
3067
+ "severity_reasoning": "Medical AI errors directly harm patients. Double regulatory framework. Highest liability.",
3068
+ "automatable": "partial",
3069
+ "automation_approach": "Scanner checks for: clinical validation docs, MDR references, demographic bias testing, clinician oversight.",
3070
+ "cross_regulation_mapping": {},
3071
+ "document_template_needed": true,
3072
+ "document_template_type": "FRIA",
3073
+ "sdk_feature_needed": true,
3074
+ "sdk_feature_type": "logging",
3075
+ "cli_check_possible": true,
3076
+ "cli_check_description": "Check medical AI: clinical validation, MDR conformity, demographic testing.",
3077
+ "domain": "MED"
3078
+ },
3079
+ {
3080
+ "obligation_id": "eu-ai-act-OBL-MED-002",
3081
+ "article_reference": "Article 50 + Healthcare context",
3082
+ "article_text_original": "",
3083
+ "article_text_en": "",
3084
+ "title": "Healthcare: AI Health Advice Requires Disclosure and Limitations",
3085
+ "description": "AI chatbots/apps providing health advice, symptom checking, mental health support, wellness recommendations must disclose AI nature and clearly state it does not replace professional medical advice.",
3086
+ "applies_to_role": "both",
3087
+ "applies_to_risk_level": [
3088
+ "limited"
3089
+ ],
3090
+ "applies_to_use_cases": [
3091
+ "health advice chatbot",
3092
+ "symptom checker",
3093
+ "mental health AI",
3094
+ "wellness AI",
3095
+ "telemedicine AI"
3096
+ ],
3097
+ "obligation_type": "transparency",
3098
+ "what_to_do": [
3099
+ "Disclose AI nature at start of every health interaction",
3100
+ "Include prominent disclaimer: 'This is AI, not medical advice'",
3101
+ "Recommend consulting healthcare professional for serious symptoms",
3102
+ "Do not provide specific diagnoses or treatment recommendations",
3103
+ "Log health interactions for safety monitoring",
3104
+ "Mark AI-generated health content as AI-generated"
3105
+ ],
3106
+ "what_not_to_do": [
3107
+ "Do NOT allow health AI to present as doctor or medical professional",
3108
+ "Do NOT provide specific diagnoses or prescriptions",
3109
+ "Do NOT downplay symptom severity without directing to professional",
3110
+ "Do NOT store health data without GDPR health data protections"
3111
+ ],
3112
+ "evidence_required": "AI disclosure UI element, medical disclaimer, professional referral mechanism, health data protection docs",
3113
+ "deadline": "2026-08-02",
3114
+ "frequency": "per-system",
3115
+ "penalty_for_non_compliance": "Up to €15,000,000 or 3% of global annual turnover",
3116
+ "severity": "high",
3117
+ "severity_reasoning": "Health misinformation can cause physical harm. High regulatory scrutiny.",
3118
+ "automatable": "partial",
3119
+ "automation_approach": "Scanner checks for: health disclaimer components, AI disclosure, professional referral mechanism.",
3120
+ "cross_regulation_mapping": {},
3121
+ "document_template_needed": false,
3122
+ "document_template_type": null,
3123
+ "sdk_feature_needed": true,
3124
+ "sdk_feature_type": "disclosure",
3125
+ "cli_check_possible": true,
3126
+ "cli_check_description": "Check health AI: disclosure, medical disclaimers, professional referral.",
3127
+ "domain": "MED"
3128
+ },
3129
+ {
3130
+ "obligation_id": "eu-ai-act-OBL-MED-003",
3131
+ "article_reference": "Annex III + GDPR Art. 9",
3132
+ "article_text_original": "",
3133
+ "article_text_en": "",
3134
+ "title": "Healthcare: AI Processing Health Data — Special Category",
3135
+ "description": "AI systems processing health data must comply with GDPR Art. 9 (special category data) requirements in addition to AI Act. Explicit consent or specific legal basis required. Health data has highest protection level.",
3136
+ "applies_to_role": "both",
3137
+ "applies_to_risk_level": [
3138
+ "high",
3139
+ "limited"
3140
+ ],
3141
+ "applies_to_use_cases": [
3142
+ "all healthcare AI"
3143
+ ],
3144
+ "obligation_type": "documentation",
3145
+ "what_to_do": [
3146
+ "Establish GDPR Art. 9 legal basis for health data processing",
3147
+ "Conduct DPIA for health data AI processing",
3148
+ "Implement health data encryption at rest and in transit",
3149
+ "Ensure pseudonymization or anonymization where possible",
3150
+ "Define strict access controls for health data",
3151
+ "Implement right to data portability for patients",
3152
+ "Align AI Act FRIA with GDPR DPIA"
3153
+ ],
3154
+ "what_not_to_do": [
3155
+ "Do NOT process health data without explicit GDPR Art. 9 basis",
3156
+ "Do NOT store health data in unencrypted form",
3157
+ "Do NOT share health data with unauthorized parties",
3158
+ "Do NOT retain health data beyond defined retention period"
3159
+ ],
3160
+ "evidence_required": "GDPR Art. 9 legal basis doc, DPIA, encryption evidence, access control records, retention policy",
3161
+ "deadline": "2026-08-02",
3162
+ "frequency": "per-system",
3163
+ "penalty_for_non_compliance": "Up to €15,000,000 or 3% of global annual turnover",
3164
+ "severity": "high",
3165
+ "severity_reasoning": "Health data is special category. Breach consequences severe.",
3166
+ "automatable": "partial",
3167
+ "automation_approach": "Scanner checks for: health data encryption config, access controls, GDPR Art. 9 documentation.",
3168
+ "cross_regulation_mapping": {},
3169
+ "document_template_needed": false,
3170
+ "document_template_type": null,
3171
+ "sdk_feature_needed": false,
3172
+ "sdk_feature_type": null,
3173
+ "cli_check_possible": true,
3174
+ "cli_check_description": "Check health data protection: encryption, access controls, GDPR Art. 9.",
3175
+ "domain": "MED"
3176
+ },
3177
+ {
3178
+ "obligation_id": "eu-ai-act-OBL-EDU-001",
3179
+ "article_reference": "Annex III point 3(a)",
3180
+ "article_text_original": "",
3181
+ "article_text_en": "",
3182
+ "title": "Education: AI in Admissions and Access Determination is High-Risk",
3183
+ "description": "AI for student admissions, university selection, vocational training access, scholarship allocation is HIGH-RISK. Applies to educational institutions and their technology vendors.",
3184
+ "applies_to_role": "both",
3185
+ "applies_to_risk_level": [
3186
+ "high"
3187
+ ],
3188
+ "applies_to_use_cases": [
3189
+ "university admissions",
3190
+ "school selection",
3191
+ "scholarship allocation",
3192
+ "vocational training access"
3193
+ ],
3194
+ "obligation_type": "organizational",
3195
+ "what_to_do": [
3196
+ "Classify admissions AI as high-risk",
3197
+ "Conduct FRIA focused on equal access to education",
3198
+ "Test for bias across socioeconomic background, ethnicity, gender, disability",
3199
+ "Ensure human review of all AI-influenced rejection decisions",
3200
+ "Provide applicants explanation of AI role",
3201
+ "Log all admissions decisions with AI scores"
3202
+ ],
3203
+ "what_not_to_do": [
3204
+ "Do NOT automate admissions rejections without human review",
3205
+ "Do NOT use socioeconomic proxies perpetuating inequality",
3206
+ "Do NOT deny educational access solely on AI scoring"
3207
+ ],
3208
+ "evidence_required": "FRIA, bias testing, human review records, explanation mechanism, decision logs",
3209
+ "deadline": "2026-08-02",
3210
+ "frequency": "per-system",
3211
+ "penalty_for_non_compliance": "Up to €15,000,000 or 3% of global annual turnover",
3212
+ "severity": "critical",
3213
+ "severity_reasoning": "Education access is fundamental right. Bias perpetuates inequality.",
3214
+ "automatable": "partial",
3215
+ "automation_approach": "Scanner checks for: admissions AI bias testing, FRIA, human review, explanation components.",
3216
+ "cross_regulation_mapping": {},
3217
+ "document_template_needed": true,
3218
+ "document_template_type": "FRIA",
3219
+ "sdk_feature_needed": true,
3220
+ "sdk_feature_type": "bias-testing",
3221
+ "cli_check_possible": true,
3222
+ "cli_check_description": "Check education admissions AI: bias testing, FRIA, human review.",
3223
+ "domain": "EDU"
3224
+ },
3225
+ {
3226
+ "obligation_id": "eu-ai-act-OBL-EDU-002",
3227
+ "article_reference": "Annex III point 3(b)-(c)",
3228
+ "article_text_original": "",
3229
+ "article_text_en": "",
3230
+ "title": "Education: AI in Grading, Assessment and Proctoring is High-Risk",
3231
+ "description": "AI for automated grading, essay scoring, exam proctoring, cheating detection, learning outcome evaluation is HIGH-RISK. Includes Turnitin AI detection, proctoring software, automated essay graders.",
3232
+ "applies_to_role": "both",
3233
+ "applies_to_risk_level": [
3234
+ "high"
3235
+ ],
3236
+ "applies_to_use_cases": [
3237
+ "automated grading",
3238
+ "exam proctoring",
3239
+ "cheating detection",
3240
+ "essay scoring",
3241
+ "learning assessment"
3242
+ ],
3243
+ "obligation_type": "organizational",
3244
+ "what_to_do": [
3245
+ "Classify grading/proctoring AI as high-risk",
3246
+ "Conduct FRIA focused on student rights",
3247
+ "Ensure human review for all consequential grade decisions",
3248
+ "Test proctoring AI for false positives across demographics",
3249
+ "Do NOT use emotion recognition in education (PROHIBITED Art. 5(1)(f))",
3250
+ "Provide students right to appeal AI-influenced grades",
3251
+ "Inform students about AI use in assessment"
3252
+ ],
3253
+ "what_not_to_do": [
3254
+ "Do NOT use emotion recognition for exam monitoring (PROHIBITED)",
3255
+ "Do NOT base final grades solely on AI",
3256
+ "Do NOT use proctoring AI without informing students",
3257
+ "Do NOT ignore disproportionate false positives for minority students"
3258
+ ],
3259
+ "evidence_required": "FRIA, student notification, appeal mechanism, proctoring bias testing, Art. 5 emotion recognition screening",
3260
+ "deadline": "2026-08-02",
3261
+ "frequency": "per-system",
3262
+ "penalty_for_non_compliance": "Up to €15,000,000 or 3% of global annual turnover",
3263
+ "severity": "critical",
3264
+ "severity_reasoning": "Education AI affects futures. Emotion recognition in education explicitly prohibited.",
3265
+ "automatable": "partial",
3266
+ "automation_approach": "Scanner checks for: emotion recognition imports (prohibited), student notification, proctoring bias testing.",
3267
+ "cross_regulation_mapping": {},
3268
+ "document_template_needed": true,
3269
+ "document_template_type": "FRIA",
3270
+ "sdk_feature_needed": false,
3271
+ "sdk_feature_type": null,
3272
+ "cli_check_possible": true,
3273
+ "cli_check_description": "Check education AI: prohibited emotion recognition, student notifications, proctoring fairness.",
3274
+ "domain": "EDU"
3275
+ },
3276
+ {
3277
+ "obligation_id": "eu-ai-act-OBL-EDU-003",
3278
+ "article_reference": "Annex III point 3 + AI Literacy",
3279
+ "article_text_original": "",
3280
+ "article_text_en": "",
3281
+ "title": "Education: AI Tutoring and Personalized Learning — Transparency",
3282
+ "description": "AI tutoring systems, personalized learning platforms, and adaptive learning tools that directly interact with students must comply with transparency obligations. While not always high-risk, they must disclose AI nature.",
3283
+ "applies_to_role": "both",
3284
+ "applies_to_risk_level": [
3285
+ "limited",
3286
+ "high"
3287
+ ],
3288
+ "applies_to_use_cases": [
3289
+ "AI tutoring",
3290
+ "personalized learning",
3291
+ "adaptive learning",
3292
+ "educational chatbot"
3293
+ ],
3294
+ "obligation_type": "transparency",
3295
+ "what_to_do": [
3296
+ "Disclose AI nature to students at start of interaction",
3297
+ "Inform parents/guardians about AI use for minor students",
3298
+ "Ensure AI tutor does not replace human teacher oversight",
3299
+ "Mark AI-generated educational content as AI-generated",
3300
+ "Protect student learning data under GDPR (minors)",
3301
+ "Implement age-appropriate interaction design"
3302
+ ],
3303
+ "what_not_to_do": [
3304
+ "Do NOT interact with minor students without parental awareness",
3305
+ "Do NOT present AI tutor as equivalent to human teacher",
3306
+ "Do NOT collect unnecessary student data",
3307
+ "Do NOT use student data for purposes beyond education"
3308
+ ],
3309
+ "evidence_required": "AI disclosure, parental notification for minors, student data protection, age-appropriate design documentation",
3310
+ "deadline": "2026-08-02",
3311
+ "frequency": "per-system",
3312
+ "penalty_for_non_compliance": "Up to €15,000,000 or 3% of global annual turnover",
3313
+ "severity": "high",
3314
+ "severity_reasoning": "AI in education involves minors. Extra data protection and transparency required.",
3315
+ "automatable": "partial",
3316
+ "automation_approach": "Scanner checks for: AI disclosure in education context, minor user protections, student data safeguards.",
3317
+ "cross_regulation_mapping": {},
3318
+ "document_template_needed": false,
3319
+ "document_template_type": null,
3320
+ "sdk_feature_needed": true,
3321
+ "sdk_feature_type": "disclosure",
3322
+ "cli_check_possible": true,
3323
+ "cli_check_description": "Check education AI: AI disclosure, minor protections, student data.",
3324
+ "domain": "EDU"
3325
+ },
3326
+ {
3327
+ "obligation_id": "eu-ai-act-OBL-LAW-001",
3328
+ "article_reference": "Annex III point 6(a)-(d) + Article 5(1)(h)",
3329
+ "article_text_original": "",
3330
+ "article_text_en": "",
3331
+ "title": "Law Enforcement: AI in Policing is High-Risk with Prohibitions",
3332
+ "description": "AI for predictive policing, individual risk assessment, deception detection, criminal profiling, crime analytics is HIGH-RISK. Real-time biometric ID in public spaces is PROHIBITED (Art. 5(1)(h)) with very narrow exceptions.",
3333
+ "applies_to_role": "both",
3334
+ "applies_to_risk_level": [
3335
+ "high"
3336
+ ],
3337
+ "applies_to_use_cases": [
3338
+ "predictive policing",
3339
+ "risk assessment",
3340
+ "criminal profiling",
3341
+ "deception detection",
3342
+ "crime analytics"
3343
+ ],
3344
+ "obligation_type": "organizational",
3345
+ "what_to_do": [
3346
+ "Classify all law enforcement AI as high-risk",
3347
+ "Verify no prohibited real-time biometric ID in public spaces",
3348
+ "If using narrow exception: obtain judicial authorization per Art. 5(2)",
3349
+ "Conduct enhanced FRIA with fundamental rights emphasis",
3350
+ "Ensure strict human oversight for all decisions",
3351
+ "Test for racial and ethnic bias",
3352
+ "Log all AI-assisted law enforcement decisions",
3353
+ "Ensure right to explanation for affected persons"
3354
+ ],
3355
+ "what_not_to_do": [
3356
+ "Do NOT use real-time biometric ID in public spaces without Art. 5(2) authorization",
3357
+ "Do NOT use AI for mass surveillance",
3358
+ "Do NOT deploy predictive policing without bias testing",
3359
+ "Do NOT base arrest or detention solely on AI output"
3360
+ ],
3361
+ "evidence_required": "Art. 5 screening, judicial authorization (if exception), FRIA, bias testing, human oversight records",
3362
+ "deadline": "2026-08-02",
3363
+ "frequency": "per-system",
3364
+ "penalty_for_non_compliance": "Up to €35,000,000 or 7% of global annual turnover",
3365
+ "severity": "critical",
3366
+ "severity_reasoning": "Law enforcement AI intersects with most fundamental rights. Maximum penalties.",
3367
+ "automatable": "partial",
3368
+ "automation_approach": "Scanner checks for: biometric identification patterns, law enforcement context, FRIA.",
3369
+ "cross_regulation_mapping": {},
3370
+ "document_template_needed": true,
3371
+ "document_template_type": "FRIA",
3372
+ "sdk_feature_needed": false,
3373
+ "sdk_feature_type": null,
3374
+ "cli_check_possible": true,
3375
+ "cli_check_description": "Check law enforcement AI: prohibited biometric ID, bias testing, FRIA."
3376
+ },
3377
+ {
3378
+ "obligation_id": "eu-ai-act-OBL-LAW-002",
3379
+ "article_reference": "Annex III point 6 + Article 26(10)",
3380
+ "article_text_original": "",
3381
+ "article_text_en": "",
3382
+ "title": "Law Enforcement: Notify Affected Persons of AI-Influenced Decisions",
3383
+ "description": "Persons subject to AI-influenced law enforcement decisions have the right to explanation under Art. 86. If informing would prejudice investigation, notification may be delayed but must eventually occur.",
3384
+ "applies_to_role": "deployer",
3385
+ "applies_to_risk_level": [
3386
+ "high"
3387
+ ],
3388
+ "applies_to_use_cases": [
3389
+ "all law enforcement AI"
3390
+ ],
3391
+ "obligation_type": "transparency",
3392
+ "what_to_do": [
3393
+ "Inform affected persons of AI involvement in decisions about them",
3394
+ "Provide meaningful explanation of AI role per Art. 86",
3395
+ "If delay needed for investigation: document reason and set reminder to notify later",
3396
+ "Implement accessible mechanism for affected persons to receive explanation"
3397
+ ],
3398
+ "what_not_to_do": [
3399
+ "Do NOT permanently withhold information about AI involvement",
3400
+ "Do NOT provide explanation that is incomprehensible to lay person",
3401
+ "Do NOT use delay exception routinely to avoid notification"
3402
+ ],
3403
+ "evidence_required": "Notification records, explanation templates, delay justification log",
3404
+ "deadline": "2026-08-02",
3405
+ "frequency": "per-incident",
3406
+ "penalty_for_non_compliance": "Up to €15,000,000 or 3% of global annual turnover",
3407
+ "severity": "high",
3408
+ "severity_reasoning": "Right to explanation is fundamental. Enables effective legal remedies.",
3409
+ "automatable": "partial",
3410
+ "automation_approach": "Scanner checks for explanation mechanism and notification templates.",
3411
+ "cross_regulation_mapping": {},
3412
+ "document_template_needed": false,
3413
+ "document_template_type": null,
3414
+ "sdk_feature_needed": true,
3415
+ "sdk_feature_type": "explainability",
3416
+ "cli_check_possible": true,
3417
+ "cli_check_description": "Check law enforcement notification: explanation mechanism, delay documentation."
3418
+ },
3419
+ {
3420
+ "obligation_id": "eu-ai-act-OBL-MIG-001",
3421
+ "article_reference": "Annex III point 7(a)-(d)",
3422
+ "article_text_original": "",
3423
+ "article_text_en": "",
3424
+ "title": "Migration: AI in Border Control and Asylum is High-Risk",
3425
+ "description": "AI for asylum assessment, visa processing, border risk assessment, migrant identification, deception detection is HIGH-RISK. Includes AI in EURODAC, VIS, EES, ETIAS.",
3426
+ "applies_to_role": "both",
3427
+ "applies_to_risk_level": [
3428
+ "high"
3429
+ ],
3430
+ "applies_to_use_cases": [
3431
+ "asylum assessment",
3432
+ "visa processing",
3433
+ "border control",
3434
+ "migrant identification",
3435
+ "deception detection"
3436
+ ],
3437
+ "obligation_type": "organizational",
3438
+ "what_to_do": [
3439
+ "Classify all migration/border AI as high-risk",
3440
+ "Conduct FRIA with focus on refugee and migrant rights",
3441
+ "Ensure human review of all asylum and visa decisions",
3442
+ "Test for bias across nationalities and ethnicities",
3443
+ "Comply with Refugee Convention alongside AI Act",
3444
+ "Do not use AI to replace substantive asylum interview",
3445
+ "Log all AI-influenced migration decisions"
3446
+ ],
3447
+ "what_not_to_do": [
3448
+ "Do NOT use AI as sole basis for asylum rejection",
3449
+ "Do NOT use deception detection on asylum seekers without human oversight",
3450
+ "Do NOT deploy biased risk assessment profiling by nationality",
3451
+ "Do NOT use AI to circumvent procedural rights of migrants"
3452
+ ],
3453
+ "evidence_required": "FRIA with refugee rights focus, bias testing, human oversight records, decision logs",
3454
+ "deadline": "2026-08-02",
3455
+ "frequency": "per-system",
3456
+ "penalty_for_non_compliance": "Up to €15,000,000 or 3% of global annual turnover",
3457
+ "severity": "critical",
3458
+ "severity_reasoning": "Migration AI affects the most vulnerable. Refugee Convention applies.",
3459
+ "automatable": "manual",
3460
+ "automation_approach": "Limited scanner applicability — typically government/contractor deployed.",
3461
+ "cross_regulation_mapping": {},
3462
+ "document_template_needed": true,
3463
+ "document_template_type": "FRIA",
3464
+ "sdk_feature_needed": false,
3465
+ "sdk_feature_type": null,
3466
+ "cli_check_possible": false,
3467
+ "cli_check_description": null
3468
+ },
3469
+ {
3470
+ "obligation_id": "eu-ai-act-OBL-MIG-002",
3471
+ "article_reference": "Annex III point 7 + AFSJ systems",
3472
+ "article_text_original": "",
3473
+ "article_text_en": "",
3474
+ "title": "Migration: AI in Large-Scale IT Systems (EURODAC, VIS, EES)",
3475
+ "description": "Large-scale IT systems in Area of Freedom, Security and Justice (AFSJ) that use AI components have extended compliance deadline (Dec 2030) but must still assess high-risk classification now.",
3476
+ "applies_to_role": "both",
3477
+ "applies_to_risk_level": [
3478
+ "high"
3479
+ ],
3480
+ "applies_to_use_cases": [
3481
+ "EURODAC",
3482
+ "VIS",
3483
+ "EES",
3484
+ "ETIAS",
3485
+ "SIS"
3486
+ ],
3487
+ "obligation_type": "organizational",
3488
+ "what_to_do": [
3489
+ "Assess AI components in AFSJ large-scale IT systems",
3490
+ "Plan compliance trajectory toward Dec 2030 deadline",
3491
+ "Ensure existing systems meet at minimum prohibited practices and AI literacy requirements now",
3492
+ "Document roadmap for full compliance"
3493
+ ],
3494
+ "what_not_to_do": [
3495
+ "Do NOT assume extended deadline means no current obligations",
3496
+ "Do NOT ignore prohibited practices requirements (already in force)"
3497
+ ],
3498
+ "evidence_required": "Compliance roadmap, current prohibited practices screening, AI literacy evidence",
3499
+ "deadline": "2030-12-31",
3500
+ "frequency": "per-system",
3501
+ "penalty_for_non_compliance": "Up to €15,000,000 or 3% of global annual turnover",
3502
+ "severity": "high",
3503
+ "severity_reasoning": "Extended deadline but current obligations still apply.",
3504
+ "automatable": "partial",
3505
+ "automation_approach": "Scanner checks for compliance roadmap documentation.",
3506
+ "cross_regulation_mapping": {},
3507
+ "document_template_needed": true,
3508
+ "document_template_type": "report",
3509
+ "sdk_feature_needed": false,
3510
+ "sdk_feature_type": null,
3511
+ "cli_check_possible": false,
3512
+ "cli_check_description": null
3513
+ },
3514
+ {
3515
+ "obligation_id": "eu-ai-act-OBL-JUS-001",
3516
+ "article_reference": "Annex III point 8(a)-(b)",
3517
+ "article_text_original": "",
3518
+ "article_text_en": "",
3519
+ "title": "Justice: AI in Judicial Decision-Making is High-Risk",
3520
+ "description": "AI used by courts for legal research, case outcome prediction, sentencing recommendations, applying law to facts, or alternative dispute resolution is HIGH-RISK.",
3521
+ "applies_to_role": "both",
3522
+ "applies_to_risk_level": [
3523
+ "high"
3524
+ ],
3525
+ "applies_to_use_cases": [
3526
+ "judicial decision support",
3527
+ "sentencing",
3528
+ "case prediction",
3529
+ "legal research by courts",
3530
+ "AI arbitration"
3531
+ ],
3532
+ "obligation_type": "organizational",
3533
+ "what_to_do": [
3534
+ "Classify judicial AI as high-risk",
3535
+ "Ensure AI outputs are advisory only — judges make final decisions",
3536
+ "Prohibit autonomous judicial decisions by AI",
3537
+ "Test for bias in case predictions across demographics",
3538
+ "Ensure transparency of AI role in proceedings",
3539
+ "Provide right to explanation of AI influence",
3540
+ "Log all AI-assisted judicial analyses"
3541
+ ],
3542
+ "what_not_to_do": [
3543
+ "Do NOT allow AI autonomous judicial decisions",
3544
+ "Do NOT use opaque models for sentencing without explainability",
3545
+ "Do NOT hide AI involvement from parties",
3546
+ "Do NOT use AI trained on biased sentencing data without correction"
3547
+ ],
3548
+ "evidence_required": "FRIA, judicial transparency docs, bias testing, advisory-only evidence, judge final authority records",
3549
+ "deadline": "2026-08-02",
3550
+ "frequency": "per-system",
3551
+ "penalty_for_non_compliance": "Up to €15,000,000 or 3% of global annual turnover",
3552
+ "severity": "critical",
3553
+ "severity_reasoning": "Judicial AI affects right to fair trial. Highest explainability standard.",
3554
+ "automatable": "partial",
3555
+ "automation_approach": "Scanner checks for: advisory-only output config, judicial context docs, bias testing, explainability.",
3556
+ "cross_regulation_mapping": {},
3557
+ "document_template_needed": true,
3558
+ "document_template_type": "FRIA",
3559
+ "sdk_feature_needed": true,
3560
+ "sdk_feature_type": "explainability",
3561
+ "cli_check_possible": true,
3562
+ "cli_check_description": "Check judicial AI: advisory-only config, bias testing, explainability."
3563
+ },
3564
+ {
3565
+ "obligation_id": "eu-ai-act-OBL-JUS-002",
3566
+ "article_reference": "Annex III point 8 + Legal services context",
3567
+ "article_text_original": "",
3568
+ "article_text_en": "",
3569
+ "title": "Legal: AI in Law Firm Practice (Contract Review, Legal Research, Due Diligence)",
3570
+ "description": "AI used by law firms for contract review, legal research, due diligence, document analysis may be high-risk when used to apply law to facts (Annex III 8(b)). At minimum requires transparency obligations.",
3571
+ "applies_to_role": "both",
3572
+ "applies_to_risk_level": [
3573
+ "high",
3574
+ "limited"
3575
+ ],
3576
+ "applies_to_use_cases": [
3577
+ "contract review AI",
3578
+ "legal research AI",
3579
+ "due diligence AI",
3580
+ "document analysis"
3581
+ ],
3582
+ "obligation_type": "transparency",
3583
+ "what_to_do": [
3584
+ "Assess whether legal AI falls under Annex III 8(b) (applying law to facts)",
3585
+ "If high-risk: full compliance including FRIA and human oversight",
3586
+ "Always: disclose AI use to clients when AI significantly influences legal advice",
3587
+ "Ensure lawyer reviews all AI-generated legal analysis",
3588
+ "Log AI-assisted legal research for audit trail"
3589
+ ],
3590
+ "what_not_to_do": [
3591
+ "Do NOT present AI legal analysis as lawyer's own work without review",
3592
+ "Do NOT use AI to replace substantive legal judgment",
3593
+ "Do NOT hide AI involvement from clients in consequential matters"
3594
+ ],
3595
+ "evidence_required": "Risk classification assessment, client disclosure of AI use, lawyer review records, AI research logs",
3596
+ "deadline": "2026-08-02",
3597
+ "frequency": "per-system",
3598
+ "penalty_for_non_compliance": "Up to €15,000,000 or 3% of global annual turnover",
3599
+ "severity": "high",
3600
+ "severity_reasoning": "Legal advice AI affects client rights. Professional liability intersection.",
3601
+ "automatable": "partial",
3602
+ "automation_approach": "Scanner checks for: legal AI context indicators, client disclosure components, review workflow.",
3603
+ "cross_regulation_mapping": {},
3604
+ "document_template_needed": false,
3605
+ "document_template_type": null,
3606
+ "sdk_feature_needed": true,
3607
+ "sdk_feature_type": "disclosure",
3608
+ "cli_check_possible": true,
3609
+ "cli_check_description": "Check legal AI: client disclosure, lawyer review workflow."
3610
+ },
3611
+ {
3612
+ "obligation_id": "eu-ai-act-OBL-INF-001",
3613
+ "article_reference": "Annex III point 2(a)-(b)",
3614
+ "article_text_original": "",
3615
+ "article_text_en": "",
3616
+ "title": "Infrastructure: AI in Critical Infrastructure Management is High-Risk",
3617
+ "description": "AI managing critical infrastructure (energy grids, water supply, transport, digital infrastructure, telecommunications) is HIGH-RISK when acting as safety component. NIS2 Directive also applies.",
3618
+ "applies_to_role": "both",
3619
+ "applies_to_risk_level": [
3620
+ "high"
3621
+ ],
3622
+ "applies_to_use_cases": [
3623
+ "energy grid",
3624
+ "water supply",
3625
+ "transport",
3626
+ "digital infrastructure",
3627
+ "telecommunications"
3628
+ ],
3629
+ "obligation_type": "technical",
3630
+ "what_to_do": [
3631
+ "Classify infrastructure AI as high-risk",
3632
+ "Implement redundancy: AI failure must not cause infrastructure failure",
3633
+ "Ensure human override at all times",
3634
+ "Test against failure scenarios and edge cases",
3635
+ "Implement real-time monitoring of AI health",
3636
+ "Cybersecurity assessment per NIS2 alongside AI Act",
3637
+ "Log all AI decisions affecting infrastructure"
3638
+ ],
3639
+ "what_not_to_do": [
3640
+ "Do NOT deploy without failsafe mechanisms",
3641
+ "Do NOT allow single points of failure dependent on AI",
3642
+ "Do NOT skip cybersecurity for infrastructure AI",
3643
+ "Do NOT deploy without human override"
3644
+ ],
3645
+ "evidence_required": "FRIA, failsafe documentation, cybersecurity assessment, NIS2 evidence, monitoring, human override",
3646
+ "deadline": "2026-08-02",
3647
+ "frequency": "per-system",
3648
+ "penalty_for_non_compliance": "Up to €15,000,000 or 3% of global annual turnover",
3649
+ "severity": "critical",
3650
+ "severity_reasoning": "Infrastructure AI failure affects public safety at scale. NIS2 intersection.",
3651
+ "automatable": "partial",
3652
+ "automation_approach": "Scanner checks for: failsafe mechanisms, redundancy, cybersecurity config, monitoring.",
3653
+ "cross_regulation_mapping": {},
3654
+ "document_template_needed": true,
3655
+ "document_template_type": "FRIA",
3656
+ "sdk_feature_needed": true,
3657
+ "sdk_feature_type": "monitoring",
3658
+ "cli_check_possible": true,
3659
+ "cli_check_description": "Check infrastructure AI: failsafe, redundancy, cybersecurity."
3660
+ },
3661
+ {
3662
+ "obligation_id": "eu-ai-act-OBL-BIO-001",
3663
+ "article_reference": "Annex III point 1 + Article 5(1)(e)(f)(g)(h)",
3664
+ "article_text_original": "",
3665
+ "article_text_en": "",
3666
+ "title": "Biometric: AI Biometric Systems are High-Risk with Prohibitions",
3667
+ "description": "AI for biometric identification (face, fingerprint, iris, voice), categorization, or emotion recognition is HIGH-RISK with additional PROHIBITIONS. Multiple Art. 5 provisions apply specifically to biometrics.",
3668
+ "applies_to_role": "both",
3669
+ "applies_to_risk_level": [
3670
+ "high"
3671
+ ],
3672
+ "applies_to_use_cases": [
3673
+ "facial recognition",
3674
+ "biometric ID",
3675
+ "biometric categorization",
3676
+ "emotion recognition",
3677
+ "voice recognition"
3678
+ ],
3679
+ "obligation_type": "technical",
3680
+ "what_to_do": [
3681
+ "Classify biometric AI as high-risk under Annex III point 1",
3682
+ "Screen against ALL biometric prohibitions (Art. 5(1)(e)(f)(g)(h))",
3683
+ "Implement double human verification for biometric ID results (Art. 14(5))",
3684
+ "Obtain explicit consent where required",
3685
+ "Test accuracy across demographics (skin tone, age, gender)",
3686
+ "Implement anti-spoofing measures",
3687
+ "Comply with GDPR Art. 9 for biometric special category data"
3688
+ ],
3689
+ "what_not_to_do": [
3690
+ "Do NOT deploy untargeted facial scraping (PROHIBITED)",
3691
+ "Do NOT use emotion recognition in workplace/education (PROHIBITED)",
3692
+ "Do NOT categorize by sensitive characteristics (PROHIBITED)",
3693
+ "Do NOT use real-time remote biometric ID without authorization (PROHIBITED)",
3694
+ "Do NOT process biometric data without GDPR Art. 9 basis"
3695
+ ],
3696
+ "evidence_required": "Art. 5 screening, accuracy testing across demographics, double verification, consent records, GDPR Art. 9 basis",
3697
+ "deadline": "2026-08-02",
3698
+ "frequency": "per-system",
3699
+ "penalty_for_non_compliance": "Up to €35,000,000 or 7% of global annual turnover",
3700
+ "severity": "critical",
3701
+ "severity_reasoning": "Biometric AI has the most prohibitions. Maximum penalty exposure.",
3702
+ "automatable": "partial",
3703
+ "automation_approach": "Scanner checks for: biometric SDK imports, prohibition screening, demographic accuracy testing.",
3704
+ "cross_regulation_mapping": {},
3705
+ "document_template_needed": true,
3706
+ "document_template_type": "FRIA",
3707
+ "sdk_feature_needed": false,
3708
+ "sdk_feature_type": null,
3709
+ "cli_check_possible": true,
3710
+ "cli_check_description": "Check biometric AI: prohibitions, demographic accuracy, double verification."
3711
+ },
3712
+ {
3713
+ "obligation_id": "eu-ai-act-OBL-GEN-001",
3714
+ "article_reference": "Article 50(2)-(4)",
3715
+ "article_text_original": "",
3716
+ "article_text_en": "",
3717
+ "title": "Content Generation: AI Image/Video/Audio Generation Transparency",
3718
+ "description": "AI systems generating images, video, audio, or text must mark outputs as AI-generated in machine-readable format. Deepfakes require visible labeling. Applies to DALL-E, Midjourney, Stable Diffusion, voice cloning, video generation, etc.",
3719
+ "applies_to_role": "provider",
3720
+ "applies_to_risk_level": [
3721
+ "limited"
3722
+ ],
3723
+ "applies_to_use_cases": [
3724
+ "image generation",
3725
+ "video generation",
3726
+ "audio generation",
3727
+ "voice cloning",
3728
+ "deepfakes",
3729
+ "text generation"
3730
+ ],
3731
+ "obligation_type": "technical",
3732
+ "what_to_do": [
3733
+ "Implement machine-readable marking on all AI-generated content (Art. 50(2))",
3734
+ "For images: embed C2PA metadata or equivalent watermark",
3735
+ "For audio/video: embed watermark and/or C2PA manifest",
3736
+ "For text: include AI-generation indicator in metadata",
3737
+ "For deepfakes: ensure visible labeling in addition to machine-readable (Art. 50(4))",
3738
+ "Technical marking must be robust against removal",
3739
+ "Interoperable with content authentication initiatives"
3740
+ ],
3741
+ "what_not_to_do": [
3742
+ "Do NOT generate content without machine-readable AI marking",
3743
+ "Do NOT strip AI provenance metadata from outputs",
3744
+ "Do NOT allow easy removal of content marking",
3745
+ "Do NOT create deepfakes without visible labeling"
3746
+ ],
3747
+ "evidence_required": "Content marking implementation evidence, C2PA integration, watermark robustness testing, deepfake labeling mechanism",
3748
+ "deadline": "2026-08-02",
3749
+ "frequency": "ongoing",
3750
+ "penalty_for_non_compliance": "Up to €15,000,000 or 3% of global annual turnover",
3751
+ "severity": "high",
3752
+ "severity_reasoning": "Content marking is testable by regulators and detectable at scale.",
3753
+ "automatable": "full",
3754
+ "automation_approach": "Scanner checks for: C2PA library integration, watermark embedding, content marking in generation pipeline.",
3755
+ "cross_regulation_mapping": {},
3756
+ "document_template_needed": false,
3757
+ "document_template_type": null,
3758
+ "sdk_feature_needed": true,
3759
+ "sdk_feature_type": "content-marking",
3760
+ "cli_check_possible": true,
3761
+ "cli_check_description": "Check content generation: C2PA integration, watermark embedding, deepfake labeling."
3762
+ },
3763
+ {
3764
+ "obligation_id": "eu-ai-act-OBL-GEN-002",
3765
+ "article_reference": "Article 50(4) + Deployer context",
3766
+ "article_text_original": "",
3767
+ "article_text_en": "",
3768
+ "title": "Content Generation: Deployer Deepfake Disclosure Obligation",
3769
+ "description": "Deployers (users) who publish AI-generated deepfakes or substantially manipulated content must disclose this fact. Exception for artistic, satirical, or fictional content where disclosure is evident.",
3770
+ "applies_to_role": "deployer",
3771
+ "applies_to_risk_level": [
3772
+ "limited"
3773
+ ],
3774
+ "applies_to_use_cases": [
3775
+ "deepfake publication",
3776
+ "AI content publishing",
3777
+ "synthetic media distribution"
3778
+ ],
3779
+ "obligation_type": "transparency",
3780
+ "what_to_do": [
3781
+ "Label all published deepfakes as AI-generated",
3782
+ "Disclosure must be clear and visible to audience",
3783
+ "For text: disclose AI authorship when publishing AI-generated articles",
3784
+ "Exception only applies when artistic/fictional nature is obvious",
3785
+ "Train content teams on disclosure obligations"
3786
+ ],
3787
+ "what_not_to_do": [
3788
+ "Do NOT publish deepfakes without disclosure",
3789
+ "Do NOT claim artistic exception when content could mislead",
3790
+ "Do NOT use AI content to impersonate real persons without disclosure"
3791
+ ],
3792
+ "evidence_required": "Published content with disclosure labels, content policy documentation, team training records",
3793
+ "deadline": "2026-08-02",
3794
+ "frequency": "ongoing",
3795
+ "penalty_for_non_compliance": "Up to €15,000,000 or 3% of global annual turnover",
3796
+ "severity": "high",
3797
+ "severity_reasoning": "Deepfake disclosure is visible and testable. Regulatory priority.",
3798
+ "automatable": "partial",
3799
+ "automation_approach": "Scanner checks for: content disclosure components, deepfake labeling in publishing pipeline.",
3800
+ "cross_regulation_mapping": {},
3801
+ "document_template_needed": false,
3802
+ "document_template_type": null,
3803
+ "sdk_feature_needed": true,
3804
+ "sdk_feature_type": "content-marking",
3805
+ "cli_check_possible": true,
3806
+ "cli_check_description": "Check deepfake disclosure in content publishing pipeline."
3807
+ },
3808
+ {
3809
+ "obligation_id": "eu-ai-act-OBL-CSR-001",
3810
+ "article_reference": "Article 50(1)",
3811
+ "article_text_original": "",
3812
+ "article_text_en": "",
3813
+ "title": "Customer Service: AI Chatbot Interaction Disclosure",
3814
+ "description": "Any AI chatbot or virtual assistant interacting with customers must inform them they are interacting with AI BEFORE or at the start of the interaction. Applies to all customer service bots, sales bots, support agents, etc.",
3815
+ "applies_to_role": "both",
3816
+ "applies_to_risk_level": [
3817
+ "limited"
3818
+ ],
3819
+ "applies_to_use_cases": [
3820
+ "customer service chatbot",
3821
+ "sales bot",
3822
+ "support agent",
3823
+ "virtual assistant",
3824
+ "AI concierge"
3825
+ ],
3826
+ "obligation_type": "transparency",
3827
+ "what_to_do": [
3828
+ "Display AI disclosure before or at start of every chat interaction",
3829
+ "Disclosure must be clear, prominent, and in user's language",
3830
+ "Include option for user to request human agent",
3831
+ "Disclosure required even if AI is very human-like",
3832
+ "Maintain disclosure throughout conversation, not just at start"
3833
+ ],
3834
+ "what_not_to_do": [
3835
+ "Do NOT allow chatbot to interact without AI disclosure",
3836
+ "Do NOT bury disclosure in terms of service",
3837
+ "Do NOT remove disclosure after initial interaction",
3838
+ "Do NOT design chatbot to deceive users about its nature"
3839
+ ],
3840
+ "evidence_required": "AI disclosure UI component, user language localization, human escalation mechanism",
3841
+ "deadline": "2026-08-02",
3842
+ "frequency": "ongoing",
3843
+ "penalty_for_non_compliance": "Up to €15,000,000 or 3% of global annual turnover",
3844
+ "severity": "high",
3845
+ "severity_reasoning": "Chatbot disclosure is the most publicly visible Art. 50 obligation. Easy to test.",
3846
+ "automatable": "full",
3847
+ "automation_approach": "Scanner checks for: AI disclosure component in chat UI, human escalation option.",
3848
+ "cross_regulation_mapping": {},
3849
+ "document_template_needed": false,
3850
+ "document_template_type": null,
3851
+ "sdk_feature_needed": true,
3852
+ "sdk_feature_type": "disclosure",
3853
+ "cli_check_possible": true,
3854
+ "cli_check_description": "Check chatbot AI disclosure and human escalation option."
3855
+ },
3856
+ {
3857
+ "obligation_id": "eu-ai-act-OBL-MKT-001",
3858
+ "article_reference": "Article 50 + Article 5(1)(a)",
3859
+ "article_text_original": "",
3860
+ "article_text_en": "",
3861
+ "title": "Marketing: AI in Advertising and Recommendation Systems",
3862
+ "description": "AI-powered advertising targeting, recommendation systems, and personalization engines must disclose AI use and must NOT use subliminal or manipulative techniques (Art. 5(1)(a)). Especially relevant for AI-driven content recommendation.",
3863
+ "applies_to_role": "both",
3864
+ "applies_to_risk_level": [
3865
+ "limited",
3866
+ "minimal"
3867
+ ],
3868
+ "applies_to_use_cases": [
3869
+ "ad targeting",
3870
+ "recommendation systems",
3871
+ "personalization",
3872
+ "content curation",
3873
+ "AI marketing"
3874
+ ],
3875
+ "obligation_type": "transparency",
3876
+ "what_to_do": [
3877
+ "Assess whether AI marketing tools use manipulative techniques (Art. 5(1)(a))",
3878
+ "Ensure recommendation algorithms do not exploit user vulnerabilities",
3879
+ "Disclose AI involvement in personalized recommendations where applicable",
3880
+ "Provide user control over AI personalization (opt-out mechanism)",
3881
+ "Comply with Digital Services Act alongside AI Act for recommendation systems"
3882
+ ],
3883
+ "what_not_to_do": [
3884
+ "Do NOT use subliminal AI techniques in advertising (PROHIBITED)",
3885
+ "Do NOT exploit vulnerable user segments with AI targeting",
3886
+ "Do NOT hide AI involvement in personalization from users",
3887
+ "Do NOT use dark patterns to prevent users from opting out of AI recommendations"
3888
+ ],
3889
+ "evidence_required": "Art. 5 screening for advertising AI, user control mechanism, DSA compliance evidence",
3890
+ "deadline": "2025-02-02",
3891
+ "frequency": "ongoing",
3892
+ "penalty_for_non_compliance": "Up to €35,000,000 or 7% of global annual turnover",
3893
+ "severity": "high",
3894
+ "severity_reasoning": "Manipulative AI in advertising = prohibited practice = maximum penalty.",
3895
+ "automatable": "partial",
3896
+ "automation_approach": "Scanner checks for: recommendation system transparency, user opt-out mechanism, dark pattern detection.",
3897
+ "cross_regulation_mapping": {},
3898
+ "document_template_needed": false,
3899
+ "document_template_type": null,
3900
+ "sdk_feature_needed": false,
3901
+ "sdk_feature_type": null,
3902
+ "cli_check_possible": true,
3903
+ "cli_check_description": "Check marketing AI: manipulation screening, user controls, transparency."
3904
+ },
3905
+ {
3906
+ "obligation_id": "eu-ai-act-OBL-AV-001",
3907
+ "article_reference": "Annex II Section A + Annex III point 2",
3908
+ "article_text_original": "",
3909
+ "article_text_en": "",
3910
+ "title": "Transport: AI in Autonomous Vehicles and Traffic Management is High-Risk",
3911
+ "description": "AI as safety component in vehicles, aircraft, or traffic management systems is HIGH-RISK under both Annex II (product safety) and Annex III point 2 (critical infrastructure). Type-approval regulation also applies.",
3912
+ "applies_to_role": "both",
3913
+ "applies_to_risk_level": [
3914
+ "high"
3915
+ ],
3916
+ "applies_to_use_cases": [
3917
+ "autonomous driving",
3918
+ "ADAS",
3919
+ "traffic management",
3920
+ "aviation AI",
3921
+ "maritime AI",
3922
+ "rail AI"
3923
+ ],
3924
+ "obligation_type": "technical",
3925
+ "what_to_do": [
3926
+ "Classify transport AI as high-risk under Annex II and/or Annex III",
3927
+ "Complete conformity assessment under BOTH AI Act and sector regulation (type-approval)",
3928
+ "Ensure human override capability at all times",
3929
+ "Test in diverse real-world conditions (weather, lighting, edge cases)",
3930
+ "Implement fail-safe behavior (safe stop)",
3931
+ "Log all safety-critical AI decisions",
3932
+ "Comply with UNECE regulations for autonomous vehicles alongside AI Act"
3933
+ ],
3934
+ "what_not_to_do": [
3935
+ "Do NOT deploy autonomous systems without fail-safe behavior",
3936
+ "Do NOT skip testing in adverse conditions",
3937
+ "Do NOT remove human override capability",
3938
+ "Do NOT deploy without sector-specific type-approval"
3939
+ ],
3940
+ "evidence_required": "AI Act conformity, type-approval certificate, testing reports (diverse conditions), fail-safe documentation, human override mechanism",
3941
+ "deadline": "2027-08-02",
3942
+ "frequency": "per-system",
3943
+ "penalty_for_non_compliance": "Up to €15,000,000 or 3% of global annual turnover",
3944
+ "severity": "critical",
3945
+ "severity_reasoning": "Transport AI is safety-critical. Errors cause physical harm and death.",
3946
+ "automatable": "partial",
3947
+ "automation_approach": "Scanner checks for: fail-safe mechanisms, diverse condition testing, human override.",
3948
+ "cross_regulation_mapping": {},
3949
+ "document_template_needed": true,
3950
+ "document_template_type": "FRIA",
3951
+ "sdk_feature_needed": true,
3952
+ "sdk_feature_type": "monitoring",
3953
+ "cli_check_possible": true,
3954
+ "cli_check_description": "Check transport AI: fail-safe, testing coverage, human override."
3955
+ }
3956
+ ],
3957
+ "version": {
3958
+ "framework_version": "4.0-full-coverage",
3959
+ "processed_date": "2026-02-17",
3960
+ "source_regulation_version": "Regulation (EU) 2024/1689 as published in OJ L 2024/1689",
3961
+ "processing_prompt_version": "12-stage-v2 + domain decomposition",
3962
+ "last_regulatory_update_checked": "2025-12-17 (Code of Practice on content marking draft)",
3963
+ "next_review_due": "2026-03-01",
3964
+ "coverage": "~95% of actionable obligations. All 8 Annex III domains + 5 additional domains decomposed.",
3965
+ "domains_covered": [
3966
+ "HR/Employment",
3967
+ "Finance/Credit/Insurance",
3968
+ "Healthcare/Medical",
3969
+ "Education",
3970
+ "Law Enforcement",
3971
+ "Migration/Border",
3972
+ "Justice/Legal",
3973
+ "Critical Infrastructure",
3974
+ "Biometric",
3975
+ "Content Generation",
3976
+ "Customer Service",
3977
+ "Marketing/Advertising",
3978
+ "Transport/Autonomous"
3979
+ ]
3980
+ }
3981
+ }