@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,160 @@
|
|
|
1
|
+
{
|
|
2
|
+
"timeline": {
|
|
3
|
+
"regulation_id": "eu-ai-act",
|
|
4
|
+
"key_dates": [
|
|
5
|
+
{
|
|
6
|
+
"date": "2024-06-13",
|
|
7
|
+
"event": "EU AI Act adopted by European Parliament and Council",
|
|
8
|
+
"impact_on_product": "Begin processing regulation content. Start building compliance framework.",
|
|
9
|
+
"status": "passed"
|
|
10
|
+
},
|
|
11
|
+
{
|
|
12
|
+
"date": "2024-07-12",
|
|
13
|
+
"event": "Published in Official Journal of the European Union",
|
|
14
|
+
"impact_on_product": "Official text available. Finalize regulatory parsing.",
|
|
15
|
+
"status": "passed"
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
"date": "2024-08-01",
|
|
19
|
+
"event": "Entry into force (20 days after publication)",
|
|
20
|
+
"impact_on_product": "Regulation is law. Countdown timers start for all phases.",
|
|
21
|
+
"status": "passed"
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
"date": "2025-02-02",
|
|
25
|
+
"event": "Phase 1: Prohibited practices (Art. 5) and AI literacy (Art. 4) apply",
|
|
26
|
+
"impact_on_product": "Prohibited practices screening and AI literacy modules must be live. Article 5 checklist and training templates must be available.",
|
|
27
|
+
"status": "passed"
|
|
28
|
+
},
|
|
29
|
+
{
|
|
30
|
+
"date": "2025-02-02",
|
|
31
|
+
"event": "Commission published Guidelines on Prohibited AI Practices and AI System Definition",
|
|
32
|
+
"impact_on_product": "Update prohibited practices screening logic and definition matching based on official guidelines.",
|
|
33
|
+
"status": "passed"
|
|
34
|
+
},
|
|
35
|
+
{
|
|
36
|
+
"date": "2025-08-02",
|
|
37
|
+
"event": "Phase 2: GPAI rules apply. Governance bodies operational. Penalty regime in force.",
|
|
38
|
+
"impact_on_product": "GPAI compliance modules must be live. Annex XI/XII documentation templates available. Code of Practice integration. Penalty calculator active.",
|
|
39
|
+
"status": "passed"
|
|
40
|
+
},
|
|
41
|
+
{
|
|
42
|
+
"date": "2025-08-02",
|
|
43
|
+
"event": "GPAI Code of Practice finalized and published",
|
|
44
|
+
"impact_on_product": "Integrate Code of Practice requirements into GPAI provider workflow. Update technical documentation templates.",
|
|
45
|
+
"status": "passed"
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
"date": "2025-08-02",
|
|
49
|
+
"event": "Member States designate national competent authorities. Penalty rules notified.",
|
|
50
|
+
"impact_on_product": "Build authority directory per Member State. Enable jurisdiction-specific penalty calculations. Map enforcement contacts.",
|
|
51
|
+
"status": "passed"
|
|
52
|
+
},
|
|
53
|
+
{
|
|
54
|
+
"date": "2025-12-17",
|
|
55
|
+
"event": "Commission published first draft Code of Practice on marking/labeling AI-generated content",
|
|
56
|
+
"impact_on_product": "Update content marking SDK requirements per Code of Practice. Integrate C2PA and marking standards referenced.",
|
|
57
|
+
"status": "passed"
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
"date": "2026-02-02",
|
|
61
|
+
"event": "Expected: Commission guidelines on high-risk AI classification (detailed examples for Annex III categories)",
|
|
62
|
+
"impact_on_product": "Update risk classification questionnaire with official examples and edge cases. Refine classification logic.",
|
|
63
|
+
"status": "upcoming"
|
|
64
|
+
},
|
|
65
|
+
{
|
|
66
|
+
"date": "2026-08-02",
|
|
67
|
+
"event": "Phase 3: MAJORITY OF PROVISIONS APPLY. High-risk AI (Annex III) rules. Transparency (Art. 50). Deployer obligations (Art. 26). FRIA (Art. 27). Registration (Art. 49). Sandboxes (Art. 57). Post-market monitoring (Art. 72). Incident reporting (Art. 73).",
|
|
68
|
+
"impact_on_product": "CRITICAL DEADLINE. All deployer and provider modules for high-risk AI must be fully operational. FRIA templates, monitoring dashboards, incident reporting workflows, EU database registration guidance, transparency compliance (disclosure + content marking) all live. This is the main enforcement date.",
|
|
69
|
+
"status": "upcoming"
|
|
70
|
+
},
|
|
71
|
+
{
|
|
72
|
+
"date": "2026-08-02",
|
|
73
|
+
"event": "GPAI administrative fines (Art. 101) become enforceable by AI Office",
|
|
74
|
+
"impact_on_product": "Update penalty information for GPAI providers. Ensure GPAI compliance scoring reflects enforcement risk.",
|
|
75
|
+
"status": "upcoming"
|
|
76
|
+
},
|
|
77
|
+
{
|
|
78
|
+
"date": "2027-08-02",
|
|
79
|
+
"event": "Phase 4: Full enforcement. Annex II high-risk (product safety AI). Legacy GPAI compliance deadline.",
|
|
80
|
+
"impact_on_product": "All remaining modules operational. Product safety AI compliance workflows. Full cross-regulation scoring. Legacy GPAI provider remediation tracking.",
|
|
81
|
+
"status": "upcoming"
|
|
82
|
+
},
|
|
83
|
+
{
|
|
84
|
+
"date": "2027-12-31",
|
|
85
|
+
"event": "Expected: Harmonised standards for AI published by European standardisation organisations (CEN/CENELEC)",
|
|
86
|
+
"impact_on_product": "Integrate harmonised standards references into conformity assessment workflows. Update technical requirements against formal standards.",
|
|
87
|
+
"status": "upcoming"
|
|
88
|
+
},
|
|
89
|
+
{
|
|
90
|
+
"date": "2028-08-02",
|
|
91
|
+
"event": "Commission evaluation of AI Office functioning (Art. 112)",
|
|
92
|
+
"impact_on_product": "Monitor for potential structural changes in enforcement landscape.",
|
|
93
|
+
"status": "upcoming"
|
|
94
|
+
},
|
|
95
|
+
{
|
|
96
|
+
"date": "2029-08-02",
|
|
97
|
+
"event": "Commission evaluation of impact/effectiveness of voluntary codes of conduct (Art. 112)",
|
|
98
|
+
"impact_on_product": "Monitor for potential shift from voluntary to mandatory for minimal-risk AI.",
|
|
99
|
+
"status": "upcoming"
|
|
100
|
+
},
|
|
101
|
+
{
|
|
102
|
+
"date": "2030-08-02",
|
|
103
|
+
"event": "Commission review of entire AI Act — potential amendments to scope, classification, governance",
|
|
104
|
+
"impact_on_product": "Major review cycle. Prepare for potential framework changes. Monitor legislative proposals.",
|
|
105
|
+
"status": "upcoming"
|
|
106
|
+
},
|
|
107
|
+
{
|
|
108
|
+
"date": "2030-12-31",
|
|
109
|
+
"event": "Large-scale IT systems in AFSJ (Annex X) compliance deadline",
|
|
110
|
+
"impact_on_product": "Final compliance deadline for legacy systems in justice/security domain.",
|
|
111
|
+
"status": "upcoming"
|
|
112
|
+
}
|
|
113
|
+
],
|
|
114
|
+
"expected_amendments": [
|
|
115
|
+
"Digital Omnibus Package (proposed 2025): Commission proposed simplification amendments including adjusting high-risk timeline to link application to availability of harmonised standards. May extend some deadlines by up to 16 months.",
|
|
116
|
+
"Potential amendment to Annex III: Commission can expand or modify the high-risk use case list through delegated acts (Art. 7). Monitor for new high-risk categories.",
|
|
117
|
+
"GPAI systemic risk threshold: The 10^25 FLOPs threshold may be revised as compute capabilities evolve (Art. 51(3)).",
|
|
118
|
+
"Content marking standards: Technical standards for AI content marking are still being developed. Expect updates to implementation requirements."
|
|
119
|
+
],
|
|
120
|
+
"codes_of_practice": [
|
|
121
|
+
{
|
|
122
|
+
"title": "General-Purpose AI Code of Practice",
|
|
123
|
+
"status": "finalized_august_2025",
|
|
124
|
+
"description": "Voluntary guidelines for GPAI model providers covering transparency, documentation, copyright compliance, and safety testing.",
|
|
125
|
+
"url": "https://digital-strategy.ec.europa.eu/en/policies/ai-pact"
|
|
126
|
+
},
|
|
127
|
+
{
|
|
128
|
+
"title": "Code of Practice on Marking and Labelling AI-Generated Content",
|
|
129
|
+
"status": "first_draft_december_2025",
|
|
130
|
+
"description": "Guidelines for machine-readable marking of AI-generated content (images, audio, video, text). Covers C2PA, watermarking, and metadata standards.",
|
|
131
|
+
"url": "https://digital-strategy.ec.europa.eu/en/policies/regulatory-framework-ai"
|
|
132
|
+
},
|
|
133
|
+
{
|
|
134
|
+
"title": "Harmonised Standards for AI (CEN/CENELEC)",
|
|
135
|
+
"status": "in_development",
|
|
136
|
+
"description": "Formal European harmonised standards for AI systems. When published, compliance with these standards provides presumption of conformity with AI Act requirements.",
|
|
137
|
+
"expected_date": "2027"
|
|
138
|
+
}
|
|
139
|
+
],
|
|
140
|
+
"monitoring_sources": [
|
|
141
|
+
"https://digital-strategy.ec.europa.eu/en/policies/regulatory-framework-ai — European Commission AI policy page (primary)",
|
|
142
|
+
"https://ai-act-service-desk.ec.europa.eu/ — Official EU AI Act Service Desk",
|
|
143
|
+
"https://artificialintelligenceact.eu/ — Comprehensive AI Act reference (Future of Life Institute)",
|
|
144
|
+
"https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX%3A32024R1689 — Official text on EUR-Lex",
|
|
145
|
+
"https://www.europarl.europa.eu/topics/en/article/20230601STO93804/eu-ai-act-first-regulation-on-artificial-intelligence — European Parliament AI Act overview",
|
|
146
|
+
"https://ec.europa.eu/commission/presscorner/home/en — European Commission press releases",
|
|
147
|
+
"EU AI Office announcements — monitor for enforcement actions, guidelines, and delegated acts"
|
|
148
|
+
],
|
|
149
|
+
"review_frequency": "monthly — critical regulatory implementation period through August 2027. Switch to quarterly after full enforcement."
|
|
150
|
+
},
|
|
151
|
+
"version": {
|
|
152
|
+
"framework_version": "3.0-production",
|
|
153
|
+
"processed_date": "2026-02-17",
|
|
154
|
+
"source_regulation_version": "Regulation (EU) 2024/1689 as published in OJ L 2024/1689",
|
|
155
|
+
"processing_prompt_version": "12-stage-v2",
|
|
156
|
+
"last_regulatory_update_checked": "2025-12-17 (Code of Practice on content marking draft)",
|
|
157
|
+
"next_review_due": "2026-03-01",
|
|
158
|
+
"notes": "Production-grade framework with granular obligation decomposition, full what_not_to_do coverage, expanded deployer obligations, and comprehensive tech specs for scanner."
|
|
159
|
+
}
|
|
160
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
{
|
|
2
|
+
"country_code": "AT",
|
|
3
|
+
"country_name": "Austria",
|
|
4
|
+
"msa_name": "RTR - Rundfunk und Telekom Regulierungs-GmbH",
|
|
5
|
+
"msa_url": "https://www.rtr.at",
|
|
6
|
+
"msa_contact": "rtr@rtr.at",
|
|
7
|
+
"local_requirements": [
|
|
8
|
+
"National AI strategy alignment required",
|
|
9
|
+
"German-language documentation mandatory for public-facing AI systems",
|
|
10
|
+
"Austrian DPA (DSB) notification required for high-risk AI processing personal data"
|
|
11
|
+
],
|
|
12
|
+
"enforcement_date": "2026-08-02",
|
|
13
|
+
"language": "German",
|
|
14
|
+
"notes": "RTR designated as MSA under national AI Act implementation"
|
|
15
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
{
|
|
2
|
+
"country_code": "BE",
|
|
3
|
+
"country_name": "Belgium",
|
|
4
|
+
"msa_name": "Federal Public Service Economy - AI Authority",
|
|
5
|
+
"msa_url": "https://economie.fgov.be",
|
|
6
|
+
"msa_contact": "info.eco@economie.fgov.be",
|
|
7
|
+
"local_requirements": [
|
|
8
|
+
"Bilingual documentation required (French and Dutch) for federal AI systems",
|
|
9
|
+
"National DPA (APD/GBA) notification required for high-risk AI",
|
|
10
|
+
"Belgian Knowledge Centre for Data & Society alignment recommended"
|
|
11
|
+
],
|
|
12
|
+
"enforcement_date": "2026-08-02",
|
|
13
|
+
"language": "French/Dutch/German",
|
|
14
|
+
"notes": "Federal structure requires coordination between regional and federal authorities"
|
|
15
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
{
|
|
2
|
+
"country_code": "BG",
|
|
3
|
+
"country_name": "Bulgaria",
|
|
4
|
+
"msa_name": "Commission for Consumer Protection",
|
|
5
|
+
"msa_url": "https://www.kzp.bg",
|
|
6
|
+
"msa_contact": "info@kzp.bg",
|
|
7
|
+
"local_requirements": [
|
|
8
|
+
"Bulgarian-language user-facing documentation required",
|
|
9
|
+
"National DPA (CPDP) notification for AI systems processing personal data",
|
|
10
|
+
"Alignment with Bulgarian Digital Transformation Strategy"
|
|
11
|
+
],
|
|
12
|
+
"enforcement_date": "2026-08-02",
|
|
13
|
+
"language": "Bulgarian",
|
|
14
|
+
"notes": "Consumer protection authority acts as primary MSA"
|
|
15
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
{
|
|
2
|
+
"country_code": "CY",
|
|
3
|
+
"country_name": "Cyprus",
|
|
4
|
+
"msa_name": "Department of Electronic Communications (DEC)",
|
|
5
|
+
"msa_url": "https://www.mcw.gov.cy/dec",
|
|
6
|
+
"msa_contact": "dec@mcw.gov.cy",
|
|
7
|
+
"local_requirements": [
|
|
8
|
+
"Greek-language documentation required for public sector AI",
|
|
9
|
+
"National DPA notification for AI processing personal data",
|
|
10
|
+
"Alignment with Cyprus Digital Strategy 2025-2030"
|
|
11
|
+
],
|
|
12
|
+
"enforcement_date": "2026-08-02",
|
|
13
|
+
"language": "Greek",
|
|
14
|
+
"notes": "Small market; DEC handles AI oversight alongside telecommunications"
|
|
15
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
{
|
|
2
|
+
"country_code": "CZ",
|
|
3
|
+
"country_name": "Czech Republic",
|
|
4
|
+
"msa_name": "Czech Trade Inspection Authority (CTIA)",
|
|
5
|
+
"msa_url": "https://www.coi.cz",
|
|
6
|
+
"msa_contact": "info@coi.cz",
|
|
7
|
+
"local_requirements": [
|
|
8
|
+
"Czech-language user documentation mandatory",
|
|
9
|
+
"National DPA (UOOU) notification required for high-risk AI",
|
|
10
|
+
"Alignment with Czech National AI Strategy"
|
|
11
|
+
],
|
|
12
|
+
"enforcement_date": "2026-08-02",
|
|
13
|
+
"language": "Czech",
|
|
14
|
+
"notes": "CTIA handles market surveillance for AI products alongside consumer goods"
|
|
15
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
{
|
|
2
|
+
"country_code": "DE",
|
|
3
|
+
"country_name": "Germany",
|
|
4
|
+
"msa_name": "Bundesnetzagentur (Federal Network Agency)",
|
|
5
|
+
"msa_url": "https://www.bundesnetzagentur.de",
|
|
6
|
+
"msa_contact": "info@bnetza.de",
|
|
7
|
+
"local_requirements": [
|
|
8
|
+
"German-language documentation mandatory for all AI systems in German market",
|
|
9
|
+
"National DPA (BfDI) notification required for high-risk AI systems",
|
|
10
|
+
"Sector-specific requirements for AI in critical infrastructure (BSI alignment)"
|
|
11
|
+
],
|
|
12
|
+
"enforcement_date": "2026-08-02",
|
|
13
|
+
"language": "German",
|
|
14
|
+
"notes": "Bundesnetzagentur designated as primary MSA; federal state DPAs also have oversight roles"
|
|
15
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
{
|
|
2
|
+
"country_code": "DK",
|
|
3
|
+
"country_name": "Denmark",
|
|
4
|
+
"msa_name": "Danish Business Authority (Erhvervsstyrelsen)",
|
|
5
|
+
"msa_url": "https://www.erst.dk",
|
|
6
|
+
"msa_contact": "erst@erst.dk",
|
|
7
|
+
"local_requirements": [
|
|
8
|
+
"Danish-language documentation for consumer-facing AI systems",
|
|
9
|
+
"National DPA (Datatilsynet) notification for high-risk AI",
|
|
10
|
+
"Alignment with Danish National Strategy for Artificial Intelligence"
|
|
11
|
+
],
|
|
12
|
+
"enforcement_date": "2026-08-02",
|
|
13
|
+
"language": "Danish",
|
|
14
|
+
"notes": "Denmark has a proactive AI ethics framework alongside EU AI Act compliance"
|
|
15
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
{
|
|
2
|
+
"country_code": "EE",
|
|
3
|
+
"country_name": "Estonia",
|
|
4
|
+
"msa_name": "Consumer Protection and Technical Regulatory Authority (TTJA)",
|
|
5
|
+
"msa_url": "https://www.ttja.ee",
|
|
6
|
+
"msa_contact": "info@ttja.ee",
|
|
7
|
+
"local_requirements": [
|
|
8
|
+
"Estonian-language documentation for public sector AI deployments",
|
|
9
|
+
"National DPA (AKI) notification for AI processing personal data",
|
|
10
|
+
"e-Estonia digital infrastructure compliance for government AI systems"
|
|
11
|
+
],
|
|
12
|
+
"enforcement_date": "2026-08-02",
|
|
13
|
+
"language": "Estonian",
|
|
14
|
+
"notes": "Estonia is a leader in digital governance and AI adoption in public services"
|
|
15
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
{
|
|
2
|
+
"country_code": "ES",
|
|
3
|
+
"country_name": "Spain",
|
|
4
|
+
"msa_name": "Agencia Espanola de Supervision de la Inteligencia Artificial (AESIA)",
|
|
5
|
+
"msa_url": "https://www.aesia.gob.es",
|
|
6
|
+
"msa_contact": "contacto@aesia.gob.es",
|
|
7
|
+
"local_requirements": [
|
|
8
|
+
"Spanish-language documentation mandatory for all AI systems in Spanish market",
|
|
9
|
+
"AEPD notification required for high-risk AI processing personal data",
|
|
10
|
+
"National AI regulatory sandbox participation available for testing"
|
|
11
|
+
],
|
|
12
|
+
"enforcement_date": "2026-08-02",
|
|
13
|
+
"language": "Spanish",
|
|
14
|
+
"notes": "Spain was the first EU member state to create a dedicated AI supervisory agency (AESIA)"
|
|
15
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
{
|
|
2
|
+
"country_code": "FI",
|
|
3
|
+
"country_name": "Finland",
|
|
4
|
+
"msa_name": "Transport and Communications Agency (Traficom)",
|
|
5
|
+
"msa_url": "https://www.traficom.fi",
|
|
6
|
+
"msa_contact": "kirjaamo@traficom.fi",
|
|
7
|
+
"local_requirements": [
|
|
8
|
+
"Finnish and Swedish language documentation for public AI systems",
|
|
9
|
+
"National DPA (Tietosuojavaltuutettu) notification for high-risk AI",
|
|
10
|
+
"Alignment with Finland AuroraAI programme for ethical AI"
|
|
11
|
+
],
|
|
12
|
+
"enforcement_date": "2026-08-02",
|
|
13
|
+
"language": "Finnish/Swedish",
|
|
14
|
+
"notes": "Traficom oversees digital safety including AI systems"
|
|
15
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
{
|
|
2
|
+
"country_code": "FR",
|
|
3
|
+
"country_name": "France",
|
|
4
|
+
"msa_name": "CNIL + Direction generale des entreprises (DGE)",
|
|
5
|
+
"msa_url": "https://www.cnil.fr",
|
|
6
|
+
"msa_contact": "contact@cnil.fr",
|
|
7
|
+
"local_requirements": [
|
|
8
|
+
"French-language documentation mandatory for all consumer AI systems",
|
|
9
|
+
"CNIL AI impact assessment required for systems processing personal data",
|
|
10
|
+
"Sector-specific requirements for public sector AI (Etalab guidelines)"
|
|
11
|
+
],
|
|
12
|
+
"enforcement_date": "2026-08-02",
|
|
13
|
+
"language": "French",
|
|
14
|
+
"notes": "France has dual oversight: CNIL for data protection aspects, DGE for market surveillance"
|
|
15
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
{
|
|
2
|
+
"country_code": "GR",
|
|
3
|
+
"country_name": "Greece",
|
|
4
|
+
"msa_name": "National Telecommunications and Post Commission (EETT)",
|
|
5
|
+
"msa_url": "https://www.eett.gr",
|
|
6
|
+
"msa_contact": "info@eett.gr",
|
|
7
|
+
"local_requirements": [
|
|
8
|
+
"Greek-language documentation required for consumer-facing AI systems",
|
|
9
|
+
"National DPA (HDPA) notification for AI processing personal data",
|
|
10
|
+
"Alignment with Greek National AI Strategy (Hellenic AI Society)"
|
|
11
|
+
],
|
|
12
|
+
"enforcement_date": "2026-08-02",
|
|
13
|
+
"language": "Greek",
|
|
14
|
+
"notes": "EETT handles digital market oversight including AI systems"
|
|
15
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
{
|
|
2
|
+
"country_code": "HR",
|
|
3
|
+
"country_name": "Croatia",
|
|
4
|
+
"msa_name": "Croatian Regulatory Authority for Network Industries (HAKOM)",
|
|
5
|
+
"msa_url": "https://www.hakom.hr",
|
|
6
|
+
"msa_contact": "info@hakom.hr",
|
|
7
|
+
"local_requirements": [
|
|
8
|
+
"Croatian-language documentation mandatory for consumer-facing AI",
|
|
9
|
+
"National DPA (AZOP) notification required for high-risk AI",
|
|
10
|
+
"Sector-specific requirements for public administration AI systems"
|
|
11
|
+
],
|
|
12
|
+
"enforcement_date": "2026-08-02",
|
|
13
|
+
"language": "Croatian",
|
|
14
|
+
"notes": "HAKOM designated as primary MSA for AI systems in Croatia"
|
|
15
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
{
|
|
2
|
+
"country_code": "HU",
|
|
3
|
+
"country_name": "Hungary",
|
|
4
|
+
"msa_name": "National Media and Infocommunications Authority (NMHH)",
|
|
5
|
+
"msa_url": "https://www.nmhh.hu",
|
|
6
|
+
"msa_contact": "info@nmhh.hu",
|
|
7
|
+
"local_requirements": [
|
|
8
|
+
"Hungarian-language documentation mandatory for consumer AI systems",
|
|
9
|
+
"National DPA (NAIH) notification required for high-risk AI",
|
|
10
|
+
"Alignment with Hungarian Artificial Intelligence Strategy"
|
|
11
|
+
],
|
|
12
|
+
"enforcement_date": "2026-08-02",
|
|
13
|
+
"language": "Hungarian",
|
|
14
|
+
"notes": "NMHH oversees digital communications and AI market surveillance"
|
|
15
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
{
|
|
2
|
+
"country_code": "IE",
|
|
3
|
+
"country_name": "Ireland",
|
|
4
|
+
"msa_name": "Commission for Communications Regulation (ComReg)",
|
|
5
|
+
"msa_url": "https://www.comreg.ie",
|
|
6
|
+
"msa_contact": "info@comreg.ie",
|
|
7
|
+
"local_requirements": [
|
|
8
|
+
"English-language documentation accepted; Irish also recognized",
|
|
9
|
+
"National DPC notification required for high-risk AI processing personal data",
|
|
10
|
+
"Enterprise Ireland AI governance framework alignment recommended"
|
|
11
|
+
],
|
|
12
|
+
"enforcement_date": "2026-08-02",
|
|
13
|
+
"language": "English/Irish",
|
|
14
|
+
"notes": "Ireland hosts many multinational tech HQs; DPC has significant cross-border AI oversight role"
|
|
15
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
{
|
|
2
|
+
"country_code": "IS",
|
|
3
|
+
"country_name": "Iceland",
|
|
4
|
+
"msa_name": "Post and Telecom Administration (PFS)",
|
|
5
|
+
"msa_url": "https://www.pfs.is",
|
|
6
|
+
"msa_contact": "pfs@pfs.is",
|
|
7
|
+
"local_requirements": [
|
|
8
|
+
"Icelandic-language documentation for public-facing AI systems",
|
|
9
|
+
"National DPA (Persónuvernd) notification for AI processing personal data",
|
|
10
|
+
"EEA agreement obligations for AI Act transposition"
|
|
11
|
+
],
|
|
12
|
+
"enforcement_date": "2026-08-02",
|
|
13
|
+
"language": "Icelandic",
|
|
14
|
+
"notes": "EEA member; AI Act applies through EEA Agreement incorporation"
|
|
15
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
{
|
|
2
|
+
"country_code": "IT",
|
|
3
|
+
"country_name": "Italy",
|
|
4
|
+
"msa_name": "Agenzia per l'Italia Digitale (AgID)",
|
|
5
|
+
"msa_url": "https://www.agid.gov.it",
|
|
6
|
+
"msa_contact": "protocollo@pec.agid.gov.it",
|
|
7
|
+
"local_requirements": [
|
|
8
|
+
"Italian-language documentation mandatory for all AI systems in Italian market",
|
|
9
|
+
"Garante per la protezione dei dati personali notification for high-risk AI",
|
|
10
|
+
"Sector-specific requirements for public administration AI (Piano Triennale)"
|
|
11
|
+
],
|
|
12
|
+
"enforcement_date": "2026-08-02",
|
|
13
|
+
"language": "Italian",
|
|
14
|
+
"notes": "AgID coordinates AI governance for public sector; Garante handles data protection aspects"
|
|
15
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
{
|
|
2
|
+
"country_code": "LI",
|
|
3
|
+
"country_name": "Liechtenstein",
|
|
4
|
+
"msa_name": "Office for Communications (AK)",
|
|
5
|
+
"msa_url": "https://www.llv.li/inhalt/118804/amtsstellen/amt-fur-kommunikation",
|
|
6
|
+
"msa_contact": "info.ak@llv.li",
|
|
7
|
+
"local_requirements": [
|
|
8
|
+
"German-language documentation accepted",
|
|
9
|
+
"National DPA (DSS) notification for AI processing personal data",
|
|
10
|
+
"EEA agreement obligations for AI Act transposition"
|
|
11
|
+
],
|
|
12
|
+
"enforcement_date": "2026-08-02",
|
|
13
|
+
"language": "German",
|
|
14
|
+
"notes": "EEA member; AI Act applies through EEA Agreement; strong fintech sector"
|
|
15
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
{
|
|
2
|
+
"country_code": "LT",
|
|
3
|
+
"country_name": "Lithuania",
|
|
4
|
+
"msa_name": "State Consumer Rights Protection Authority (VVTAT)",
|
|
5
|
+
"msa_url": "https://www.vvtat.lt",
|
|
6
|
+
"msa_contact": "vvtat@vvtat.lt",
|
|
7
|
+
"local_requirements": [
|
|
8
|
+
"Lithuanian-language documentation for consumer-facing AI systems",
|
|
9
|
+
"National DPA (VDAI) notification for high-risk AI",
|
|
10
|
+
"Alignment with Lithuanian AI Strategy and Innovation Agency guidelines"
|
|
11
|
+
],
|
|
12
|
+
"enforcement_date": "2026-08-02",
|
|
13
|
+
"language": "Lithuanian",
|
|
14
|
+
"notes": "VVTAT manages consumer protection including AI product safety"
|
|
15
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
{
|
|
2
|
+
"country_code": "LU",
|
|
3
|
+
"country_name": "Luxembourg",
|
|
4
|
+
"msa_name": "Institut Luxembourgeois de Regulation (ILR)",
|
|
5
|
+
"msa_url": "https://www.ilr.lu",
|
|
6
|
+
"msa_contact": "info@ilr.lu",
|
|
7
|
+
"local_requirements": [
|
|
8
|
+
"French, German, or Luxembourgish documentation accepted",
|
|
9
|
+
"National DPA (CNPD) notification for AI processing personal data",
|
|
10
|
+
"Alignment with Luxembourg Digital Innovation Hub requirements"
|
|
11
|
+
],
|
|
12
|
+
"enforcement_date": "2026-08-02",
|
|
13
|
+
"language": "French/German/Luxembourgish",
|
|
14
|
+
"notes": "ILR regulates digital markets including AI; strong fintech and AI ecosystem"
|
|
15
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
{
|
|
2
|
+
"country_code": "LV",
|
|
3
|
+
"country_name": "Latvia",
|
|
4
|
+
"msa_name": "Consumer Rights Protection Centre (PTAC)",
|
|
5
|
+
"msa_url": "https://www.ptac.gov.lv",
|
|
6
|
+
"msa_contact": "ptac@ptac.gov.lv",
|
|
7
|
+
"local_requirements": [
|
|
8
|
+
"Latvian-language documentation required for consumer-facing AI",
|
|
9
|
+
"National DPA (DVI) notification for AI processing personal data",
|
|
10
|
+
"Alignment with Latvian AI Strategy and Digital Transformation Guidelines"
|
|
11
|
+
],
|
|
12
|
+
"enforcement_date": "2026-08-02",
|
|
13
|
+
"language": "Latvian",
|
|
14
|
+
"notes": "PTAC handles consumer protection aspects of AI market surveillance"
|
|
15
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
{
|
|
2
|
+
"country_code": "MT",
|
|
3
|
+
"country_name": "Malta",
|
|
4
|
+
"msa_name": "Malta Communications Authority (MCA)",
|
|
5
|
+
"msa_url": "https://www.mca.org.mt",
|
|
6
|
+
"msa_contact": "info@mca.org.mt",
|
|
7
|
+
"local_requirements": [
|
|
8
|
+
"English or Maltese documentation accepted",
|
|
9
|
+
"Malta Digital Innovation Authority (MDIA) certification for innovative technology",
|
|
10
|
+
"National DPA (IDPC) notification for AI processing personal data"
|
|
11
|
+
],
|
|
12
|
+
"enforcement_date": "2026-08-02",
|
|
13
|
+
"language": "Maltese/English",
|
|
14
|
+
"notes": "Malta was among the first EU states to establish AI-specific governance (MDIA)"
|
|
15
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
{
|
|
2
|
+
"country_code": "NL",
|
|
3
|
+
"country_name": "Netherlands",
|
|
4
|
+
"msa_name": "Autoriteit Consument & Markt (ACM)",
|
|
5
|
+
"msa_url": "https://www.acm.nl",
|
|
6
|
+
"msa_contact": "info@acm.nl",
|
|
7
|
+
"local_requirements": [
|
|
8
|
+
"Dutch-language documentation required for consumer-facing AI",
|
|
9
|
+
"Autoriteit Persoonsgegevens (AP) notification for high-risk AI processing personal data",
|
|
10
|
+
"Algorithm Register mandatory for government AI systems"
|
|
11
|
+
],
|
|
12
|
+
"enforcement_date": "2026-08-02",
|
|
13
|
+
"language": "Dutch",
|
|
14
|
+
"notes": "Netherlands has a public Algorithm Register and proactive algorithmic oversight"
|
|
15
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
{
|
|
2
|
+
"country_code": "NO",
|
|
3
|
+
"country_name": "Norway",
|
|
4
|
+
"msa_name": "Norwegian Communications Authority (Nkom)",
|
|
5
|
+
"msa_url": "https://www.nkom.no",
|
|
6
|
+
"msa_contact": "firmapost@nkom.no",
|
|
7
|
+
"local_requirements": [
|
|
8
|
+
"Norwegian-language documentation required for consumer-facing AI",
|
|
9
|
+
"National DPA (Datatilsynet) notification for high-risk AI",
|
|
10
|
+
"Alignment with Norwegian National Strategy for Artificial Intelligence"
|
|
11
|
+
],
|
|
12
|
+
"enforcement_date": "2026-08-02",
|
|
13
|
+
"language": "Norwegian",
|
|
14
|
+
"notes": "EEA member; AI Act applies through EEA Agreement; active AI ethics community"
|
|
15
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
{
|
|
2
|
+
"country_code": "PL",
|
|
3
|
+
"country_name": "Poland",
|
|
4
|
+
"msa_name": "Office of Electronic Communications (UKE)",
|
|
5
|
+
"msa_url": "https://www.uke.gov.pl",
|
|
6
|
+
"msa_contact": "uke@uke.gov.pl",
|
|
7
|
+
"local_requirements": [
|
|
8
|
+
"Polish-language documentation mandatory for consumer AI systems",
|
|
9
|
+
"National DPA (UODO) notification required for high-risk AI",
|
|
10
|
+
"Alignment with Polish AI Development Policy"
|
|
11
|
+
],
|
|
12
|
+
"enforcement_date": "2026-08-02",
|
|
13
|
+
"language": "Polish",
|
|
14
|
+
"notes": "UKE oversees electronic communications and digital market surveillance"
|
|
15
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
{
|
|
2
|
+
"country_code": "PT",
|
|
3
|
+
"country_name": "Portugal",
|
|
4
|
+
"msa_name": "ANACOM - Autoridade Nacional de Comunicacoes",
|
|
5
|
+
"msa_url": "https://www.anacom.pt",
|
|
6
|
+
"msa_contact": "info@anacom.pt",
|
|
7
|
+
"local_requirements": [
|
|
8
|
+
"Portuguese-language documentation required for consumer-facing AI",
|
|
9
|
+
"National DPA (CNPD) notification for AI processing personal data",
|
|
10
|
+
"Alignment with Portugal INCoDe.2030 digital competences strategy"
|
|
11
|
+
],
|
|
12
|
+
"enforcement_date": "2026-08-02",
|
|
13
|
+
"language": "Portuguese",
|
|
14
|
+
"notes": "ANACOM oversees communications and digital market including AI systems"
|
|
15
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
{
|
|
2
|
+
"country_code": "RO",
|
|
3
|
+
"country_name": "Romania",
|
|
4
|
+
"msa_name": "National Authority for Management and Regulation in Communications (ANCOM)",
|
|
5
|
+
"msa_url": "https://www.ancom.ro",
|
|
6
|
+
"msa_contact": "ancom@ancom.ro",
|
|
7
|
+
"local_requirements": [
|
|
8
|
+
"Romanian-language documentation mandatory for consumer AI systems",
|
|
9
|
+
"National DPA (ANSPDCP) notification for high-risk AI processing personal data",
|
|
10
|
+
"Alignment with Romanian National Strategy on Artificial Intelligence"
|
|
11
|
+
],
|
|
12
|
+
"enforcement_date": "2026-08-02",
|
|
13
|
+
"language": "Romanian",
|
|
14
|
+
"notes": "ANCOM handles communications regulation and AI market surveillance"
|
|
15
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
{
|
|
2
|
+
"country_code": "SE",
|
|
3
|
+
"country_name": "Sweden",
|
|
4
|
+
"msa_name": "Post and Telecom Authority (PTS)",
|
|
5
|
+
"msa_url": "https://www.pts.se",
|
|
6
|
+
"msa_contact": "pts@pts.se",
|
|
7
|
+
"local_requirements": [
|
|
8
|
+
"Swedish-language documentation required for consumer AI systems",
|
|
9
|
+
"National DPA (IMY) notification for high-risk AI processing personal data",
|
|
10
|
+
"Alignment with Swedish National Approach to Artificial Intelligence"
|
|
11
|
+
],
|
|
12
|
+
"enforcement_date": "2026-08-02",
|
|
13
|
+
"language": "Swedish",
|
|
14
|
+
"notes": "PTS oversees telecommunications and digital services including AI market surveillance"
|
|
15
|
+
}
|