@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.
- package/.well-known/ai-compliance.json +16 -0
- package/COMPLIANCE.md +64 -0
- package/data/data-integrity.test.ts +75 -0
- package/data/eval/eval-mappings.json +33 -0
- package/data/llm/model-pricing.json +15 -0
- package/data/llm/model-routing.json +36 -0
- package/data/onboarding/risk-profile.json +17 -0
- package/data/regulations/eu-ai-act/README.md +245 -0
- package/data/regulations/eu-ai-act/applicability-tree.json +160 -0
- package/data/regulations/eu-ai-act/cross-mapping.json +175 -0
- package/data/regulations/eu-ai-act/localization.json +186 -0
- package/data/regulations/eu-ai-act/obligations.json +3981 -0
- package/data/regulations/eu-ai-act/regulation-meta.json +482 -0
- package/data/regulations/eu-ai-act/scoring.json +342 -0
- package/data/regulations/eu-ai-act/technical-requirements.json +2590 -0
- package/data/regulations/eu-ai-act/timeline.json +160 -0
- package/data/regulations/jurisdictions/at.json +15 -0
- package/data/regulations/jurisdictions/be.json +15 -0
- package/data/regulations/jurisdictions/bg.json +15 -0
- package/data/regulations/jurisdictions/cy.json +15 -0
- package/data/regulations/jurisdictions/cz.json +15 -0
- package/data/regulations/jurisdictions/de.json +15 -0
- package/data/regulations/jurisdictions/dk.json +15 -0
- package/data/regulations/jurisdictions/ee.json +15 -0
- package/data/regulations/jurisdictions/es.json +15 -0
- package/data/regulations/jurisdictions/fi.json +15 -0
- package/data/regulations/jurisdictions/fr.json +15 -0
- package/data/regulations/jurisdictions/gr.json +15 -0
- package/data/regulations/jurisdictions/hr.json +15 -0
- package/data/regulations/jurisdictions/hu.json +15 -0
- package/data/regulations/jurisdictions/ie.json +15 -0
- package/data/regulations/jurisdictions/is.json +15 -0
- package/data/regulations/jurisdictions/it.json +15 -0
- package/data/regulations/jurisdictions/li.json +15 -0
- package/data/regulations/jurisdictions/lt.json +15 -0
- package/data/regulations/jurisdictions/lu.json +15 -0
- package/data/regulations/jurisdictions/lv.json +15 -0
- package/data/regulations/jurisdictions/mt.json +15 -0
- package/data/regulations/jurisdictions/nl.json +15 -0
- package/data/regulations/jurisdictions/no.json +15 -0
- package/data/regulations/jurisdictions/pl.json +15 -0
- package/data/regulations/jurisdictions/pt.json +15 -0
- package/data/regulations/jurisdictions/ro.json +15 -0
- package/data/regulations/jurisdictions/se.json +15 -0
- package/data/regulations/jurisdictions/si.json +15 -0
- package/data/regulations/jurisdictions/sk.json +15 -0
- package/data/scanner/check-id-categories.json +81 -0
- package/data/scanner/confidence-params.json +16 -0
- package/data/scanner/limits.json +4 -0
- package/data/schemas/http-contract-sample.json +79 -0
- package/data/schemas/http-contract.json +144 -0
- package/data/semgrep-rules/bare-call.yaml +37 -0
- package/data/semgrep-rules/injection.yaml +73 -0
- package/data/semgrep-rules/missing-error-handling.yaml +58 -0
- package/data/semgrep-rules/unsafe-deser.yaml +65 -0
- package/data/templates/eu-ai-act/ai-literacy.md +184 -0
- package/data/templates/eu-ai-act/art5-screening.md +131 -0
- package/data/templates/eu-ai-act/data-governance.md +145 -0
- package/data/templates/eu-ai-act/declaration-of-conformity.md +161 -0
- package/data/templates/eu-ai-act/fria.md +127 -0
- package/data/templates/eu-ai-act/gpai-systemic-risk.md +150 -0
- package/data/templates/eu-ai-act/gpai-transparency.md +166 -0
- package/data/templates/eu-ai-act/incident-report.md +188 -0
- package/data/templates/eu-ai-act/instructions-for-use.md +202 -0
- package/data/templates/eu-ai-act/monitoring-policy.md +110 -0
- package/data/templates/eu-ai-act/qms.md +180 -0
- package/data/templates/eu-ai-act/risk-management-system.md +123 -0
- package/data/templates/eu-ai-act/technical-documentation.md +287 -0
- package/data/templates/eu-ai-act/worker-notification.md +143 -0
- package/data/templates/policies/biometrics-ai-policy.md +214 -0
- package/data/templates/policies/critical-infra-ai-policy.md +228 -0
- package/data/templates/policies/education-ai-policy.md +184 -0
- package/data/templates/policies/finance-ai-policy.md +191 -0
- package/data/templates/policies/healthcare-ai-policy.md +197 -0
- package/data/templates/policies/hr-ai-policy.md +178 -0
- package/data/templates/policies/legal-ai-policy.md +189 -0
- package/data/templates/policies/migration-ai-policy.md +239 -0
- package/engine.log +7 -0
- package/package.json +74 -0
- package/src/composition-root.ts +791 -0
- package/src/data/eval/conformity-tests.test.ts +122 -0
- package/src/data/eval/ct-1-transparency.ts +106 -0
- package/src/data/eval/ct-10-gpai.ts +25 -0
- package/src/data/eval/ct-11-industry.ts +42 -0
- package/src/data/eval/ct-2-oversight.ts +41 -0
- package/src/data/eval/ct-3-explanation.ts +14 -0
- package/src/data/eval/ct-4-bias.ts +83 -0
- package/src/data/eval/ct-5-accuracy.ts +41 -0
- package/src/data/eval/ct-6-robustness.ts +81 -0
- package/src/data/eval/ct-7-prohibited.ts +52 -0
- package/src/data/eval/ct-8-logging.ts +68 -0
- package/src/data/eval/ct-9-risk-awareness.ts +33 -0
- package/src/data/eval/deterministic-evaluator.ts +120 -0
- package/src/data/eval/index.ts +55 -0
- package/src/data/eval/judge-prompts.ts +146 -0
- package/src/data/eval/llm-judged-tests.ts +279 -0
- package/src/data/eval/llm-tests.test.ts +83 -0
- package/src/data/eval/remediation/ct-1-transparency.ts +91 -0
- package/src/data/eval/remediation/ct-10-gpai.ts +94 -0
- package/src/data/eval/remediation/ct-11-industry.ts +94 -0
- package/src/data/eval/remediation/ct-2-oversight.ts +71 -0
- package/src/data/eval/remediation/ct-3-explanation.ts +70 -0
- package/src/data/eval/remediation/ct-4-bias.ts +70 -0
- package/src/data/eval/remediation/ct-5-accuracy.ts +70 -0
- package/src/data/eval/remediation/ct-6-robustness.ts +70 -0
- package/src/data/eval/remediation/ct-7-prohibited.ts +94 -0
- package/src/data/eval/remediation/ct-8-logging.ts +94 -0
- package/src/data/eval/remediation/ct-9-risk-awareness.ts +94 -0
- package/src/data/eval/remediation/index.ts +89 -0
- package/src/data/eval/remediation/owasp-art5.ts +15 -0
- package/src/data/eval/remediation/owasp-llm01.ts +72 -0
- package/src/data/eval/remediation/owasp-llm02.ts +72 -0
- package/src/data/eval/remediation/owasp-llm03.ts +15 -0
- package/src/data/eval/remediation/owasp-llm04.ts +15 -0
- package/src/data/eval/remediation/owasp-llm05.ts +15 -0
- package/src/data/eval/remediation/owasp-llm06.ts +15 -0
- package/src/data/eval/remediation/owasp-llm07.ts +15 -0
- package/src/data/eval/remediation/owasp-llm08.ts +15 -0
- package/src/data/eval/remediation/owasp-llm09.ts +15 -0
- package/src/data/eval/remediation/owasp-llm10.ts +15 -0
- package/src/data/eval/remediation/remediation.test.ts +229 -0
- package/src/data/eval/remediation/test-mapping.ts +290 -0
- package/src/data/eval/security-rubrics.ts +381 -0
- package/src/data/finding-explanations.json +453 -0
- package/src/data/industry-patterns.ts +161 -0
- package/src/data/registry-cards.ts +368 -0
- package/src/data/regulation/index.ts +5 -0
- package/src/data/regulation/jurisdiction-data.test.ts +73 -0
- package/src/data/regulation/jurisdiction-data.ts +65 -0
- package/src/data/regulation/regulation-data.ts +19 -0
- package/src/data/regulation/regulation-loader.test.ts +107 -0
- package/src/data/regulation/regulation-loader.ts +56 -0
- package/src/data/scanner-constants.ts +46 -0
- package/src/data/schemas/schemas-core.ts +140 -0
- package/src/data/schemas/schemas-supplementary.ts +211 -0
- package/src/data/schemas/schemas.ts +28 -0
- package/src/data/security/attack-probes.test.ts +62 -0
- package/src/data/security/attack-probes.ts +496 -0
- package/src/data/security/eu-ai-act-security.ts +40 -0
- package/src/data/security/index.ts +19 -0
- package/src/data/security/mitre-atlas.test.ts +43 -0
- package/src/data/security/mitre-atlas.ts +93 -0
- package/src/data/security/nist-ai-rmf.ts +43 -0
- package/src/data/security/owasp-llm-top10.test.ts +60 -0
- package/src/data/security/owasp-llm-top10.ts +138 -0
- package/src/data/template-registry.ts +53 -0
- package/src/data/tool-versions.json +22 -0
- package/src/domain/audit/audit-package.test.ts +152 -0
- package/src/domain/audit/audit-package.ts +166 -0
- package/src/domain/audit/audit-trail.test.ts +121 -0
- package/src/domain/audit/audit-trail.ts +174 -0
- package/src/domain/audit/index.ts +8 -0
- package/src/domain/audit/permissions-matrix.test.ts +136 -0
- package/src/domain/audit/permissions-matrix.ts +121 -0
- package/src/domain/certification/adversarial/bias-tests.ts +95 -0
- package/src/domain/certification/adversarial/evaluators.ts +304 -0
- package/src/domain/certification/adversarial/index.ts +11 -0
- package/src/domain/certification/adversarial/prompt-injection.ts +103 -0
- package/src/domain/certification/adversarial/safety-boundary.ts +132 -0
- package/src/domain/certification/aiuc1-readiness.test.ts +236 -0
- package/src/domain/certification/aiuc1-readiness.ts +298 -0
- package/src/domain/certification/aiuc1-requirements.ts +235 -0
- package/src/domain/certification/index.ts +10 -0
- package/src/domain/certification/redteam-runner.test.ts +97 -0
- package/src/domain/certification/redteam-runner.ts +205 -0
- package/src/domain/certification/test-runner.test.ts +232 -0
- package/src/domain/certification/test-runner.ts +289 -0
- package/src/domain/cost/cost-estimator.test.ts +187 -0
- package/src/domain/cost/cost-estimator.ts +133 -0
- package/src/domain/disclaimer.test.ts +52 -0
- package/src/domain/disclaimer.ts +39 -0
- package/src/domain/documents/ai-enricher.test.ts +120 -0
- package/src/domain/documents/ai-enricher.ts +159 -0
- package/src/domain/documents/document-generator.test.ts +318 -0
- package/src/domain/documents/document-generator.ts +239 -0
- package/src/domain/documents/index.ts +9 -0
- package/src/domain/documents/passport-helpers.ts +25 -0
- package/src/domain/documents/policy-generator.test.ts +252 -0
- package/src/domain/documents/policy-generator.ts +94 -0
- package/src/domain/documents/worker-notification-generator.test.ts +162 -0
- package/src/domain/documents/worker-notification-generator.ts +141 -0
- package/src/domain/eval/adapters/adapter-port.ts +94 -0
- package/src/domain/eval/adapters/adapters.test.ts +303 -0
- package/src/domain/eval/adapters/anthropic-adapter.ts +57 -0
- package/src/domain/eval/adapters/auto-detect.ts +104 -0
- package/src/domain/eval/adapters/create-chat-adapter.ts +106 -0
- package/src/domain/eval/adapters/custom-adapter.ts +74 -0
- package/src/domain/eval/adapters/http-adapter.ts +66 -0
- package/src/domain/eval/adapters/index.ts +7 -0
- package/src/domain/eval/adapters/ollama-adapter.ts +48 -0
- package/src/domain/eval/adapters/openai-adapter.ts +58 -0
- package/src/domain/eval/adapters/with-timeout.ts +25 -0
- package/src/domain/eval/conformity-score.test.ts +161 -0
- package/src/domain/eval/conformity-score.ts +135 -0
- package/src/domain/eval/eval-constants.ts +55 -0
- package/src/domain/eval/eval-evidence.test.ts +85 -0
- package/src/domain/eval/eval-evidence.ts +103 -0
- package/src/domain/eval/eval-fix-generator.test.ts +421 -0
- package/src/domain/eval/eval-fix-generator.ts +205 -0
- package/src/domain/eval/eval-passport.test.ts +82 -0
- package/src/domain/eval/eval-passport.ts +89 -0
- package/src/domain/eval/eval-remediation-report.test.ts +682 -0
- package/src/domain/eval/eval-remediation-report.ts +170 -0
- package/src/domain/eval/eval-report.ts +108 -0
- package/src/domain/eval/eval-runner.test.ts +609 -0
- package/src/domain/eval/eval-runner.ts +593 -0
- package/src/domain/eval/eval-to-findings.test.ts +293 -0
- package/src/domain/eval/eval-to-findings.ts +83 -0
- package/src/domain/eval/index.ts +31 -0
- package/src/domain/eval/llm-judge.test.ts +139 -0
- package/src/domain/eval/llm-judge.ts +168 -0
- package/src/domain/eval/remediation-types.ts +90 -0
- package/src/domain/eval/security-integration.test.ts +196 -0
- package/src/domain/eval/security-integration.ts +136 -0
- package/src/domain/eval/types.test.ts +173 -0
- package/src/domain/eval/types.ts +244 -0
- package/src/domain/eval/verdict-utils.ts +45 -0
- package/src/domain/fixer/create-fixer.ts +101 -0
- package/src/domain/fixer/diff.ts +70 -0
- package/src/domain/fixer/fix-history.ts +23 -0
- package/src/domain/fixer/fixer.test.ts +306 -0
- package/src/domain/fixer/index.ts +9 -0
- package/src/domain/fixer/strategies/bandit-fix.ts +61 -0
- package/src/domain/fixer/strategies/bias-testing.ts +49 -0
- package/src/domain/fixer/strategies/ci-compliance.ts +57 -0
- package/src/domain/fixer/strategies/content-marking.ts +45 -0
- package/src/domain/fixer/strategies/cve-upgrade.ts +66 -0
- package/src/domain/fixer/strategies/data-governance.ts +65 -0
- package/src/domain/fixer/strategies/disclosure.ts +69 -0
- package/src/domain/fixer/strategies/doc-code-sync.ts +53 -0
- package/src/domain/fixer/strategies/documentation.ts +59 -0
- package/src/domain/fixer/strategies/error-handler.ts +63 -0
- package/src/domain/fixer/strategies/hitl-gate.ts +67 -0
- package/src/domain/fixer/strategies/index.ts +61 -0
- package/src/domain/fixer/strategies/kill-switch-test.ts +85 -0
- package/src/domain/fixer/strategies/kill-switch.ts +53 -0
- package/src/domain/fixer/strategies/license-fix.ts +57 -0
- package/src/domain/fixer/strategies/log-retention.ts +40 -0
- package/src/domain/fixer/strategies/logging.ts +59 -0
- package/src/domain/fixer/strategies/metadata.ts +45 -0
- package/src/domain/fixer/strategies/permission-guard.ts +84 -0
- package/src/domain/fixer/strategies/record-keeping.ts +69 -0
- package/src/domain/fixer/strategies/secret-rotation.ts +52 -0
- package/src/domain/fixer/strategies.test.ts +341 -0
- package/src/domain/fixer/template-engine.test.ts +64 -0
- package/src/domain/fixer/template-engine.ts +38 -0
- package/src/domain/fixer/types.ts +88 -0
- package/src/domain/frameworks/aiuc1-framework.test.ts +159 -0
- package/src/domain/frameworks/aiuc1-framework.ts +126 -0
- package/src/domain/frameworks/collect-foundation-metrics.test.ts +96 -0
- package/src/domain/frameworks/collect-foundation-metrics.ts +34 -0
- package/src/domain/frameworks/eu-ai-act-framework.test.ts +117 -0
- package/src/domain/frameworks/eu-ai-act-framework.ts +100 -0
- package/src/domain/frameworks/framework-registry.test.ts +91 -0
- package/src/domain/frameworks/framework-registry.ts +38 -0
- package/src/domain/frameworks/index.ts +8 -0
- package/src/domain/frameworks/mitre-atlas-framework.test.ts +53 -0
- package/src/domain/frameworks/mitre-atlas-framework.ts +53 -0
- package/src/domain/frameworks/owasp-llm-framework.test.ts +77 -0
- package/src/domain/frameworks/owasp-llm-framework.ts +54 -0
- package/src/domain/frameworks/score-plugin-framework.ts +117 -0
- package/src/domain/fria/fria-generator.test.ts +273 -0
- package/src/domain/fria/fria-generator.ts +366 -0
- package/src/domain/import/promptfoo-importer.test.ts +103 -0
- package/src/domain/import/promptfoo-importer.ts +151 -0
- package/src/domain/onboarding/guided-onboarding.test.ts +144 -0
- package/src/domain/onboarding/guided-onboarding.ts +135 -0
- package/src/domain/passport/builder/domain-mapper.ts +9 -0
- package/src/domain/passport/builder/manifest-builder.test.ts +546 -0
- package/src/domain/passport/builder/manifest-builder.ts +535 -0
- package/src/domain/passport/builder/manifest-diff.test.ts +105 -0
- package/src/domain/passport/builder/manifest-diff.ts +89 -0
- package/src/domain/passport/builder/manifest-files.ts +17 -0
- package/src/domain/passport/crypto-signer.test.ts +93 -0
- package/src/domain/passport/crypto-signer.ts +157 -0
- package/src/domain/passport/discovery/agent-discovery.test.ts +296 -0
- package/src/domain/passport/discovery/agent-discovery.ts +325 -0
- package/src/domain/passport/discovery/autonomy-analyzer.test.ts +141 -0
- package/src/domain/passport/discovery/autonomy-analyzer.ts +113 -0
- package/src/domain/passport/discovery/permission-scanner.test.ts +191 -0
- package/src/domain/passport/discovery/permission-scanner.ts +414 -0
- package/src/domain/passport/export/a2a-mapper.ts +75 -0
- package/src/domain/passport/export/aiuc1-mapper.ts +126 -0
- package/src/domain/passport/export/export.test.ts +207 -0
- package/src/domain/passport/export/index.ts +41 -0
- package/src/domain/passport/export/nist-mapper.ts +227 -0
- package/src/domain/passport/import/a2a-importer.test.ts +133 -0
- package/src/domain/passport/import/a2a-importer.ts +156 -0
- package/src/domain/passport/import/index.ts +2 -0
- package/src/domain/passport/index.ts +32 -0
- package/src/domain/passport/obligation-field-map.test.ts +113 -0
- package/src/domain/passport/obligation-field-map.ts +117 -0
- package/src/domain/passport/passport-validator.test.ts +156 -0
- package/src/domain/passport/passport-validator.ts +126 -0
- package/src/domain/passport/scan-to-compliance.test.ts +336 -0
- package/src/domain/passport/scan-to-compliance.ts +166 -0
- package/src/domain/passport/test-generator.test.ts +93 -0
- package/src/domain/passport/test-generator.ts +136 -0
- package/src/domain/proxy/index.ts +11 -0
- package/src/domain/proxy/json-rpc.test.ts +72 -0
- package/src/domain/proxy/json-rpc.ts +53 -0
- package/src/domain/proxy/policy-engine.test.ts +259 -0
- package/src/domain/proxy/policy-engine.ts +137 -0
- package/src/domain/proxy/proxy-bridge.ts +125 -0
- package/src/domain/proxy/proxy-interceptor.test.ts +184 -0
- package/src/domain/proxy/proxy-interceptor.ts +120 -0
- package/src/domain/proxy/proxy-types.ts +35 -0
- package/src/domain/registry/compute-agent-score.test.ts +279 -0
- package/src/domain/registry/compute-agent-score.ts +162 -0
- package/src/domain/reporter/audit-report.test.ts +87 -0
- package/src/domain/reporter/audit-report.ts +116 -0
- package/src/domain/reporter/badge-generator.test.ts +54 -0
- package/src/domain/reporter/badge-generator.ts +40 -0
- package/src/domain/reporter/compliance-md.ts +45 -0
- package/src/domain/reporter/index.ts +7 -0
- package/src/domain/reporter/pdf-renderer.ts +282 -0
- package/src/domain/reporter/share.test.ts +92 -0
- package/src/domain/reporter/share.ts +80 -0
- package/src/domain/scanner/ast/swc-analyzer.test.ts +49 -0
- package/src/domain/scanner/ast/swc-analyzer.ts +124 -0
- package/src/domain/scanner/attestations.ts +97 -0
- package/src/domain/scanner/checks/ai-disclosure.test.ts +90 -0
- package/src/domain/scanner/checks/ai-disclosure.ts +54 -0
- package/src/domain/scanner/checks/ai-literacy.ts +163 -0
- package/src/domain/scanner/checks/behavioral-constraints.test.ts +167 -0
- package/src/domain/scanner/checks/behavioral-constraints.ts +86 -0
- package/src/domain/scanner/checks/compliance-metadata.ts +63 -0
- package/src/domain/scanner/checks/content-marking.ts +74 -0
- package/src/domain/scanner/checks/dep-deep-scan.test.ts +318 -0
- package/src/domain/scanner/checks/dep-deep-scan.ts +137 -0
- package/src/domain/scanner/checks/documentation.test.ts +88 -0
- package/src/domain/scanner/checks/documentation.ts +79 -0
- package/src/domain/scanner/checks/git-history.test.ts +120 -0
- package/src/domain/scanner/checks/git-history.ts +163 -0
- package/src/domain/scanner/checks/gpai-systemic-risk.test.ts +84 -0
- package/src/domain/scanner/checks/gpai-systemic-risk.ts +98 -0
- package/src/domain/scanner/checks/gpai-transparency.ts +94 -0
- package/src/domain/scanner/checks/index.ts +28 -0
- package/src/domain/scanner/checks/industry/index.ts +40 -0
- package/src/domain/scanner/checks/industry/industry.test.ts +287 -0
- package/src/domain/scanner/checks/interaction-logging.test.ts +113 -0
- package/src/domain/scanner/checks/interaction-logging.ts +142 -0
- package/src/domain/scanner/checks/nhi-scanner.test.ts +158 -0
- package/src/domain/scanner/checks/nhi-scanner.ts +78 -0
- package/src/domain/scanner/checks/passport-completeness.test.ts +127 -0
- package/src/domain/scanner/checks/passport-completeness.ts +82 -0
- package/src/domain/scanner/checks/passport-presence.test.ts +56 -0
- package/src/domain/scanner/checks/passport-presence.ts +78 -0
- package/src/domain/scanner/checks/pattern-check-factory.ts +70 -0
- package/src/domain/scanner/checks/permission-scanner.test.ts +279 -0
- package/src/domain/scanner/checks/permission-scanner.ts +90 -0
- package/src/domain/scanner/checks/presence-check-factory.test.ts +124 -0
- package/src/domain/scanner/checks/presence-check-factory.ts +275 -0
- package/src/domain/scanner/compliance-diff.test.ts +165 -0
- package/src/domain/scanner/compliance-diff.ts +138 -0
- package/src/domain/scanner/confidence.test.ts +235 -0
- package/src/domain/scanner/confidence.ts +156 -0
- package/src/domain/scanner/constants.ts +13 -0
- package/src/domain/scanner/create-scanner.ts +573 -0
- package/src/domain/scanner/cross-layer.test.ts +372 -0
- package/src/domain/scanner/cross-layer.ts +232 -0
- package/src/domain/scanner/data/ai-packages.ts +82 -0
- package/src/domain/scanner/debt-calculator.test.ts +89 -0
- package/src/domain/scanner/debt-calculator.ts +111 -0
- package/src/domain/scanner/drift.test.ts +191 -0
- package/src/domain/scanner/drift.ts +73 -0
- package/src/domain/scanner/evidence-store.test.ts +207 -0
- package/src/domain/scanner/evidence-store.ts +195 -0
- package/src/domain/scanner/evidence.test.ts +104 -0
- package/src/domain/scanner/evidence.ts +71 -0
- package/src/domain/scanner/external/bandit-runner.test.ts +45 -0
- package/src/domain/scanner/external/bandit-runner.ts +90 -0
- package/src/domain/scanner/external/checks.ts +321 -0
- package/src/domain/scanner/external/dedup.test.ts +79 -0
- package/src/domain/scanner/external/dedup.ts +94 -0
- package/src/domain/scanner/external/detect-secrets-runner.test.ts +58 -0
- package/src/domain/scanner/external/detect-secrets-runner.ts +81 -0
- package/src/domain/scanner/external/external-scanner.test.ts +221 -0
- package/src/domain/scanner/external/external-scanner.ts +36 -0
- package/src/domain/scanner/external/finding-mapper.test.ts +95 -0
- package/src/domain/scanner/external/finding-mapper.ts +138 -0
- package/src/domain/scanner/external/index.ts +15 -0
- package/src/domain/scanner/external/mappings.ts +93 -0
- package/src/domain/scanner/external/modelscan-runner.test.ts +35 -0
- package/src/domain/scanner/external/modelscan-runner.ts +101 -0
- package/src/domain/scanner/external/path-utils.ts +8 -0
- package/src/domain/scanner/external/runner-port.ts +45 -0
- package/src/domain/scanner/external/semgrep-runner.test.ts +52 -0
- package/src/domain/scanner/external/semgrep-runner.ts +94 -0
- package/src/domain/scanner/external/types.ts +32 -0
- package/src/domain/scanner/finding-attribution.test.ts +444 -0
- package/src/domain/scanner/finding-attribution.ts +195 -0
- package/src/domain/scanner/finding-explainer.test.ts +157 -0
- package/src/domain/scanner/finding-explainer.ts +73 -0
- package/src/domain/scanner/fix-diff-builder.test.ts +272 -0
- package/src/domain/scanner/fix-diff-builder.ts +477 -0
- package/src/domain/scanner/import-graph.test.ts +162 -0
- package/src/domain/scanner/import-graph.ts +198 -0
- package/src/domain/scanner/languages/adapter.test.ts +105 -0
- package/src/domain/scanner/languages/adapter.ts +239 -0
- package/src/domain/scanner/layers/index.ts +24 -0
- package/src/domain/scanner/layers/layer1-files.ts +54 -0
- package/src/domain/scanner/layers/layer2-docs.test.ts +1207 -0
- package/src/domain/scanner/layers/layer2-docs.ts +297 -0
- package/src/domain/scanner/layers/layer2-parsing.ts +217 -0
- package/src/domain/scanner/layers/layer3-config.test.ts +187 -0
- package/src/domain/scanner/layers/layer3-config.ts +279 -0
- package/src/domain/scanner/layers/layer3-parsers.ts +73 -0
- package/src/domain/scanner/layers/layer4-patterns.test.ts +397 -0
- package/src/domain/scanner/layers/layer4-patterns.ts +216 -0
- package/src/domain/scanner/layers/layer5-docs.test.ts +99 -0
- package/src/domain/scanner/layers/layer5-docs.ts +250 -0
- package/src/domain/scanner/layers/layer5-llm.test.ts +146 -0
- package/src/domain/scanner/layers/layer5-llm.ts +262 -0
- package/src/domain/scanner/layers/layer5-targeted.test.ts +93 -0
- package/src/domain/scanner/layers/layer5-targeted.ts +233 -0
- package/src/domain/scanner/layers/lockfile-parsers.test.ts +320 -0
- package/src/domain/scanner/layers/lockfile-parsers.ts +184 -0
- package/src/domain/scanner/regulation-version.test.ts +54 -0
- package/src/domain/scanner/regulation-version.ts +23 -0
- package/src/domain/scanner/role-filter.test.ts +116 -0
- package/src/domain/scanner/role-filter.ts +51 -0
- package/src/domain/scanner/rules/banned-packages-data.ts +553 -0
- package/src/domain/scanner/rules/banned-packages-sdk.ts +65 -0
- package/src/domain/scanner/rules/banned-packages.test.ts +249 -0
- package/src/domain/scanner/rules/banned-packages.ts +55 -0
- package/src/domain/scanner/rules/comment-filter.test.ts +115 -0
- package/src/domain/scanner/rules/comment-filter.ts +297 -0
- package/src/domain/scanner/rules/index.ts +9 -0
- package/src/domain/scanner/rules/nhi-patterns.test.ts +128 -0
- package/src/domain/scanner/rules/nhi-patterns.ts +60 -0
- package/src/domain/scanner/rules/pattern-rules.ts +1152 -0
- package/src/domain/scanner/sbom.test.ts +136 -0
- package/src/domain/scanner/sbom.ts +103 -0
- package/src/domain/scanner/scan-cache.test.ts +136 -0
- package/src/domain/scanner/scan-cache.ts +115 -0
- package/src/domain/scanner/scanner.test.ts +125 -0
- package/src/domain/scanner/score-calculator.test.ts +363 -0
- package/src/domain/scanner/score-calculator.ts +189 -0
- package/src/domain/scanner/security-score.test.ts +107 -0
- package/src/domain/scanner/security-score.ts +116 -0
- package/src/domain/scanner/source-filter.ts +24 -0
- package/src/domain/scanner/validators.ts +223 -0
- package/src/domain/shared/compliance-constants.ts +48 -0
- package/src/domain/shared/disclosure-patterns.ts +16 -0
- package/src/domain/shared/index.ts +6 -0
- package/src/domain/shared/parse-dependencies.ts +21 -0
- package/src/domain/supply-chain/dependency-analyzer.ts +138 -0
- package/src/domain/supply-chain/index.ts +3 -0
- package/src/domain/supply-chain/supply-chain.test.ts +211 -0
- package/src/domain/supply-chain/types.ts +32 -0
- package/src/domain/whatif/config-fixer.ts +187 -0
- package/src/domain/whatif/index.ts +6 -0
- package/src/domain/whatif/scenario-engine.ts +121 -0
- package/src/domain/whatif/simulate-actions.test.ts +161 -0
- package/src/domain/whatif/simulate-actions.ts +114 -0
- package/src/domain/whatif/whatif.test.ts +135 -0
- package/src/e2e/gaps-e2e.test.ts +259 -0
- package/src/e2e/smoke.test.ts +101 -0
- package/src/hooks/hooks-export.test.ts +81 -0
- package/src/hooks/installer.ts +113 -0
- package/src/http/cors.test.ts +38 -0
- package/src/http/create-router.ts +259 -0
- package/src/http/routes/agent.route.ts +380 -0
- package/src/http/routes/audit.route.ts +66 -0
- package/src/http/routes/badge.route.ts +23 -0
- package/src/http/routes/cert.route.ts +66 -0
- package/src/http/routes/chat.route.ts +228 -0
- package/src/http/routes/cost.route.ts +33 -0
- package/src/http/routes/debt.route.ts +29 -0
- package/src/http/routes/disclaimer.route.ts +64 -0
- package/src/http/routes/eval.route.ts +161 -0
- package/src/http/routes/events.route.test.ts +108 -0
- package/src/http/routes/events.route.ts +71 -0
- package/src/http/routes/external-scan.route.ts +24 -0
- package/src/http/routes/file.route.ts +54 -0
- package/src/http/routes/fix.route.ts +219 -0
- package/src/http/routes/frameworks.route.test.ts +66 -0
- package/src/http/routes/frameworks.route.ts +36 -0
- package/src/http/routes/git.route.ts +27 -0
- package/src/http/routes/guided-onboarding.route.ts +65 -0
- package/src/http/routes/import.route.ts +64 -0
- package/src/http/routes/jurisdiction.route.ts +22 -0
- package/src/http/routes/obligations.route.test.ts +122 -0
- package/src/http/routes/obligations.route.ts +110 -0
- package/src/http/routes/onboarding.route.ts +53 -0
- package/src/http/routes/provider.route.ts +42 -0
- package/src/http/routes/proxy.route.ts +40 -0
- package/src/http/routes/redteam.route.ts +84 -0
- package/src/http/routes/report.route.ts +29 -0
- package/src/http/routes/scan.route.ts +104 -0
- package/src/http/routes/share.route.ts +44 -0
- package/src/http/routes/shell.route.ts +27 -0
- package/src/http/routes/status.route.ts +66 -0
- package/src/http/routes/supply-chain.route.ts +121 -0
- package/src/http/routes/sync.route.ts +328 -0
- package/src/http/routes/tools.route.ts +29 -0
- package/src/http/routes/whatif.route.ts +96 -0
- package/src/http/utils/validation.ts +31 -0
- package/src/index.ts +1 -0
- package/src/infra/bundle-fetcher.ts +77 -0
- package/src/infra/cache-storage.ts +34 -0
- package/src/infra/event-bus.ts +31 -0
- package/src/infra/file-collector.ts +61 -0
- package/src/infra/file-ops-adapter.ts +95 -0
- package/src/infra/file-watcher.test.ts +90 -0
- package/src/infra/file-watcher.ts +106 -0
- package/src/infra/git-adapter.ts +93 -0
- package/src/infra/git-history-adapter.ts +41 -0
- package/src/infra/headless-browser.ts +178 -0
- package/src/infra/llm-adapter.test.ts +83 -0
- package/src/infra/llm-adapter.ts +86 -0
- package/src/infra/logger.ts +27 -0
- package/src/infra/project-config.test.ts +74 -0
- package/src/infra/project-config.ts +35 -0
- package/src/infra/rate-limiter.test.ts +36 -0
- package/src/infra/rate-limiter.ts +34 -0
- package/src/infra/retry.ts +46 -0
- package/src/infra/saas-client.ts +123 -0
- package/src/infra/search-adapter.ts +113 -0
- package/src/infra/shell-adapter.ts +68 -0
- package/src/infra/tool-manager.test.ts +99 -0
- package/src/infra/tool-manager.ts +197 -0
- package/src/llm/agents/agent-modes.test.ts +44 -0
- package/src/llm/agents/modes.ts +68 -0
- package/src/llm/routing/cost-routing.test.ts +37 -0
- package/src/llm/routing/cost-tracker.ts +74 -0
- package/src/llm/routing/model-routing.test.ts +79 -0
- package/src/llm/routing/model-routing.ts +38 -0
- package/src/llm/routing/pricing.ts +19 -0
- package/src/llm/sse-protocol.ts +77 -0
- package/src/llm/tool-definitions.ts +83 -0
- package/src/llm/tool-executors.ts +80 -0
- package/src/llm/tools/types.ts +13 -0
- package/src/mcp/create-mcp-stack.ts +82 -0
- package/src/mcp/handlers.ts +245 -0
- package/src/mcp/index.ts +28 -0
- package/src/mcp/mcp-server.test.ts +80 -0
- package/src/mcp/server.ts +79 -0
- package/src/mcp/tools.ts +48 -0
- package/src/onboarding/auto-detect.ts +164 -0
- package/src/onboarding/onboarding.test.ts +89 -0
- package/src/onboarding/profile.ts +169 -0
- package/src/onboarding/questions.ts +112 -0
- package/src/onboarding/wizard.ts +66 -0
- package/src/output/github-issue.ts +32 -0
- package/src/output/json-output.ts +67 -0
- package/src/ports/browser.port.ts +23 -0
- package/src/ports/events.port.ts +28 -0
- package/src/ports/llm.port.ts +23 -0
- package/src/ports/logger.port.ts +6 -0
- package/src/ports/process.port.ts +6 -0
- package/src/ports/scanner.port.ts +15 -0
- package/src/server.ts +134 -0
- package/src/services/badge-service.ts +67 -0
- package/src/services/chat-service.test.ts +162 -0
- package/src/services/chat-service.ts +152 -0
- package/src/services/cost-service.ts +52 -0
- package/src/services/debt-service.ts +65 -0
- package/src/services/eval-integration.test.ts +132 -0
- package/src/services/eval-service.test.ts +373 -0
- package/src/services/eval-service.ts +463 -0
- package/src/services/external-scan-service.ts +60 -0
- package/src/services/file-service.ts +37 -0
- package/src/services/fix-service.test.ts +470 -0
- package/src/services/fix-service.ts +648 -0
- package/src/services/framework-service.test.ts +159 -0
- package/src/services/framework-service.ts +67 -0
- package/src/services/onboarding-service.ts +165 -0
- package/src/services/passport-audit.ts +244 -0
- package/src/services/passport-documents.ts +258 -0
- package/src/services/passport-service-utils.ts +72 -0
- package/src/services/passport-service.test.ts +251 -0
- package/src/services/passport-service.ts +339 -0
- package/src/services/proxy-service.ts +81 -0
- package/src/services/report-service.ts +72 -0
- package/src/services/scan-service.test.ts +470 -0
- package/src/services/scan-service.ts +335 -0
- package/src/services/share-service.ts +108 -0
- package/src/services/shared/backup.ts +23 -0
- package/src/services/status-service.ts +38 -0
- package/src/services/undo-service.test.ts +190 -0
- package/src/services/undo-service.ts +144 -0
- package/src/test-helpers/factories.ts +116 -0
- package/src/types/common.schemas.ts +147 -0
- package/src/types/common.types.ts +292 -0
- package/src/types/contract.test.ts +217 -0
- package/src/types/errors.ts +52 -0
- package/src/types/framework.types.ts +87 -0
- package/src/types/passport-schemas.ts +241 -0
- package/src/types/passport.types.ts +296 -0
- package/src/version.ts +1 -0
- package/tsconfig.json +20 -0
- package/vitest.config.ts +9 -0
|
@@ -0,0 +1,184 @@
|
|
|
1
|
+
# Template 1: AI Literacy Training Policy and Record
|
|
2
|
+
|
|
3
|
+
**Obligation:** eu-ai-act-OBL-001
|
|
4
|
+
**Article:** Article 4
|
|
5
|
+
**For:** Both Deployers and Providers
|
|
6
|
+
**Format:** DOCX / PDF
|
|
7
|
+
**Status:** REQUIRED SINCE FEBRUARY 2, 2025
|
|
8
|
+
|
|
9
|
+
## Document Structure:
|
|
10
|
+
|
|
11
|
+
### 1. Policy Header
|
|
12
|
+
<!-- GUIDANCE: Art. 4 is already enforceable since February 2, 2025. Set the
|
|
13
|
+
Effective Date to no later than your compliance deadline. The review cycle should
|
|
14
|
+
be 12 months maximum. Example: "Version 1.0, effective 2025-02-01, next review
|
|
15
|
+
2026-02-01." -->
|
|
16
|
+
|
|
17
|
+
| Field | Value |
|
|
18
|
+
|-------|-------|
|
|
19
|
+
| Document Title | AI Literacy Policy — [Company Name] |
|
|
20
|
+
| Document ID | ALP-[YYYY]-[NNN] |
|
|
21
|
+
| Version | [X.Y] |
|
|
22
|
+
| Effective Date | [Date] |
|
|
23
|
+
| Approved By | [Name, Title] |
|
|
24
|
+
| Next Review Date | [Date + 12 months] |
|
|
25
|
+
| Applicable Regulation | EU AI Act (Regulation (EU) 2024/1689), Article 4 |
|
|
26
|
+
|
|
27
|
+
### 2. Training Program
|
|
28
|
+
<!-- GUIDANCE: Art. 4 requires literacy "taking into account their technical
|
|
29
|
+
knowledge, experience, education and training, the context the AI systems are
|
|
30
|
+
used in, and the persons on whom the AI systems are used." List ALL AI systems
|
|
31
|
+
in scope with their risk levels. Example: ChatGPT Enterprise (Limited risk, 45
|
|
32
|
+
users) requires Level 2 training; HireVue (High risk, 8 users) requires Level 3. -->
|
|
33
|
+
|
|
34
|
+
**Purpose:** This policy establishes [Company Name]'s approach to ensuring all staff and relevant third parties have sufficient AI literacy as required by Article 4 of the EU AI Act.
|
|
35
|
+
|
|
36
|
+
**Scope:**
|
|
37
|
+
- All employees who interact with, operate, oversee, or make decisions about AI systems
|
|
38
|
+
- Contractors and temporary staff with AI system access
|
|
39
|
+
- Third-party service providers who operate AI systems on behalf of [Company Name]
|
|
40
|
+
- Board members and senior management with AI governance responsibilities
|
|
41
|
+
|
|
42
|
+
**AI Systems in Scope:**
|
|
43
|
+
|
|
44
|
+
| System Name | Provider | Risk Level | Departments Using | Users Count |
|
|
45
|
+
|-------------|----------|------------|-------------------|-------------|
|
|
46
|
+
| [e.g., ChatGPT Enterprise] | [OpenAI] | [Limited] | [Marketing, Sales, Support] | [45] |
|
|
47
|
+
| [e.g., HireVue] | [HireVue Inc.] | [High] | [HR] | [8] |
|
|
48
|
+
| [e.g., Internal ML Pipeline] | [In-house] | [High] | [Data Science, Product] | [12] |
|
|
49
|
+
|
|
50
|
+
### 3. Training Levels
|
|
51
|
+
<!-- GUIDANCE: Define training proportionate to exposure and risk. Level 1 covers
|
|
52
|
+
all staff (what AI is, prohibited practices). Level 2 covers operators (how to
|
|
53
|
+
use specific tools correctly). Level 3 covers technical staff (Art. 9-15
|
|
54
|
+
requirements). Level 4 covers leadership (liability, penalties up to €35M/7%).
|
|
55
|
+
Example: Marketing team using ChatGPT needs Level 2; ML engineers need Level 3. -->
|
|
56
|
+
|
|
57
|
+
**Level 1 — General AI Awareness (All Staff)**
|
|
58
|
+
- Duration: 2 hours
|
|
59
|
+
- Topics: What is AI, How AI systems work (high level), EU AI Act overview and what it means for our company, Prohibited AI practices (what we must NOT do), Our company AI usage policy, How to report concerns
|
|
60
|
+
- Assessment: 10-question quiz, pass threshold: 70%
|
|
61
|
+
- Mandatory for: All employees within 30 days of policy effective date or hiring
|
|
62
|
+
|
|
63
|
+
**Level 2 — AI Operator Training (Staff Using AI Tools)**
|
|
64
|
+
- Duration: 4 hours
|
|
65
|
+
- Prerequisites: Level 1 completed
|
|
66
|
+
- Topics: How to use each specific AI system correctly per provider instructions, Understanding AI outputs (limitations, confidence, potential errors), When to escalate to human review, Data input quality responsibilities, Logging and record-keeping requirements, Transparency obligations (disclosing AI to users/customers)
|
|
67
|
+
- Assessment: Practical exercise + 15-question quiz, pass threshold: 80%
|
|
68
|
+
- Mandatory for: All staff who directly use AI systems in their work
|
|
69
|
+
|
|
70
|
+
**Level 3 — Technical AI Competence (AI Developers/Engineers)**
|
|
71
|
+
- Duration: 8 hours
|
|
72
|
+
- Prerequisites: Level 2 completed
|
|
73
|
+
- Topics: Risk management system requirements, Data governance and bias detection, Technical documentation requirements (Annex IV), Logging architecture requirements (Article 12), Human oversight design (Article 14), Accuracy, robustness, and cybersecurity requirements (Article 15), Conformity assessment process, Post-market monitoring
|
|
74
|
+
- Assessment: Technical exercise + peer review, pass threshold: 85%
|
|
75
|
+
- Mandatory for: AI/ML engineers, data scientists, AI product managers
|
|
76
|
+
|
|
77
|
+
**Level 4 — AI Governance (Leadership)**
|
|
78
|
+
- Duration: 3 hours
|
|
79
|
+
- Prerequisites: Level 1 completed
|
|
80
|
+
- Topics: Board-level AI governance responsibilities, Liability and penalty exposure (up to €35M / 7% turnover), Strategic AI risk management, Quality management system overview, Incident reporting obligations, Regulatory engagement approach
|
|
81
|
+
- Assessment: Discussion-based assessment
|
|
82
|
+
- Mandatory for: C-suite, board members, heads of department, legal/compliance team
|
|
83
|
+
|
|
84
|
+
### 4. Assessment Methods
|
|
85
|
+
<!-- GUIDANCE: Define assessment methods proportionate to each training level.
|
|
86
|
+
Assessments should test practical understanding, not just theoretical knowledge.
|
|
87
|
+
Example: "Level 1: 10-question multiple-choice quiz. Level 2: Practical exercise
|
|
88
|
+
using AI tool + 15-question quiz. Level 3: Technical exercise with peer review." -->
|
|
89
|
+
|
|
90
|
+
| Level | Assessment Type | Pass Threshold | Retake Policy |
|
|
91
|
+
|-------|----------------|----------------|---------------|
|
|
92
|
+
| Level 1 | Multiple-choice quiz (10 questions) | 70% | Unlimited retakes |
|
|
93
|
+
| Level 2 | Practical exercise + quiz (15 questions) | 80% | 2 retakes, then instructor review |
|
|
94
|
+
| Level 3 | Technical exercise + peer review | 85% | Resubmission within 14 days |
|
|
95
|
+
| Level 4 | Discussion-based assessment | N/A (qualitative) | Follow-up meeting if gaps identified |
|
|
96
|
+
|
|
97
|
+
### 5. Training Delivery
|
|
98
|
+
<!-- GUIDANCE: Consider accessibility requirements (disability formats, multiple
|
|
99
|
+
languages for multinational workforce). Platform choice should support completion
|
|
100
|
+
tracking and certificate generation. Example: "LMS with SCORM tracking, available
|
|
101
|
+
in EN/DE/FR, WCAG 2.1 AA compliant." -->
|
|
102
|
+
|
|
103
|
+
- **Method:** Combination of e-learning modules, in-person workshops, and practical exercises
|
|
104
|
+
- **Platform:** [e.g., Complior.ai training modules / internal LMS / external provider]
|
|
105
|
+
- **Languages:** [List languages relevant to your workforce]
|
|
106
|
+
- **Accessibility:** Training materials available in accessible formats per applicable disability requirements
|
|
107
|
+
|
|
108
|
+
### 6. Training Schedule
|
|
109
|
+
<!-- GUIDANCE: Art. 4 does not specify a timeline, but "sufficient level" implies
|
|
110
|
+
timely training. New hires should complete training before accessing AI systems.
|
|
111
|
+
Annual refresh ensures staff stay current with regulatory updates.
|
|
112
|
+
Example: "New hire training within 30 days of start; Level 3 refresh annually." -->
|
|
113
|
+
|
|
114
|
+
| Event | Timing |
|
|
115
|
+
|-------|--------|
|
|
116
|
+
| Initial training (existing staff) | Within 60 days of policy effective date |
|
|
117
|
+
| New hire training | Within 30 days of start date |
|
|
118
|
+
| Annual refresh | Within 12 months of last training |
|
|
119
|
+
| System-specific training | Before first use of new AI system |
|
|
120
|
+
| Update training | Within 30 days of significant regulatory or system change |
|
|
121
|
+
|
|
122
|
+
### 7. Training Record Template
|
|
123
|
+
<!-- GUIDANCE: Maintain auditable records. Each record should link to a verifiable
|
|
124
|
+
certificate. Scores below the pass threshold require re-training. Track "Next Due"
|
|
125
|
+
to prevent lapses. Example: "Employee EMP-042 completed Level 2 on 2025-06-15,
|
|
126
|
+
score 85%, certificate CERT-2025-042, next due 2026-06-15." -->
|
|
127
|
+
|
|
128
|
+
| Employee ID | Name | Department | Role | Level | Completed Date | Score | Trainer | Certificate ID | Next Due |
|
|
129
|
+
|-------------|------|------------|------|-------|----------------|-------|---------|----------------|----------|
|
|
130
|
+
| EMP-001 | [Name] | [Dept] | [Role] | L2 | 2025-06-15 | 85% | [Trainer] | CERT-2025-001 | 2026-06-15 |
|
|
131
|
+
|
|
132
|
+
### 8. Roles and Responsibilities
|
|
133
|
+
<!-- GUIDANCE: Assign a named Program Owner with organizational authority. The
|
|
134
|
+
owner is accountable to regulators. Department heads are responsible for their
|
|
135
|
+
team's completion. Legal/Compliance validates content accuracy.
|
|
136
|
+
Example: "Program Owner: Jane Smith, Head of AI Governance." -->
|
|
137
|
+
|
|
138
|
+
| Role | Responsibility |
|
|
139
|
+
|------|---------------|
|
|
140
|
+
| AI Literacy Program Owner | [Name, Title] — Overall accountability for training program |
|
|
141
|
+
| Training Coordinator | [Name, Title] — Scheduling, logistics, record-keeping |
|
|
142
|
+
| Department Heads | Ensure their staff complete required training on time |
|
|
143
|
+
| All Staff | Complete assigned training and apply learnings |
|
|
144
|
+
| Legal/Compliance | Review training content for regulatory accuracy |
|
|
145
|
+
|
|
146
|
+
### 9. Non-Compliance Escalation
|
|
147
|
+
<!-- GUIDANCE: Define progressive consequences to ensure completion. Restricting
|
|
148
|
+
AI system access for non-compliant staff is both a practical safeguard and a
|
|
149
|
+
regulatory defense. Example: "After 30 days overdue, AI system access credentials
|
|
150
|
+
are suspended until training is completed." -->
|
|
151
|
+
|
|
152
|
+
- Staff who miss training deadlines: reminder at 7 days, escalation to manager at 14 days, escalation to HR at 30 days
|
|
153
|
+
- Persistent non-completion: formal performance discussion, potential access restriction to AI systems
|
|
154
|
+
|
|
155
|
+
### 10. Review and Update
|
|
156
|
+
<!-- GUIDANCE: Trigger-based reviews ensure the policy stays current. Key triggers
|
|
157
|
+
include: new AI Act implementing acts, adoption of new AI systems, audit findings,
|
|
158
|
+
and incidents. Example: "Policy updated within 30 days of new Commission guidelines
|
|
159
|
+
or adoption of any new high-risk AI system." -->
|
|
160
|
+
|
|
161
|
+
This policy is reviewed annually or upon:
|
|
162
|
+
- New EU AI Act guidance or amendments
|
|
163
|
+
- Adoption of new AI systems
|
|
164
|
+
- Significant changes to existing AI systems
|
|
165
|
+
- Audit findings requiring training updates
|
|
166
|
+
|
|
167
|
+
### Sign-off:
|
|
168
|
+
<!-- GUIDANCE: Minimum sign-offs: Policy Owner, HR (for training logistics),
|
|
169
|
+
Legal/Compliance (for regulatory accuracy), and CEO/MD (organizational commitment).
|
|
170
|
+
Additional sign-offs may include Works Council where required by national law.
|
|
171
|
+
Example: In Germany, Betriebsrat consultation is required for training policies. -->
|
|
172
|
+
|
|
173
|
+
| Role | Name | Signature | Date |
|
|
174
|
+
|------|------|-----------|------|
|
|
175
|
+
| Policy Owner | _________________ | _________________ | _________ |
|
|
176
|
+
| HR Director | _________________ | _________________ | _________ |
|
|
177
|
+
| Legal/Compliance | _________________ | _________________ | _________ |
|
|
178
|
+
| CEO/Managing Director | _________________ | _________________ | _________ |
|
|
179
|
+
|
|
180
|
+
## Legal Formulation:
|
|
181
|
+
|
|
182
|
+
**EN:** "In compliance with Article 4 of Regulation (EU) 2024/1689 (EU Artificial Intelligence Act), [Company Name] ensures that all staff and relevant third parties dealing with the operation and use of AI systems on its behalf have a sufficient level of AI literacy, taking into account their technical knowledge, experience, education and training, the context in which the AI systems are to be used, and the persons or groups of persons on whom the AI systems are to be used."
|
|
183
|
+
|
|
184
|
+
**DE:** „Gemäß Artikel 4 der Verordnung (EU) 2024/1689 (Verordnung über Künstliche Intelligenz) stellt [Firmenname] sicher, dass alle Mitarbeitenden und relevanten Dritte, die mit dem Betrieb und der Nutzung von KI-Systemen in ihrem Auftrag befasst sind, über ein ausreichendes Maß an KI-Kompetenz verfügen, unter Berücksichtigung ihrer technischen Kenntnisse, Erfahrung, Ausbildung und Schulung, des Kontexts, in dem die KI-Systeme eingesetzt werden sollen, sowie der Personen oder Personengruppen, gegenüber denen die KI-Systeme eingesetzt werden sollen."
|
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
# Template 2: Article 5 Prohibited Practices Screening Report
|
|
2
|
+
|
|
3
|
+
**Obligation:** eu-ai-act-OBL-002 (and sub-obligations OBL-002a through OBL-002g)
|
|
4
|
+
**Article:** Article 5
|
|
5
|
+
**For:** Both Deployers and Providers
|
|
6
|
+
**Format:** DOCX / PDF
|
|
7
|
+
**Status:** REQUIRED SINCE FEBRUARY 2, 2025
|
|
8
|
+
**Penalty for violation:** UP TO €35M / 7% GLOBAL TURNOVER
|
|
9
|
+
|
|
10
|
+
## Document Structure:
|
|
11
|
+
|
|
12
|
+
### 1. Report Header
|
|
13
|
+
<!-- GUIDANCE: This report documents compliance with Art. 5 — the highest-penalty
|
|
14
|
+
provision (up to €35M / 7% global turnover). Ensure the Commission Guidelines
|
|
15
|
+
reference reflects the February 2025 publication. Re-screen whenever adopting a
|
|
16
|
+
new AI system. Example: "ART5-2026-001, screening triggered by adoption of new
|
|
17
|
+
NLP pipeline on 2026-01-15." -->
|
|
18
|
+
|
|
19
|
+
| Field | Value |
|
|
20
|
+
|-------|-------|
|
|
21
|
+
| Document Title | Article 5 Prohibited Practices Screening Report — [Company Name] |
|
|
22
|
+
| Report ID | ART5-[YYYY]-[NNN] |
|
|
23
|
+
| Date of Screening | [Date] |
|
|
24
|
+
| Conducted By | [Name, Title] |
|
|
25
|
+
| Reviewed By | [Name, Title] |
|
|
26
|
+
| Regulation Reference | EU AI Act (Regulation (EU) 2024/1689), Article 5 |
|
|
27
|
+
| Commission Guidelines Reference | Guidelines on Prohibited AI Practices (Feb 2025) |
|
|
28
|
+
|
|
29
|
+
### 2. AI System Inventory
|
|
30
|
+
<!-- GUIDANCE: List EVERY AI system in the organization, not just those suspected
|
|
31
|
+
of prohibited practices. Art. 5 applies regardless of risk level — even minimal-risk
|
|
32
|
+
systems could contain prohibited features. Include shadow IT if discovered.
|
|
33
|
+
Example: A marketing team's unapproved use of emotion-detection in customer calls
|
|
34
|
+
would fall under Art. 5(1)(f). -->
|
|
35
|
+
|
|
36
|
+
| # | System Name | Provider | Description | Domain | Deployed Since | Risk Level |
|
|
37
|
+
|---|-------------|----------|-------------|--------|----------------|------------|
|
|
38
|
+
| 1 | [e.g., Salesforce Einstein] | [Salesforce] | [Lead scoring] | [Sales] | [2024-03] | [Minimal] |
|
|
39
|
+
| 2 | [e.g., Textio] | [Textio] | [Job posting optimization] | [HR] | [2024-06] | [Limited] |
|
|
40
|
+
| 3 | [e.g., Custom NLP Pipeline] | [In-house] | [Customer sentiment] | [Support] | [2025-01] | [Limited] |
|
|
41
|
+
|
|
42
|
+
### 3. Screening Matrix — Per System
|
|
43
|
+
<!-- GUIDANCE: Complete ALL 8 checks for EACH system — do not skip checks that
|
|
44
|
+
seem obviously inapplicable. Document your reasoning for each "No" conclusion.
|
|
45
|
+
Art. 5(1)(a) "subliminal techniques" includes dark patterns in AI-powered UX.
|
|
46
|
+
Example: An AI chatbot that uses urgency cues to pressure purchases could trigger
|
|
47
|
+
Art. 5(1)(a) manipulative techniques. -->
|
|
48
|
+
|
|
49
|
+
**For EACH AI system, complete the following assessment:**
|
|
50
|
+
|
|
51
|
+
---
|
|
52
|
+
|
|
53
|
+
**System: [System Name]**
|
|
54
|
+
|
|
55
|
+
| # | Prohibited Practice (Article 5(1)) | Applicable? | Analysis | Conclusion |
|
|
56
|
+
|---|-------------------------------------|-------------|----------|------------|
|
|
57
|
+
| a | **Subliminal/Manipulative/Deceptive Techniques** — Does this AI deploy techniques beyond a person's consciousness, or purposefully manipulative or deceptive techniques, that materially distort behavior causing significant harm? | Yes / No / N/A | [Detailed analysis. Consider: Does the AI personalize content in ways that could manipulate? Does it use dark patterns? Does it target decision-making vulnerabilities? Cite specific features or capabilities.] | PASS / FAIL / REVIEW |
|
|
58
|
+
| b | **Exploitation of Vulnerabilities** — Does this AI exploit vulnerabilities related to age, disability, or social/economic situation to distort behavior causing significant harm? | Yes / No / N/A | [Analysis: Does the system interact with vulnerable populations? Could it exploit their specific vulnerabilities? Is content/behavior adapted based on vulnerability indicators?] | PASS / FAIL / REVIEW |
|
|
59
|
+
| c | **Social Scoring** — Does this AI evaluate or classify persons based on social behavior or personal characteristics, leading to detrimental or disproportionate treatment in unrelated contexts? | Yes / No / N/A | [Analysis: Does the system score individuals? Are scores used to determine access to services/rights? Is scoring context-appropriate or does it leak into unrelated decisions?] | PASS / FAIL / REVIEW |
|
|
60
|
+
| d | **Criminal Risk Profiling** — Does this AI assess criminal risk of individuals based solely on profiling or personality traits? | Yes / No / N/A | [Analysis: Does the system predict criminal behavior? If yes, is it based on objective verifiable facts (allowed) or personality/demographic profiling (prohibited)?] | PASS / FAIL / REVIEW |
|
|
61
|
+
| e | **Untargeted Facial Image Scraping** — Does this AI create or expand facial recognition databases through untargeted scraping from internet or CCTV? | Yes / No / N/A | [Analysis: Does the system collect/process facial images? If yes, what is the source? Is collection targeted and lawful, or untargeted mass scraping?] | PASS / FAIL / REVIEW |
|
|
62
|
+
| f | **Emotion Recognition in Workplace/Education** — Does this AI infer emotions of persons in workplace or educational institution settings? | Yes / No / N/A | [Analysis: Does the system detect or infer emotions (facial expression, voice tone, body language, text sentiment)? Is it used in workplace or education context? Medical/safety exception documentation if claimed.] | PASS / FAIL / REVIEW |
|
|
63
|
+
| g | **Biometric Categorization by Sensitive Characteristics** — Does this AI use biometric data to categorize persons by race, political opinions, trade union membership, religion, sex life, or sexual orientation? | Yes / No / N/A | [Analysis: Does the system process biometric data? Does it infer any sensitive characteristics from biometric inputs?] | PASS / FAIL / REVIEW |
|
|
64
|
+
| h | **Real-Time Remote Biometric ID in Public Spaces** — Does this AI perform real-time remote biometric identification in publicly accessible spaces for law enforcement purposes? | Yes / No / N/A | [Analysis: Does the system perform real-time biometric identification? Is it in publicly accessible spaces? For law enforcement? If yes, do any narrow exceptions (Art. 5(2)-(3)) apply?] | PASS / FAIL / REVIEW |
|
|
65
|
+
|
|
66
|
+
---
|
|
67
|
+
|
|
68
|
+
[Repeat screening matrix for each AI system in inventory]
|
|
69
|
+
|
|
70
|
+
### 4. Summary Results
|
|
71
|
+
<!-- GUIDANCE: Aggregate results across all systems. Any FAIL requires immediate
|
|
72
|
+
action — continued use of a prohibited system exposes the organization to maximum
|
|
73
|
+
penalties. REVIEW items should have a deadline for resolution.
|
|
74
|
+
Example: "12 systems screened: 10 PASS, 2 REVIEW (deadline: 2026-04-01), 0 FAIL." -->
|
|
75
|
+
|
|
76
|
+
| Total Systems Screened | PASS (All Clear) | REVIEW (Needs Further Analysis) | FAIL (Prohibited Use Detected) |
|
|
77
|
+
|------------------------|------------------|---------------------------------|-------------------------------|
|
|
78
|
+
| [Number] | [Number] | [Number] | [Number] |
|
|
79
|
+
|
|
80
|
+
### 5. Systems Requiring Action
|
|
81
|
+
<!-- GUIDANCE: For each system flagged REVIEW or FAIL, specify the exact prohibited
|
|
82
|
+
practice reference (e.g., "Art. 5(1)(c)"), the required action, and a named
|
|
83
|
+
responsible person. Cessation of prohibited use must be immediate per Art. 5.
|
|
84
|
+
Example: "Emotion detection feature in call center AI — cease use immediately,
|
|
85
|
+
remove feature by 2026-04-01, responsible: CTO." -->
|
|
86
|
+
|
|
87
|
+
| System | Issue | Prohibited Practice | Required Action | Deadline | Responsible |
|
|
88
|
+
|--------|-------|---------------------|-----------------|----------|-------------|
|
|
89
|
+
| [Name] | [Description] | Art. 5(1)([x]) | [Cease use / Modify / Remove feature] | [Date] | [Name] |
|
|
90
|
+
|
|
91
|
+
### 6. Methodology Notes
|
|
92
|
+
<!-- GUIDANCE: Document your screening methodology to demonstrate due diligence.
|
|
93
|
+
Include: who was interviewed, what documentation was reviewed, whether system
|
|
94
|
+
testing was performed. Apply the precautionary principle for uncertain cases.
|
|
95
|
+
Example: "Reviewed provider documentation, tested system with synthetic data,
|
|
96
|
+
interviewed 3 system operators, reviewed source code for in-house systems." -->
|
|
97
|
+
|
|
98
|
+
- This screening was conducted by reviewing: system documentation, provider disclosures, system functionality testing, code review (where applicable), and interviews with system operators.
|
|
99
|
+
- Classification criteria follow the European Commission's Guidelines on Prohibited AI Practices published February 2025.
|
|
100
|
+
- Where uncertainty exists, the precautionary principle is applied: the system is flagged for REVIEW and further expert analysis is required before continued use.
|
|
101
|
+
|
|
102
|
+
### 7. Sign-off
|
|
103
|
+
<!-- GUIDANCE: The reviewer must be independent of the assessment — ideally
|
|
104
|
+
Legal/Compliance. Schedule the next screening at least annually and upon any
|
|
105
|
+
new AI system adoption. Example: "Next screening due 2027-03-01, or upon
|
|
106
|
+
adoption of any new AI system, whichever is earlier." -->
|
|
107
|
+
|
|
108
|
+
| Role | Name | Signature | Date |
|
|
109
|
+
|------|------|-----------|------|
|
|
110
|
+
| Assessor | _________________ | _________________ | _________ |
|
|
111
|
+
| Reviewer (Legal/Compliance) | _________________ | _________________ | _________ |
|
|
112
|
+
| Decision Maker | _________________ | _________________ | _________ |
|
|
113
|
+
|
|
114
|
+
**Next Screening Due:** [Date — recommend annually or upon adoption of any new AI system]
|
|
115
|
+
|
|
116
|
+
## Example Completed Entry:
|
|
117
|
+
|
|
118
|
+
**System: Salesforce Einstein Lead Scoring**
|
|
119
|
+
|
|
120
|
+
| # | Prohibited Practice | Applicable? | Analysis | Conclusion |
|
|
121
|
+
|---|---------------------|-------------|----------|------------|
|
|
122
|
+
| a | Subliminal/Manipulative | No | System scores inbound leads based on explicit company data (company size, industry, engagement history). Does not interact with or attempt to influence lead behavior. No dark patterns. | PASS |
|
|
123
|
+
| b | Exploitation of Vulnerable | No | B2B context only. No individual vulnerability indicators processed. | PASS |
|
|
124
|
+
| c | Social Scoring | No | Scores are business leads, not individuals' social behavior. Score is used only for sales prioritization, not access to services. | PASS |
|
|
125
|
+
| d | Criminal Risk Profiling | No | N/A — not used for criminal risk assessment. | PASS |
|
|
126
|
+
| e | Facial Scraping | No | No facial/biometric data processed. | PASS |
|
|
127
|
+
| f | Workplace Emotion Recognition | No | No emotion detection capability. | PASS |
|
|
128
|
+
| g | Biometric Categorization | No | No biometric data processed. | PASS |
|
|
129
|
+
| h | Real-Time Biometric ID | No | N/A — not a biometric system. | PASS |
|
|
130
|
+
|
|
131
|
+
**Overall: PASS — No prohibited practices identified.**
|
|
@@ -0,0 +1,145 @@
|
|
|
1
|
+
# Data Governance Policy
|
|
2
|
+
|
|
3
|
+
> **Regulation**: EU AI Act (Regulation (EU) 2024/1689), Article 10
|
|
4
|
+
> **Obligation**: OBL-004 — Data and Data Governance
|
|
5
|
+
> **For**: Providers of High-Risk AI Systems
|
|
6
|
+
> **Deadline**: August 2, 2026
|
|
7
|
+
> **Document ID**: DGP-[YYYY]-[NNN]
|
|
8
|
+
|
|
9
|
+
<!-- GUIDANCE: Art. 10 requires high-risk AI systems to be developed using training, validation,
|
|
10
|
+
and testing data sets that meet specific quality criteria. This document establishes
|
|
11
|
+
the data governance framework. -->
|
|
12
|
+
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
## 1. Document Control
|
|
16
|
+
|
|
17
|
+
| Field | Value |
|
|
18
|
+
|-------|-------|
|
|
19
|
+
| AI System | [AI System Name] |
|
|
20
|
+
| Provider | [Company Name] |
|
|
21
|
+
| Version | [X.Y] |
|
|
22
|
+
| Risk Class | [Risk Class] |
|
|
23
|
+
| Created | [Date] |
|
|
24
|
+
| Last Review | [Date] |
|
|
25
|
+
| Next Review | |
|
|
26
|
+
| Approved By | [Name, Title] |
|
|
27
|
+
|
|
28
|
+
---
|
|
29
|
+
|
|
30
|
+
## 2. Data Sources
|
|
31
|
+
|
|
32
|
+
<!-- GUIDANCE: Art. 10(2)(a) — Describe design choices, data collection processes,
|
|
33
|
+
the origin of data, and in the case of personal data, the original purpose of collection. -->
|
|
34
|
+
|
|
35
|
+
| # | Source Name | Type | Origin | Personal Data? | Legal Basis | Volume |
|
|
36
|
+
|---|-----------|------|--------|----------------|-------------|--------|
|
|
37
|
+
| 1 | | Training / Validation / Test | | Yes/No | | |
|
|
38
|
+
|
|
39
|
+
---
|
|
40
|
+
|
|
41
|
+
## 3. Collection Methods
|
|
42
|
+
|
|
43
|
+
<!-- GUIDANCE: Art. 10(2)(a)-(b) — Document data collection processes and data preparation
|
|
44
|
+
operations such as annotation, labelling, cleaning, updating, enrichment, aggregation. -->
|
|
45
|
+
|
|
46
|
+
### 3.1 Data Collection
|
|
47
|
+
|
|
48
|
+
| Method | Description | Frequency | Responsible |
|
|
49
|
+
|--------|-------------|-----------|-------------|
|
|
50
|
+
| | | | |
|
|
51
|
+
|
|
52
|
+
### 3.2 Data Preparation
|
|
53
|
+
|
|
54
|
+
| Step | Description | Tools Used | QA Check |
|
|
55
|
+
|------|-------------|-----------|----------|
|
|
56
|
+
| Annotation | | | |
|
|
57
|
+
| Labelling | | | |
|
|
58
|
+
| Cleaning | | | |
|
|
59
|
+
| Enrichment | | | |
|
|
60
|
+
| Aggregation | | | |
|
|
61
|
+
|
|
62
|
+
---
|
|
63
|
+
|
|
64
|
+
## 4. Quality Metrics
|
|
65
|
+
|
|
66
|
+
<!-- GUIDANCE: Art. 10(2)(f) — Examination in view of possible biases that are likely
|
|
67
|
+
to affect health, safety, or fundamental rights. Art. 10(3) — Data sets shall be
|
|
68
|
+
relevant, sufficiently representative, and to the best extent possible, free of errors
|
|
69
|
+
and complete in view of the intended purpose. -->
|
|
70
|
+
|
|
71
|
+
| Metric | Target | Current | Measurement Method | Last Measured |
|
|
72
|
+
|--------|--------|---------|-------------------|---------------|
|
|
73
|
+
| Completeness | | | | |
|
|
74
|
+
| Accuracy | | | | |
|
|
75
|
+
| Representativeness | | | | |
|
|
76
|
+
| Timeliness | | | | |
|
|
77
|
+
| Consistency | | | | |
|
|
78
|
+
|
|
79
|
+
---
|
|
80
|
+
|
|
81
|
+
## 5. Bias Analysis
|
|
82
|
+
|
|
83
|
+
<!-- GUIDANCE: Art. 10(2)(f)-(g) — Identify possible biases and describe measures
|
|
84
|
+
to detect, prevent, and mitigate them. Identify relevant data gaps or shortcomings
|
|
85
|
+
and how they can be addressed. -->
|
|
86
|
+
|
|
87
|
+
### 5.1 Identified Biases
|
|
88
|
+
|
|
89
|
+
| # | Bias Type | Affected Group | Detection Method | Severity | Status |
|
|
90
|
+
|---|-----------|----------------|-----------------|----------|--------|
|
|
91
|
+
| 1 | | | | Low/Medium/High | Identified/Mitigated/Monitored |
|
|
92
|
+
|
|
93
|
+
### 5.2 Mitigation Measures
|
|
94
|
+
|
|
95
|
+
| Bias | Mitigation | Implementation Status | Responsible |
|
|
96
|
+
|------|-----------|----------------------|-------------|
|
|
97
|
+
| | | Planned/Implemented/Verified | |
|
|
98
|
+
|
|
99
|
+
---
|
|
100
|
+
|
|
101
|
+
## 6. Representativeness
|
|
102
|
+
|
|
103
|
+
<!-- GUIDANCE: Art. 10(3) — Data sets shall take into account the specific geographical,
|
|
104
|
+
contextual, behavioural, or functional setting within which the AI system is intended
|
|
105
|
+
to be used. Art. 10(4) — Where special categories of personal data are strictly
|
|
106
|
+
necessary for bias detection and correction, additional safeguards apply. -->
|
|
107
|
+
|
|
108
|
+
### 6.1 Population Coverage
|
|
109
|
+
|
|
110
|
+
| Demographic | Representation in Data | Target Population | Gap |
|
|
111
|
+
|-------------|----------------------|-------------------|-----|
|
|
112
|
+
| Geographic | | | |
|
|
113
|
+
| Age groups | | | |
|
|
114
|
+
| Gender | | | |
|
|
115
|
+
|
|
116
|
+
### 6.2 Special Categories of Personal Data (Art. 10(5))
|
|
117
|
+
|
|
118
|
+
| Category | Used? | Justification | Safeguards |
|
|
119
|
+
|----------|-------|--------------|------------|
|
|
120
|
+
| Racial/ethnic origin | No | | |
|
|
121
|
+
| Political opinions | No | | |
|
|
122
|
+
| Religious beliefs | No | | |
|
|
123
|
+
| Health data | No | | |
|
|
124
|
+
| Biometric data | No | | |
|
|
125
|
+
|
|
126
|
+
---
|
|
127
|
+
|
|
128
|
+
## 7. Data Retention and Access Control
|
|
129
|
+
|
|
130
|
+
<!-- GUIDANCE: Ensure compliance with GDPR for personal data and document access controls
|
|
131
|
+
for training/validation/test datasets. -->
|
|
132
|
+
|
|
133
|
+
| Dataset | Retention Period | Access Level | Encryption | Deletion Policy |
|
|
134
|
+
|---------|-----------------|-------------|------------|----------------|
|
|
135
|
+
| | | | | |
|
|
136
|
+
|
|
137
|
+
---
|
|
138
|
+
|
|
139
|
+
## Sign-off
|
|
140
|
+
|
|
141
|
+
| Role | Name | Signature | Date |
|
|
142
|
+
|------|------|-----------|------|
|
|
143
|
+
| Data Officer | | | |
|
|
144
|
+
| Technical Lead | | | |
|
|
145
|
+
| DPO / Privacy Officer | | | |
|
|
@@ -0,0 +1,161 @@
|
|
|
1
|
+
# EU Declaration of Conformity
|
|
2
|
+
|
|
3
|
+
> **Regulation**: EU AI Act (Regulation (EU) 2024/1689), Article 47 / Annex V
|
|
4
|
+
> **Obligation**: OBL-019 — EU Declaration of Conformity
|
|
5
|
+
> **For**: Providers of High-Risk AI Systems
|
|
6
|
+
> **Deadline**: August 2, 2026
|
|
7
|
+
> **Document ID**: DOC-[YYYY]-[NNN]
|
|
8
|
+
|
|
9
|
+
<!-- GUIDANCE: Art. 47 requires a SEPARATE declaration for each high-risk AI system.
|
|
10
|
+
It must be kept up to date and available to national authorities for 10 years
|
|
11
|
+
after the system is placed on the market. The content shall follow Annex V.
|
|
12
|
+
Keep a signed copy with the technical documentation (Art. 18). -->
|
|
13
|
+
|
|
14
|
+
*In accordance with Article 47 of Regulation (EU) 2024/1689 (Artificial Intelligence Act)*
|
|
15
|
+
|
|
16
|
+
---
|
|
17
|
+
|
|
18
|
+
## 1. AI System Identification (Annex V §1)
|
|
19
|
+
|
|
20
|
+
| Field | Value |
|
|
21
|
+
|-------|-------|
|
|
22
|
+
| AI System Name | [AI System Name] |
|
|
23
|
+
| System Type | |
|
|
24
|
+
| Version | [X.Y] |
|
|
25
|
+
| Unique Reference / Serial | |
|
|
26
|
+
| Risk Class | [Risk Class] |
|
|
27
|
+
|
|
28
|
+
---
|
|
29
|
+
|
|
30
|
+
## 2. Provider Information (Annex V §2)
|
|
31
|
+
|
|
32
|
+
| Field | Value |
|
|
33
|
+
|-------|-------|
|
|
34
|
+
| Provider Name | [Company Name] |
|
|
35
|
+
| Registered Address | |
|
|
36
|
+
| Contact Person | |
|
|
37
|
+
| Contact Email | |
|
|
38
|
+
| Authorised Representative (if applicable) | |
|
|
39
|
+
| Representative Address (if applicable) | |
|
|
40
|
+
|
|
41
|
+
---
|
|
42
|
+
|
|
43
|
+
## 3. Sole Responsibility Statement (Annex V §3)
|
|
44
|
+
|
|
45
|
+
This EU declaration of conformity is issued under the sole responsibility of the provider named in section 2.
|
|
46
|
+
|
|
47
|
+
---
|
|
48
|
+
|
|
49
|
+
## 4. Object of Declaration (Annex V §4)
|
|
50
|
+
|
|
51
|
+
<!-- GUIDANCE: Describe the AI system unambiguously so it can be traced.
|
|
52
|
+
Include software version, model identifiers, deployment environment. -->
|
|
53
|
+
|
|
54
|
+
| Field | Value |
|
|
55
|
+
|-------|-------|
|
|
56
|
+
| System Description | [Description] |
|
|
57
|
+
| Intended Purpose | |
|
|
58
|
+
| Software Version | [X.Y] |
|
|
59
|
+
| Model Identifier | |
|
|
60
|
+
|
|
61
|
+
---
|
|
62
|
+
|
|
63
|
+
## 5. Conformity Statement (Annex V §5)
|
|
64
|
+
|
|
65
|
+
The AI system described in section 4 is in conformity with:
|
|
66
|
+
|
|
67
|
+
- [ ] Regulation (EU) 2024/1689 — Artificial Intelligence Act
|
|
68
|
+
- [ ] Regulation (EU) 2016/679 — General Data Protection Regulation (where applicable)
|
|
69
|
+
- [ ] Other applicable Union harmonisation legislation: _________________
|
|
70
|
+
|
|
71
|
+
---
|
|
72
|
+
|
|
73
|
+
## 6. Standards Applied (Annex V §6)
|
|
74
|
+
|
|
75
|
+
<!-- GUIDANCE: List specific harmonised standards or common specifications.
|
|
76
|
+
If no harmonised standards exist yet, state which standards/specifications
|
|
77
|
+
you followed and explain why they are appropriate. -->
|
|
78
|
+
|
|
79
|
+
| Standard / Specification | Title | Relevant Articles Covered |
|
|
80
|
+
|--------------------------|-------|--------------------------|
|
|
81
|
+
| | | |
|
|
82
|
+
|
|
83
|
+
---
|
|
84
|
+
|
|
85
|
+
## 7. Notified Body (Annex V §7)
|
|
86
|
+
|
|
87
|
+
<!-- GUIDANCE: Only applicable if conformity assessment was performed by a notified body
|
|
88
|
+
(Annex VII route). For internal control (Annex VI), state "Not applicable". -->
|
|
89
|
+
|
|
90
|
+
| Field | Value |
|
|
91
|
+
|-------|-------|
|
|
92
|
+
| Notified Body Name | Not applicable / [Name] |
|
|
93
|
+
| Notified Body Number | |
|
|
94
|
+
| Certificate Reference | |
|
|
95
|
+
| Intervention Description | |
|
|
96
|
+
| Certificate Date | |
|
|
97
|
+
|
|
98
|
+
---
|
|
99
|
+
|
|
100
|
+
## 8. Conformity Assessment Procedure (Annex V §8)
|
|
101
|
+
|
|
102
|
+
| Field | Value |
|
|
103
|
+
|-------|-------|
|
|
104
|
+
| Assessment Route | Annex VI (internal control) / Annex VII (notified body) |
|
|
105
|
+
| Assessment Date | |
|
|
106
|
+
| Date of First CE Marking | |
|
|
107
|
+
| Technical Documentation Reference | [TDD-YYYY-NNN] |
|
|
108
|
+
| Risk Management Reference | [RMS-YYYY-NNN] |
|
|
109
|
+
| QMS Reference | [QMS-YYYY-NNN] |
|
|
110
|
+
|
|
111
|
+
---
|
|
112
|
+
|
|
113
|
+
## 9. Evidence
|
|
114
|
+
|
|
115
|
+
### 9.1 Documents Reviewed
|
|
116
|
+
|
|
117
|
+
| Document | Reference | Status |
|
|
118
|
+
|----------|-----------|--------|
|
|
119
|
+
| Technical Documentation (Art. 11) | | Complete / In progress |
|
|
120
|
+
| Risk Management System (Art. 9) | | Complete / In progress |
|
|
121
|
+
| Data Governance (Art. 10) | | Complete / In progress |
|
|
122
|
+
| Quality Management System (Art. 17) | | Complete / In progress |
|
|
123
|
+
| Instructions for Use (Art. 13) | | Complete / In progress |
|
|
124
|
+
|
|
125
|
+
### 9.2 Tests Conducted
|
|
126
|
+
|
|
127
|
+
| Test | Date | Result | Report Reference |
|
|
128
|
+
|------|------|--------|-----------------|
|
|
129
|
+
| Accuracy (Art. 15) | | Pass/Fail | |
|
|
130
|
+
| Robustness (Art. 15) | | Pass/Fail | |
|
|
131
|
+
| Cybersecurity (Art. 15) | | Pass/Fail | |
|
|
132
|
+
| Bias/Fairness (Art. 10) | | Pass/Fail | |
|
|
133
|
+
|
|
134
|
+
---
|
|
135
|
+
|
|
136
|
+
## 10. Additional Information
|
|
137
|
+
|
|
138
|
+
| Field | Value |
|
|
139
|
+
|-------|-------|
|
|
140
|
+
| EU Database Registration (Art. 71) | |
|
|
141
|
+
| Post-Market Monitoring Plan Ref | |
|
|
142
|
+
| Validity Period | |
|
|
143
|
+
| Review Schedule | |
|
|
144
|
+
|
|
145
|
+
---
|
|
146
|
+
|
|
147
|
+
## Signatory
|
|
148
|
+
|
|
149
|
+
Signed for and on behalf of: **[Company Name]**
|
|
150
|
+
|
|
151
|
+
| Field | Value |
|
|
152
|
+
|-------|-------|
|
|
153
|
+
| Place | |
|
|
154
|
+
| Date | [Date] |
|
|
155
|
+
| Name | |
|
|
156
|
+
| Title / Function | |
|
|
157
|
+
| Signature | |
|
|
158
|
+
|
|
159
|
+
---
|
|
160
|
+
|
|
161
|
+
*This declaration shall be kept for 10 years after the AI system has been placed on the market or put into service (Art. 18).*
|