qqubb commited on
Commit
b79b88a
·
unverified ·
2 Parent(s): 0fa57dc b5a3e71

Merge pull request #14 from billmarinocam/dev

Browse files
.gitignore ADDED
@@ -0,0 +1,6 @@
 
 
 
 
 
 
 
1
+ __pycache__/
2
+ compliancecards.code-workspace
3
+ .ipynb_checkpoints
4
+ *.ipynb
5
+ __pycache__/compliance_analysis.cpython-310.pyc
6
+ __pycache__/utils.cpython-310.pyc
.ipynb_checkpoints/app-checkpoint.ipynb ADDED
@@ -0,0 +1,166 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "cells": [
3
+ {
4
+ "cell_type": "code",
5
+ "execution_count": 1,
6
+ "metadata": {},
7
+ "outputs": [],
8
+ "source": [
9
+ "import streamlit as st\n",
10
+ "\n",
11
+ "from streamlit_jupyter import StreamlitPatcher, tqdm\n",
12
+ "\n",
13
+ "StreamlitPatcher().jupyter() # register streamlit with jupyter-compatible wrappers"
14
+ ]
15
+ },
16
+ {
17
+ "cell_type": "code",
18
+ "execution_count": 2,
19
+ "metadata": {},
20
+ "outputs": [
21
+ {
22
+ "data": {
23
+ "text/markdown": [
24
+ "# AI"
25
+ ],
26
+ "text/plain": [
27
+ "<IPython.core.display.Markdown object>"
28
+ ]
29
+ },
30
+ "metadata": {},
31
+ "output_type": "display_data"
32
+ },
33
+ {
34
+ "name": "stderr",
35
+ "output_type": "stream",
36
+ "text": [
37
+ "2024-08-13 14:11:32.399 \n",
38
+ " \u001b[33m\u001b[1mWarning:\u001b[0m to view this Streamlit app on a browser, run it with the following\n",
39
+ " command:\n",
40
+ "\n",
41
+ " streamlit run /mnt/wsl/PHYSICALDRIVE1p1/@home/non/.venv/lib/python3.10/site-packages/ipykernel_launcher.py [ARGUMENTS]\n"
42
+ ]
43
+ }
44
+ ],
45
+ "source": [
46
+ "import yaml\n",
47
+ "from pathlib import Path\n",
48
+ "from compliance_analysis import run_compliance_analysis_on_project, run_compliance_analysis_on_data, run_compliance_analysis_on_model\n",
49
+ "\n",
50
+ "# def process_files(files):\n",
51
+ "# results = []\n",
52
+ "# for file in files:\n",
53
+ "# with open(file.name, 'r') as f:\n",
54
+ "# content = f.read()\n",
55
+ "# if Path(file.name).name == \"project_cc.yaml\":\n",
56
+ "# project_cc_yaml = yaml.safe_load(content)\n",
57
+ "# msg = run_compliance_analysis_on_project(project_cc_yaml)\n",
58
+ "# results.append(msg) \n",
59
+ "# # if Path(file.name).name == \"data_cc.yaml\":\n",
60
+ "# # data_cc_yaml = yaml.safe_load(content)\n",
61
+ "# # msg = run_compliance_analysis_on_data(data_cc_yaml)\n",
62
+ "# # results.append(msg) \n",
63
+ "# # if Path(file.name).name == \"model_cc.yaml\":\n",
64
+ "# # model_cc_yaml = yaml.safe_load(content)\n",
65
+ "# # msg = run_compliance_analysis_on_model(model_cc_yaml)\n",
66
+ "# # results.append(msg)\n",
67
+ " \n",
68
+ "# return results\n",
69
+ "\n",
70
+ "import yaml\n",
71
+ "from pathlib import Path\n",
72
+ "import pandas as pd\n",
73
+ "\n",
74
+ "\n",
75
+ "def process_files(files):\n",
76
+ " results = []\n",
77
+ " for file in files:\n",
78
+ " content = file.read().decode(\"utf-8\")\n",
79
+ " if Path(file.name).name == \"project_cc.yaml\":\n",
80
+ " project_cc_yaml = yaml.safe_load(content)\n",
81
+ " if project_cc_yaml:\n",
82
+ " msg = run_compliance_analysis_on_project(project_cc_yaml)\n",
83
+ " results.append(msg) \n",
84
+ " return results\n",
85
+ "\n",
86
+ "def extract_properties(files):\n",
87
+ " properties = []\n",
88
+ " for file in files:\n",
89
+ " content = file.read().decode(\"utf-8\")\n",
90
+ " project_cc_yaml = yaml.safe_load(content)\n",
91
+ " if project_cc_yaml:\n",
92
+ " properties.extend([key for key in project_cc_yaml])\n",
93
+ " return properties\n",
94
+ "\n",
95
+ "def sentence_builder(keys):\n",
96
+ " return f\"Selected options: {', '.join(keys)}\"\n",
97
+ "\n",
98
+ "# Streamlit app\n",
99
+ "st.title(\"AI\")\n",
100
+ "\n",
101
+ "uploaded_files = st.file_uploader(\"Upload YAML Files\", type=\"yaml\", accept_multiple_files=True)\n",
102
+ "\n",
103
+ "if uploaded_files:\n",
104
+ " # Process the files and display the output\n",
105
+ " if st.button(\"Process Files\"):\n",
106
+ " results = process_files(uploaded_files)\n",
107
+ " for result in results:\n",
108
+ " st.text(result)\n",
109
+ " \n",
110
+ " # Extract properties\n",
111
+ " properties = extract_properties(uploaded_files)\n",
112
+ " \n",
113
+ " # Create a DataFrame with properties and a checkbox column\n",
114
+ " df = pd.DataFrame({\n",
115
+ " \"Property\": properties,\n",
116
+ " \"Select\": [False] * len(properties) # Default to unchecked\n",
117
+ " })\n",
118
+ "\n",
119
+ " # Display DataFrame with checkboxes using st.column_config.CheckboxColumn\n",
120
+ " edited_df = st.data_editor(\n",
121
+ " df,\n",
122
+ " column_config={\n",
123
+ " \"Select\": st.column_config.CheckboxColumn(\"Select\"),\n",
124
+ " },\n",
125
+ " key=\"data_editor\"\n",
126
+ " )\n",
127
+ "\n",
128
+ " # Get selected properties\n",
129
+ " selected_properties = edited_df[edited_df[\"Select\"]][\"Property\"].tolist()\n",
130
+ " \n",
131
+ " # Build the sentence based on selected properties\n",
132
+ " if selected_properties:\n",
133
+ " sentence = sentence_builder(selected_properties)\n",
134
+ " st.text(sentence)"
135
+ ]
136
+ },
137
+ {
138
+ "cell_type": "code",
139
+ "execution_count": null,
140
+ "metadata": {},
141
+ "outputs": [],
142
+ "source": []
143
+ }
144
+ ],
145
+ "metadata": {
146
+ "kernelspec": {
147
+ "display_name": "Python 3 (ipykernel)",
148
+ "language": "python",
149
+ "name": "python3"
150
+ },
151
+ "language_info": {
152
+ "codemirror_mode": {
153
+ "name": "ipython",
154
+ "version": 3
155
+ },
156
+ "file_extension": ".py",
157
+ "mimetype": "text/x-python",
158
+ "name": "python",
159
+ "nbconvert_exporter": "python",
160
+ "pygments_lexer": "ipython3",
161
+ "version": "3.10.12"
162
+ }
163
+ },
164
+ "nbformat": 4,
165
+ "nbformat_minor": 4
166
+ }
__pycache__/compliance_analysis.cpython-310.pyc CHANGED
Binary files a/__pycache__/compliance_analysis.cpython-310.pyc and b/__pycache__/compliance_analysis.cpython-310.pyc differ
 
__pycache__/utils.cpython-310.pyc CHANGED
Binary files a/__pycache__/utils.cpython-310.pyc and b/__pycache__/utils.cpython-310.pyc differ
 
app.py CHANGED
@@ -1,34 +1,184 @@
1
- import gradio as gr
2
  import yaml
 
3
  from pathlib import Path
4
- from compliance_analysis import run_compliance_analysis_on_project, run_compliance_analysis_on_data, run_compliance_analysis_on_model
5
-
6
- def process_files(files):
7
- results = []
8
- for file in files:
9
- with open(file.name, 'r') as f:
10
- content = f.read()
11
- if Path(file.name).name == "project_cc.yaml":
12
- project_cc_yaml = yaml.safe_load(content)
13
- msg = run_compliance_analysis_on_project(project_cc_yaml)
14
- results.append(msg)
15
- # if Path(file.name).name == "data_cc.yaml":
16
- # data_cc_yaml = yaml.safe_load(content)
17
- # msg = run_compliance_analysis_on_data(data_cc_yaml)
18
- # results.append(msg)
19
- # if Path(file.name).name == "model_cc.yaml":
20
- # model_cc_yaml = yaml.safe_load(content)
21
- # msg = run_compliance_analysis_on_model(model_cc_yaml)
22
- # results.append(msg)
23
-
24
- return results
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
25
 
26
- # Gradio interface
27
- with gr.Blocks() as demo:
28
- file_input = gr.File(label="Upload Files", file_count="multiple")
29
- output = gr.Textbox(label="Output", lines=10)
30
 
31
- submit_button = gr.Button("Process Files")
32
- submit_button.click(process_files, inputs=file_input, outputs=output)
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
33
 
34
- demo.launch()
 
 
 
1
+ import os
2
  import yaml
3
+ import json
4
  from pathlib import Path
5
+ import streamlit as st
6
+ from compliance_analysis import check_overall_compliance_ui
7
+
8
+ def compliance_analysis(cards):
9
+ dispositive_variables = check_overall_compliance_ui(cards)
10
+ return dispositive_variables
11
+
12
+ def load_yaml(file_path):
13
+ with open(file_path, 'r') as file:
14
+ return yaml.safe_load(file)
15
+
16
+ def format_card_label(card):
17
+ return card[0]
18
+
19
+ # Streamlit app
20
+ st.set_page_config(page_title="AI", layout="wide")
21
+ st.markdown(
22
+ """
23
+ <style>
24
+ [data-testid="stSidebar"][aria-expanded="true"] > div:first-child{
25
+ width: 600px;
26
+ }
27
+ [data-testid="stSidebar"][aria-expanded="false"] > div:first-child{
28
+ width: 600px;
29
+ margin-left: -400px;
30
+ }
31
+
32
+ """,
33
+ unsafe_allow_html=True,
34
+ )
35
+
36
+ st.title("AI")
37
+
38
+ uploaded_files = st.file_uploader("Upload YAML Files", type="yaml", accept_multiple_files=True)
39
+ # project_files = st.file_uploader("Upload Project Files", type="yaml", accept_multiple_files=True)
40
+
41
+ cards = {"project_file": None, "data_files": [], "model_files": []}
42
+
43
+ if uploaded_files:
44
+
45
+ for uploaded_file in uploaded_files:
46
+ cc = load_yaml(uploaded_file.name)
47
+ card_type = cc['card_details'].get('card_type', '').lower()
48
+ if card_type == 'project':
49
+ cards["project_file"] = cc
50
+ elif card_type == 'data':
51
+ cards["data_files"].append((cc['card_details']['card_label'], cc))
52
+ elif card_type == 'model':
53
+ cards["model_files"].append((cc['card_details']['card_label'], cc))
54
+
55
+ project_col, data_col, model_col = st.columns(3)
56
 
57
+ with project_col:
58
+ st.title("Project CC")
 
 
59
 
60
+ if cards["project_file"]:
61
+ project_cc = cards["project_file"]
62
+ with st.expander("project details"):
63
+ for section, items in project_cc.items():
64
+ if section != 'card_details':
65
+ st.header(section.replace('_', ' ').title()) # section header
66
+ for key, details in items.items():
67
+ if 'verbose' in details and 'value' in details:
68
+ st.subheader(key.replace('_', ' ').title()) # section header
69
+ # details['value'] = st.checkbox(details['verbose'], value=details['value'])
70
+ if isinstance(details['value'], str):
71
+ details['value'] = st.text_input(details['verbose'], value=details['value'])
72
+ elif isinstance(details['value'], bool):
73
+ details['value'] = st.checkbox(details['verbose'], value=details['value'])
74
+ if 'verbose' not in details and 'value' not in details:
75
+ st.subheader(key.replace('_', ' ').title()) # section header
76
+ for key, details in details.items():
77
+ st.subheader(key.replace('_', ' ').title()) # section header
78
+ details['value'] = st.checkbox(details['verbose'], value=details['value'])
79
+ st.divider()
80
+ st.divider()
81
+ # st.write("Updated Data:", project_cc)
82
+
83
+ updated_project_cc = yaml.dump(project_cc, sort_keys=False)
84
+
85
+ st.download_button(
86
+ label=f"Download Updated Project CC as YAML",
87
+ data=updated_project_cc,
88
+ file_name="updated_project.yaml",
89
+ mime="text/yaml"
90
+ )
91
+ # else:
92
+ # st.write("Missing project file")
93
+
94
+ with data_col:
95
+
96
+ st.title("Data CC")
97
+ if cards['data_files']:
98
+ # selected_data_file = st.selectbox("Select a Data CC", cards['data_files'], format_func=format_card_label)
99
+ # data_cc = selected_data_file[1]
100
+ for card in cards['data_files']:
101
+ data_cc = card[1]
102
+ with st.expander(f"{card[0]}"):
103
+ for section, items in data_cc.items():
104
+ if section != 'card_details':
105
+ st.header(section.replace('_', ' ').title()) # section header
106
+ for key, details in items.items():
107
+ if 'verbose' in details and 'value' in details:
108
+ st.subheader(key.replace('_', ' ').title()) # section header
109
+ # details['value'] = st.checkbox(details['verbose'], value=details['value'])
110
+ if isinstance(details['value'], str):
111
+ details['value'] = st.text_input(details['verbose'], value=details['value'], key=f"data_{card[0]}_{key}")
112
+ elif isinstance(details['value'], bool):
113
+ details['value'] = st.checkbox(details['verbose'], value=details['value'], key=f"data_{card[0]}_{details}_{key}")
114
+ if 'verbose' not in details and 'value' not in details:
115
+ st.subheader(key.replace('_', ' ').title()) # section header
116
+ for key, details in details.items():
117
+ st.subheader(key.replace('_', ' ').title()) # section header
118
+ details['value'] = st.checkbox(details['verbose'], value=details['value'], key=f"data_{card[0]}_{details}_{key}")
119
+ st.divider()
120
+ st.divider()
121
+ # st.write("Updated Data:", data_cc)
122
+
123
+ data_cc_yaml_data = yaml.dump(data_cc, sort_keys=False)
124
+
125
+ st.download_button(
126
+ label=f"Download Updated {card[0]} CC as YAML",
127
+ data=data_cc_yaml_data,
128
+ file_name="updated_data.yaml",
129
+ mime="text/yaml"
130
+ )
131
+ # else:
132
+ # st.write("Missing data file")
133
+
134
+ with model_col:
135
+
136
+ st.title("Model CC")
137
+ if cards['model_files']:
138
+ # selected_data_file = st.selectbox("Select a Modle CC", cards['model_files'], format_func=format_card_label)
139
+ # model_cc = selected_data_file[1]
140
+ for card in cards['model_files']:
141
+ model_cc = card[1]
142
+ with st.expander(f"{card[0]}"):
143
+ for section, items in model_cc.items():
144
+ if section != 'card_details':
145
+ st.header(section.replace('_', ' ').title()) # section header
146
+ for key, details in items.items():
147
+ if 'verbose' in details and 'value' in details:
148
+ st.subheader(key.replace('_', ' ').title()) # section header
149
+ # details['value'] = st.checkbox(details['verbose'], value=details['value'])
150
+ if isinstance(details['value'], str):
151
+ details['value'] = st.text_input(details['verbose'], value=details['value'], key=f"model_{card[0]}_{key}")
152
+ elif isinstance(details['value'], bool):
153
+ details['value'] = st.checkbox(details['verbose'], value=details['value'], key=f"model_{card[0]}_{details}_{key}")
154
+ if 'verbose' not in details and 'value' not in details:
155
+ st.subheader(key.replace('_', ' ').title()) # section header
156
+ for key, details in details.items():
157
+ st.subheader(key.replace('_', ' ').title()) # section header
158
+ details['value'] = st.checkbox(details['verbose'], value=details['value'], key=f"model_{card[0]}_{details}_{key}")
159
+ st.divider()
160
+ st.divider()
161
+ # st.write("Updated Data:", model_cc)
162
+
163
+ model_cc_yaml_data = yaml.dump(model_cc, sort_keys=False)
164
+
165
+ st.download_button(
166
+ label=f"Download Updated {card[0]} CC as YAML",
167
+ data=model_cc_yaml_data,
168
+ file_name="updated_model.yaml",
169
+ mime="text/yaml"
170
+ )
171
+ # else:
172
+ # st.write("Missing data file")
173
+
174
+ # # # # json_data = json.dumps(data, indent=2)
175
+ # # # # st.download_button(
176
+ # # # # label="Download Updated Data as JSON",
177
+ # # # # data=json_data,
178
+ # # # # file_name="updated_data.json",
179
+ # # # # mime="application/json"
180
+ # # # # )
181
 
182
+ if st.button(f"Run Analysis"):
183
+ results = compliance_analysis(cards)
184
+ st.write("Analysis Results", results)
compliance_analysis.py CHANGED
@@ -1,182 +1,310 @@
1
  import yaml
2
- from utils import set_type, set_operator_role_and_location, set_eu_market_status, check_within_scope
3
 
4
- # Create some variables we will use throughout our analysis
 
5
 
6
- project_variables = {
 
 
 
 
7
  "ai_project_type": {
8
- "ai_system": False,
9
- "gpai_model": False,
10
  "high_risk_ai_system": False,
11
- "gpai_model_systematic_risk": False
12
  },
13
- "operator_role": {
14
- "provider": False,
15
- "deployer": False,
16
- "importer": False,
17
- "distributor": False,
18
- "product_manufacturer": False,
19
- "eu_located": False
20
  },
21
  "eu_market_status": {
22
- "placed_on_market": False,
23
- "put_into_service": False,
24
- "output_used": False
 
 
 
 
 
25
  }
26
- }
27
 
28
- def run_compliance_analysis_on_project(project_cc_yaml):
 
 
 
 
 
 
 
 
 
 
 
 
 
29
 
30
- # Determine project type (AI system vs. GPAI model) as well as operator type. We will use these for different things.
31
- project_type = set_type(project_variables, project_cc_yaml)
32
- set_operator_role_and_location(project_variables, project_cc_yaml)
33
- set_eu_market_status(project_variables, project_cc_yaml)
 
 
 
34
 
35
- # Check if the project is within scope of the Act. If it's not, the analysis is over.
36
- if check_within_scope(project_cc_yaml):
37
- msg = ("Project is within the scope of Act. Let's continue...")
38
- else:
39
- msg = ("Project is not within the scope of what is regulated by the Act.")
40
-
41
- # # Check for prohibited practices. If any exist, the analysis is over.
42
- # if check_prohibited(project_cc_yaml) == True:
43
- # print("Project contains prohibited practices and is therefore non-compliant.")
44
- # msg = ("Project is non-compliant due to a prohibited practice.")
45
- # else:
46
- # print("Project does not contain prohibited practies. Let's continue...")
47
 
48
- # If project is high-risk AI system, check that is has met all the requirements for such systems:
 
 
 
 
49
 
50
- if project_type == "high_risk_ai_system":
51
-
52
- # Do this by examining the Project CC
53
-
54
- for key, value in project_cc_yaml['risk_management_system']:
55
- if not value:
56
- msg = ("Because of project-level characteristics, this high-risk AI system fails the risk management requirements under Article 9.")
57
- for key, value in project_cc_yaml['technical_documentation']:
58
- if not value:
59
- msg = ("Because of project-level characteristics, this high-risk AI system fails the risk management requirements under Article 11.")
60
- for key, value in project_cc_yaml['record_keeping']:
61
- if not value:
62
- msg = ("Because of project-level characteristics, this high-risk AI system fails the risk management requirements under Article 12.")
63
- for key, value in project_cc_yaml['transparency_and_provision_of_information_to_deployers']:
64
- if not value:
65
- msg = ("Because of project-level characteristics, this high-risk AI system fails the transparency requirements under Article 13.")
66
- for key, value in project_cc_yaml['human_oversight']:
67
- if not value:
68
- msg = ("Because of project-level characteristics, this high-risk AI system fails the human oversight requirements under Article 14.")
69
- for key, value in project_cc_yaml['accuracy_robustness_cybersecurity']:
70
- if not value:
71
- msg = ("Because of project-level characteristics, this high-risk AI system fails the accuracy, robustness, and cybersecurity requirements under Article 15.")
72
- for key, value in project_cc_yaml['quality_management_system']:
73
- if not value:
74
- msg = ("Because of project-level characteristics, this high-risk AI system fails the accuracy, robustness, and cybersecurity requirements under Article 17.")
75
-
76
- return msg
77
-
78
- def run_compliance_analysis_on_data(data_cc_yaml):
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
79
 
80
- for key, value in data_cc_yaml['data_and_data_governance']:
81
- if not value:
82
- msg = (f"Because of the dataset represented by , this high-risk AI system fails the data and data governance requirements under Article 10.")
83
- for key, value in data_cc_yaml['technical_documentation']:
84
- if not value:
85
- msg = (f"Because of the dataset represented by , this high-risk AI system fails the technical documentation requirements under Article 11.")
86
- for key, value in data_cc_yaml['transparency_and_provision_of_information_to_deployers']:
87
- if not value:
88
- msg = (f"Because of the dataset represented by , this high-risk AI system fails the transparency requirements under Article 13.")
89
- for key, value in data_cc_yaml['quality_management_system']:
90
- if not value:
91
- msg = (f"Because of the dataset represented by , this high-risk AI system fails the quality management requirements under Article 17.")
92
-
93
- return msg
94
 
95
- def run_compliance_analysis_on_model(model_cc_yaml):
 
 
96
 
97
- for key, value in model_cc_yaml['risk_management_system']:
98
- if not value:
99
- msg = (f"Because of the model represented by , this high-risk AI system fails the risk management requirements under Article 9.")
100
- for key, value in data_cc_yaml['technical_documentation']:
101
- if not value:
102
- msg = (f"Because of the model represented by , this high-risk AI system fails the technical documentation requirements under Article 11.")
103
- for key, value in data_cc_yaml['transparency_and_provision_of_information_to_deployers']:
104
- if not value:
105
- msg = (f"Because of the model represented by , this high-risk AI system fails the transparency requirements under Article 13.")
106
- for key, value in data_cc_yaml['accuracy_robustness_cybersecurity']:
107
- if not value:
108
- msg = (f"Because of the model represented by , this high-risk AI system fails the quality management requirements under Article 15.")
109
- for key, value in data_cc_yaml['quality_management_system']:
110
- if not value:
111
- msg = (f"Because of the model represented by , this high-risk AI system fails the quality management requirements under Article 17.")
112
-
113
- return msg
114
-
115
-
116
- # # If the project is a GPAI model, check that is has met all the requirements for such systems:
117
 
118
- # if gpai_model:
119
-
120
- # # Do this by examining the Project CC
121
-
122
- # for key, value in project_cc_yaml['gpai_model_provider_obligations']:
123
- # if not value:
124
- # msg = ("GPAI model fails the transparency requirements under Article 53.")
125
-
126
- # # Do this by examining any and all Data CCs too
127
-
128
- # for filename in os.listdir(folder_path):
129
- # # Check if the search word is in the filename
130
- # if "data_cc.md" in filename.lower():
131
-
132
- # # If it is, load the yaml
133
-
134
- # with open(folder_path + filename, 'r') as file:
135
- # data_cc_yaml = yaml.safe_load(file)
136
 
137
- # for key, value in data_cc_yaml['gpai_requirements']['gpai_requirements']:
138
- # if not value:
139
- # msg = (f"Because of the dataset represented by {filename}, this GPAI fails the transparency requirements under Article 53.")
 
 
 
140
 
141
- # # Do this by examining any and all Model CCs too
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
142
 
143
- # for filename in os.listdir(folder_path):
144
- # # Check if the search word is in the filename
145
- # if "model_cc.md" in filename.lower():
146
 
147
- # # If it is, load the yaml
 
 
 
 
 
148
 
149
- # with open(folder_path + filename, 'r') as file:
150
- # model_cc_yaml = yaml.safe_load(file)
 
 
151
 
152
- # for key, value in model_cc_yaml['obligations_for_providers_of_gpai_models']:
153
- # if not value:
154
- # msg = (f"Because of the model represented by {filename}, this GPAI fails the transparency requirements under Article 53.")
 
 
155
 
156
- # # If the project is a GPAI model with systematic risk, check that is has additionally met all the requirements for such systems:
 
 
 
157
 
158
- # if gpai_model_systematic_risk:
 
 
 
 
 
 
 
 
 
 
 
 
 
 
159
 
160
- # # Do this by examining the Project CC
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
161
 
162
- # for key, value in project_cc_yaml['gpai_obligations_for_systemic_risk_models']:
163
- # if not value:
164
- # msg = ("GPAI model with systematic risk fails the transparency requirements under Article 55.")
 
 
 
 
 
 
 
 
 
 
 
 
 
165
 
166
- # # Do this by examining any and all Model CCs too
 
 
167
 
168
- # for filename in os.listdir(folder_path):
169
- # # Check if the search word is in the filename
170
- # if "model_cc.md" in filename.lower():
171
 
172
- # # If it is, load the yaml
 
 
 
 
173
 
174
- # with open(folder_path + filename, 'r') as file:
175
- # model_cc_yaml = yaml.safe_load(file)
 
176
 
177
- # for key, value in model_cc_yaml['obligations_for_providers_of_gpai_models_with_systemic_risk']:
178
- # if not value:
179
- # msg = (f"Because of the model represented by {filename}, this GPAI model with systematic risk fails the transparency requirements under Article 55.")
180
 
 
181
 
182
 
 
1
  import yaml
2
+ from utils import set_operator_role_and_location, set_eu_market_status, check_within_scope_act, check_prohibited
3
 
4
+ # TODO tells the user where the compliance analysis failed
5
+ # TODO cite article from yaml file as explanation
6
 
7
+ def check_overall_compliance_ui(cards):
8
+
9
+ project_cc = cards['project_file']
10
+
11
+ dispositive_variables = {
12
  "ai_project_type": {
13
+ "ai_system": project_cc['ai_system']['ai_system']['value'],
14
+ "gpai_model": project_cc['gpai_model']['gpai_model']['value'],
15
  "high_risk_ai_system": False,
16
+ "gpai_model_systemic_risk": False
17
  },
18
+ "operator_details": {
19
+ "provider": project_cc['operator_details']['provider']['value'],
20
+ "eu_located": project_cc['operator_details']['eu_located']['value'],
21
+ "output_used": project_cc['operator_details']['output_used']['value']
 
 
 
22
  },
23
  "eu_market_status": {
24
+ "placed_on_market": project_cc['eu_market_status']['placed_on_market']['value'],
25
+ "put_into_service": project_cc['eu_market_status']['put_into_service']['value']
26
+ },
27
+ "project_intended_purposes": [],
28
+ "project_cc_pass": False,
29
+ "data_cc_pass": False,
30
+ "model_cc_pass": False,
31
+ "msg": []
32
  }
 
33
 
34
+ if any(item['value'] for item in project_cc['high_risk_ai_system'].values()) == True:
35
+ dispositive_variables['ai_project_type']["high_risk_ai_system"] = True
36
+
37
+ # check intended purposes
38
+ for card in cards['data_files']:
39
+ data_cc = card[1]
40
+ dispositive_variables = check_intended_purpose(dispositive_variables, project_cc, data_cc)
41
+
42
+ for card in cards['model_files']:
43
+ model_cc = card[1]
44
+ dispositive_variables = check_intended_purpose(dispositive_variables, project_cc, model_cc)
45
+
46
+ # for each model_cc and data_cc - run analysis with ref to project_cc
47
+ dispositive_variables = run_compliance_analysis_on_project(dispositive_variables, project_cc)
48
 
49
+ for card in cards['data_files']:
50
+ data_cc = card[1]
51
+ dispositive_variables = run_compliance_analysis_on_data(dispositive_variables, data_cc)
52
+
53
+ for card in cards['model_files']:
54
+ model_cc = card[1]
55
+ dispositive_variables = run_compliance_analysis_on_model(dispositive_variables, model_cc)
56
 
57
+ return dispositive_variables
 
 
 
 
 
 
 
 
 
 
 
58
 
59
+ def check_overall_compliance(cards):
60
+
61
+ with open(cards['project_file'], 'r') as project_filepath:
62
+ print(project_filepath)
63
+ project_cc = yaml.safe_load(project_filepath.read())
64
 
65
+ dispositive_variables = {
66
+ "ai_project_type": {
67
+ "ai_system": project_cc['ai_system']['ai_system']['value'],
68
+ "gpai_model": project_cc['gpai_model']['gpai_model']['value'],
69
+ "high_risk_ai_system": False,
70
+ "gpai_model_systemic_risk": False
71
+ },
72
+ "operator_details": {
73
+ "provider": project_cc['operator_details']['provider']['value'],
74
+ "eu_located": project_cc['operator_details']['eu_located']['value'],
75
+ "output_used": project_cc['operator_details']['output_used']['value']
76
+ },
77
+ "eu_market_status": {
78
+ "placed_on_market": project_cc['eu_market_status']['placed_on_market']['value'],
79
+ "put_into_service": project_cc['eu_market_status']['put_into_service']['value']
80
+ },
81
+ "project_intended_purposes": [],
82
+ "project_cc_pass": False,
83
+ "data_cc_pass": False,
84
+ "model_cc_pass": False,
85
+ "msg": []
86
+ }
87
+
88
+ # check intended purposes
89
+ for card in cards['data_files']:
90
+ with open(card, 'r') as data_filepath:
91
+ data_cc = yaml.safe_load(data_filepath.read())
92
+ dispositive_variables = check_intended_purpose(dispositive_variables, project_cc, data_cc)
93
+
94
+ for card in cards['model_files']:
95
+ with open(card, 'r') as model_filepath:
96
+ model_cc = yaml.safe_load(model_filepath.read())
97
+ dispositive_variables = check_intended_purpose(dispositive_variables, project_cc, model_cc)
98
+
99
+ # for each model_cc and data_cc - run analysis with ref to project_cc
100
+ dispositive_variables = run_compliance_analysis_on_project(dispositive_variables, project_cc)
101
+
102
+ for card in cards['data_files']:
103
+ with open(card, 'r') as data_filepath:
104
+ data_cc = yaml.safe_load(data_filepath.read())
105
+ dispositive_variables = run_compliance_analysis_on_data(dispositive_variables, data_cc)
106
+
107
+ for card in cards['model_files']:
108
+ with open(card, 'r') as model_filepath:
109
+ model_cc = yaml.safe_load(model_filepath.read())
110
+ dispositive_variables = run_compliance_analysis_on_model(dispositive_variables, model_cc)
111
+
112
+ return dispositive_variables
113
+
114
+ def run_compliance_analysis_on_project(dispositive_variables, project_cc_yaml):
115
+
116
+ # Project Type
117
+ if project_cc_yaml['ai_system']['ai_system']['value']:
118
+ dispositive_variables['ai_project_type']['ai_system'] = True
119
+ if project_cc_yaml['gpai_model']['gpai_model']['value']:
120
+ dispositive_variables['ai_project_type']['gpai_model'] = True
121
+ if project_cc_yaml['ai_system']['ai_system']['value'] == True and project_cc_yaml['gpai_model']['gpai_model']['value'] == True:
122
+ dispositive_variables['msg'].append("Your project cannot be both an AI system and a GPAI model. Please revise your Project CC accordingly.")
123
+ return dispositive_variables
124
 
125
+ if dispositive_variables['ai_project_type']['ai_system'] == True:
126
+ for value in project_cc_yaml['high_risk_ai_system']:
127
+ if value and sum(map(bool, [
128
+ project_cc_yaml['high_risk_ai_system_exceptions']['filter_exception_rights']['value'],
129
+ project_cc_yaml['high_risk_ai_system_exceptions']['filter_exception_narrow']['value'],
130
+ project_cc_yaml['high_risk_ai_system_exceptions']['filter_exception_human']['value'],
131
+ project_cc_yaml['high_risk_ai_system_exceptions']['filter_exception_deviation']['value'],
132
+ project_cc_yaml['high_risk_ai_system_exceptions']['filter_exception_prep']['value']])
133
+ ) >= 1:
134
+
135
+ dispositive_variables['ai_project_type']["high_risk_ai_system"] = False
 
 
 
136
 
137
+ if dispositive_variables['ai_project_type']['gpai_model'] == True:
138
+ if project_cc_yaml['gpai_model_systemic_risk']['evaluation']['value'] or project_cc_yaml['gpai_model_systemic_risk']['flops']['value']:
139
+ dispositive_variables['ai_project_type']["gpai_model_systemic_risk"] = True
140
 
141
+ # Operator Type
142
+ dispositive_variables = set_operator_role_and_location(dispositive_variables, project_cc_yaml)
143
+ dispositive_variables = set_eu_market_status(dispositive_variables, project_cc_yaml)
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
144
 
145
+ # Check if project is within scope of the Compliance Cards project. If not, inform user.
146
+ if project_cc_yaml['operator_details']['provider']['value'] == True:
147
+ dispositive_variables['msg'].append("Project is within the scope of the Compliance Cards system. Let's continue...")
148
+ else:
149
+ dispositive_variables['msg'].append("Project is not within the scope of the initial version of the Compliance Cards system.")
150
+ return dispositive_variables
151
+
152
+ # Check if the project is within scope of the Act. If it's not, the analysis is over.
153
+ if check_within_scope_act(dispositive_variables, project_cc_yaml):
154
+ dispositive_variables['msg'].append("Project is within the scope of Act. Let's continue...")
155
+ else:
156
+ dispositive_variables['msg'].append("Project is not within the scope of what is regulated by the Act.")
157
+ return dispositive_variables
 
 
 
 
 
158
 
159
+ # Check for prohibited practices. If any exist, the analysis is over.
160
+ if check_prohibited(project_cc_yaml) == True:
161
+ dispositive_variables['msg'].append("Project is non-compliant due to a prohibited practice.")
162
+ return dispositive_variables
163
+ else:
164
+ print("Project does not contain prohibited practies. Let's continue...")
165
 
166
+ # If project is high-risk AI system, check that is has met all the requirements for such systems:
167
+ if dispositive_variables['ai_project_type']["high_risk_ai_system"] == True:
168
+
169
+ for key in project_cc_yaml['risk_management_system']:
170
+ if project_cc_yaml['risk_management_system'][f'{key}']['value'] == True:
171
+ dispositive_variables['msg'].append("Because of project-level characteristics, this high-risk AI system fails the risk management requirements under Article 9.")
172
+ for key in project_cc_yaml['technical_documentation']:
173
+ if project_cc_yaml['technical_documentation'][f'{key}']['value'] == True:
174
+ dispositive_variables['msg'].append("Because of project-level characteristics, this high-risk AI system fails the risk management requirements under Article 11.")
175
+
176
+ for key in project_cc_yaml['record_keeping']:
177
+ if project_cc_yaml['record_keeping'][f'{key}']['value'] == True:
178
+ dispositive_variables['msg'].append("Because of project-level characteristics, this high-risk AI system fails the risk management requirements under Article 12.")
179
+
180
+ for key in project_cc_yaml['transparency_and_provision_of_information_to_deployers']:
181
+ if project_cc_yaml['transparency_and_provision_of_information_to_deployers'][f'{key}']['value'] == True:
182
+ dispositive_variables['msg'].append("Because of project-level characteristics, this high-risk AI system fails the transparency requirements under Article 13.")
183
+
184
+ for key in project_cc_yaml['human_oversight']:
185
+ if project_cc_yaml['human_oversight'][f'{key}']['value'] == True:
186
+ dispositive_variables['msg'].append("Because of project-level characteristics, this high-risk AI system fails the human oversight requirements under Article 14.")
187
+
188
+ for key in project_cc_yaml['accuracy_robustness_cybersecurity']:
189
+ if project_cc_yaml['accuracy_robustness_cybersecurity'][f'{key}']['value'] == True:
190
+ dispositive_variables['msg'].append("Because of project-level characteristics, this high-risk AI system fails the accuracy, robustness, and cybersecurity requirements under Article 15.")
191
+
192
+ for key in project_cc_yaml['quality_management_system']:
193
+ if project_cc_yaml['quality_management_system'][f'{key}']['value'] == True:
194
+ dispositive_variables['msg'].append("Because of project-level characteristics, this high-risk AI system fails the accuracy, robustness, and cybersecurity requirements under Article 17.")
195
+
196
+ if dispositive_variables['ai_project_type']["gpai_model"] == True:
197
+
198
+ if dispositive_variables['ai_project_type']["gpai_model_systemic_risk"] == True:
199
+ for key in project_cc_yaml['gpai_models_with_systemic_risk_obligations']:
200
+ if project_cc_yaml['gpai_models_with_systemic_risk_obligations'][f'{key}']['value'] == True:
201
+ dispositive_variables['msg'].append("GPAI model with systematic risk fails the transparency requirements under Article 55.")
202
+
203
+ for obligation_cat in project_cc_yaml['gpai_model_obligations']:
204
+ for obligation in project_cc_yaml['gpai_model_obligations'][f'{obligation_cat}']:
205
+ if project_cc_yaml['gpai_model_obligations'][f'{obligation_cat}'][f'{obligation}']['value'] == True:
206
+ dispositive_variables['msg'].append("GPAI model fails the transparency requirements under Article 53.")
207
 
208
+ return dispositive_variables
 
 
209
 
210
+ def run_compliance_analysis_on_data(dispositive_variables, data_cc_yaml):
211
+
212
+ if dispositive_variables['ai_project_type']["high_risk_ai_system"] == True:
213
+ for key in data_cc_yaml['high_risk_ai_system_requirements']:
214
+ if data_cc_yaml['high_risk_ai_system_requirements'][f'{key}']['value'] == True:
215
+ dispositive_variables['msg'].append(f"This high-risk AI system fails the {key} requirements under {data_cc_yaml['high_risk_ai_system_requirements'][f'{key}']['article']}.")
216
 
217
+ if dispositive_variables['ai_project_type']["gpai_model"] == True:
218
+ for value in data_cc_yaml['gpai_model_requirements']:
219
+ if data_cc_yaml['gpai_model_requirements'][f'{value}'] == True:
220
+ dispositive_variables['msg'].append(f"")
221
 
222
+ return dispositive_variables
223
+
224
+ def run_compliance_analysis_on_model(dispositive_variables, model_cc_yaml):
225
+
226
+ # If project involves a high-risk AI system, then make sure all the relevant model requirements are met (relevant attributes are positive)
227
 
228
+ if dispositive_variables['ai_project_type']["high_risk_ai_system"] == True:
229
+ for value in model_cc_yaml['high_risk_ai_system_requirements']:
230
+ if model_cc_yaml['high_risk_ai_system_requirements'][f'{value}'] == True:
231
+ dispositive_variables['msg'].append(f"This high-risk AI system fails the {key} requirements under {model_cc_yaml['high_risk_ai_system_requirements'][f'{key}']['article']}.")
232
 
233
+ # If project involves a GPAI model, then make sure all the relevant model requirements are met (relevant attributes are positive)
234
+
235
+ if dispositive_variables['ai_project_type']["gpai_model"] == True:
236
+ for key in model_cc_yaml['gpai_model_requirements']:
237
+ if model_cc_yaml['gpai_model_requirements'][f'{key}']['value'] == True:
238
+ dispositive_variables['msg'].append(f"This high-risk AI system fails the {key} requirements under {model_cc_yaml['gpai_model_requirements'][f'{key}']['article']}.")
239
+
240
+ # If the GPAI model additionally carries systemic risk, then make sure all the relevant model requirements are met (relevant attributes are positive)
241
+
242
+ if dispositive_variables['ai_project_type']["gpai_model_systemic_risk"] == True:
243
+ for key in model_cc_yaml['gpai_model_with_systemic_risk_requirements']:
244
+ if model_cc_yaml['gpai_model_with_systemic_risk_requirements'][f'{key}']['value'] == True:
245
+ dispositive_variables['msg'].append(f"This high-risk AI system fails the {key} requirements under {model_cc_yaml['gpai_model_with_systemic_risk_requirements'][f'{key}']['article']}.")
246
+
247
+ return dispositive_variables
248
 
249
+ def check_intended_purpose(dispositive_variables, project_cc, other_cc):
250
+
251
+ # We want to run this function for everything classified as a high_risk_ai_system
252
+ # We also need to run it for all
253
+ # Add any of the intended purposes of the overall project to a set of intended purposes
254
+
255
+ # intended_purpose = ['safety_component',
256
+ # "product_regulated_machinery",
257
+ # "product_regulated_toy",
258
+ # "product_regulated_watercraft",
259
+ # "biometric_categorization",
260
+ # "emotion_recognition",
261
+ # "critical_infrastructure",
262
+ # "admission",
263
+ # "recruitment",
264
+ # "public_assistance",
265
+ # "victim_assessment",
266
+ # "polygraph",
267
+ # "judicial"]
268
+
269
+ project_intended_purposes = []
270
+ dataset_intended_purposes = []
271
+ model_intended_purposes = []
272
 
273
+ if dispositive_variables['ai_project_type']['high_risk_ai_system'] == False:
274
+ dispositive_variables['msg'].append(f"Not high-risk")
275
+ return dispositive_variables
276
+
277
+ if dispositive_variables['ai_project_type']['high_risk_ai_system'] == True:
278
+ for key in project_cc['high_risk_ai_system']:
279
+ if project_cc['high_risk_ai_system'][f'{key}']['value']:
280
+ project_intended_purposes.append(key)
281
+
282
+ # For each Data CC, put the intended uses in a set and then make sure the Project's intended use is in the set
283
+
284
+ if other_cc['card_details']['card_type'] == 'data':
285
+ data_cc = other_cc
286
+ for key in data_cc['intended_purpose']:
287
+ if data_cc['intended_purpose'][f'{key}']['value']:
288
+ dataset_intended_purposes.append(key)
289
 
290
+ for purpose in project_intended_purposes:
291
+ if purpose not in dataset_intended_purposes:
292
+ dispositive_variables['msg'].append(f"You are not compliant because {purpose} is not a valid purpose for {data_cc['card_details']['card_label']}")
293
 
294
+ # Now do the exact same thing for all models
 
 
295
 
296
+ if other_cc['card_details']['card_type'] == 'model':
297
+ model_cc = other_cc
298
+ for key in model_cc['intended_purpose']:
299
+ if model_cc['intended_purpose'][f'{key}']['value']:
300
+ model_intended_purposes.append(key)
301
 
302
+ for purpose in project_intended_purposes:
303
+ if purpose not in model_intended_purposes:
304
+ dispositive_variables['msg'].append(f"You are not compliant because {purpose} is not a valid purpose for {model_cc['card_details']['card_label']}")
305
 
306
+ dispositive_variables['project_intended_purposes'] = project_intended_purposes
 
 
307
 
308
+ return dispositive_variables
309
 
310
 
data_cc 02.yaml ADDED
@@ -0,0 +1,228 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ card_details:
2
+ card_type: "data" # "project", "data" or "model"
3
+ card_label: "data_02"
4
+
5
+ # Metadata related to intended purpose(s) of data
6
+
7
+ intended_purpose:
8
+ safety_component:
9
+ article: 'Art. 6(1)(a)'
10
+ verbose: 'This dataset is appropriate to use for AI projects involving product safety components'
11
+ value: !!bool true
12
+ product_regulated_machinery:
13
+ article: 'Art. 6(1)(b); Annex I'
14
+ verbose: 'This dataset is appropriate to use for AI projects involving products covered by Directive 2006/42/EC of the European Parliament and of the Council of 17 May 2006 on machinery, and amending Directive 95/16/EC (OJ L 157, 9.6.2006, p. 24) [as repealed by the Machinery Regulation]'
15
+ value: !!bool false
16
+ product_regulated_toy:
17
+ article: 'Art. 6(1)(b); Annex I'
18
+ verbose: 'This dataset is appropriate to use for AI projects involving products covered by Directive 2009/48/EC of the European Parliament and of the Council of 18 June 2009 on the safety of toys (OJ L 170, 30.6.2009, p. 1)'
19
+ value: !!bool false
20
+ product_regulated_watercraft:
21
+ article: 'Art. 6(1)(b); Annex I'
22
+ verbose: 'This dataset is appropriate to use for AI projects involving products covered by Directive 2013/53/EU of the European Parliament and of the Council of 20 November 2013 on recreational craft and personal watercraft and repealing Directive 94/25/EC (OJ L 354, 28.12.2013, p. 90)'
23
+ value: !!bool false
24
+ biometric_categorization:
25
+ article: 'Art. 6(2); Annex III(1)(b)'
26
+ verbose: 'This dataset is appropriate to use for AI projects involving biometric categorisation, according to sensitive or protected attributes or characteristics based on the inference of those attributes or characteristics'
27
+ value: !!bool false
28
+ emotion_recognition:
29
+ article: 'Art. 6(2); Annex III(1)(c)'
30
+ verbose: 'This dataset is appropriate to use for AI projects involving emotion recognition'
31
+ value: !!bool true
32
+ critical_infrastructure:
33
+ article: 'Art. 6(2); Annex III(2)'
34
+ verbose: 'This dataset is appropriate to use for AI projects involving safety components in the management and operation of critical digital infrastructure, road traffic, or in the supply of water, gas, heating or electricity'
35
+ value: !!bool true
36
+ admission:
37
+ article: 'Art. 6(2); Annex III(3)(a)'
38
+ verbose: 'This dataset is appropriate to use for AI projects involving the determination of access or admission or to assigning natural persons to educational and vocational training institutions at all levels'
39
+ value: !!bool false
40
+ recruitment:
41
+ article: 'Art. 6(2); Annex III(4)(a)'
42
+ verbose: 'This dataset is appropriate to use for AI projects involving the recruitment or selection of natural persons, in particular to place targeted job advertisements, to analyse and filter job applications, and to evaluate candidates'
43
+ value: !!bool false
44
+ public_assistance:
45
+ article: 'Art. 6(2); Annex III(5)(a)'
46
+ verbose: 'This dataset is appropriate to use for AI projects intended to be used by public authorities or on behalf of public authorities to evaluate the eligibility of natural persons for essential public assistance benefits and services, including healthcare services, as well as to grant, reduce, revoke, or reclaim such benefits and services'
47
+ value: !!bool false
48
+ victim_assessment:
49
+ article: 'Art. 6(2); Annex III(6)(a)'
50
+ verbose: 'This dataset is appropriate to use for AI projects intended to be used by or on behalf of law enforcement authorities, or by Union institutions, bodies, offices or agencies in support of law enforcement authorities or on their behalf to assess the risk of a natural person becoming the victim of criminal offences'
51
+ value: !!bool false
52
+ polygraph:
53
+ article: 'Art. 6(2); Annex III(7)(a)'
54
+ verbose: 'This dataset is appropriate to use for AI projects intended to be used by or on behalf of competent public authorities or by Union institutions, bodies, offices or agencies as polygraphs or similar tools'
55
+ value: !!bool false
56
+ judicial:
57
+ article: 'Art. 6(2); Annex III(8)(a)'
58
+ verbose: 'This dataset is appropriate to use for AI projects intended to be used by a judicial authority or on their behalf to assist a judicial authority in researching and interpreting facts and the law and in applying the law to a concrete set of facts, or to be used in a similar way in alternative dispute resolution'
59
+ value: !!bool false
60
+
61
+ # Metadata related to data-related requirements for high-risk AI systems
62
+
63
+ high_risk_ai_system_requirements:
64
+ # data governance
65
+ data_and_data_governance_data_governance:
66
+ article: 'Art. 10(1)-(2)'
67
+ verbose: 'The dataset was subject to data governance and management practices appropriate to the intended use case'
68
+ value: !!bool false
69
+ data_and_data_governance_design_choices:
70
+ article: 'Art. 10(2)(a)'
71
+ verbose: 'The dataset has been subject to data governance and management practices as regards its relevant design choices'
72
+ value: !!bool false
73
+ data_and_data_governance_data_origin:
74
+ article: 'Art. 10(2)(b)'
75
+ verbose: 'The dataset has been subject to data governance and management practices as regards its data collection processes and the origin of data, and in the case of personal data, the original purpose of the data collection'
76
+ value: !!bool false
77
+ data_and_data_governance_data_preparation:
78
+ article: 'Art. 10(2)(c)'
79
+ verbose: 'The dataset has been subject to data governance and management practices as regards its data-preparation processing operations, such as annotation, labelling, cleaning, updating, enrichment and aggregation'
80
+ value: !!bool false
81
+ data_and_data_governance_data_assumptions:
82
+ article: 'Art. 10(2)(d)'
83
+ verbose: 'The dataset has been subject to data governance and management practices as regards its formulation of assumptions, in particular with respect to the information that the data are supposed to measure and represent'
84
+ value: !!bool false
85
+ data_and_data_governance_data_quantity:
86
+ article: 'Art. 10(2)(e)'
87
+ verbose: 'The dataset has been subject to data governance and management practices that include an assessment of the availability, quantity and suitability of the data sets that are needed'
88
+ value: !!bool false
89
+ data_and_data_governance_ata_bias_examination:
90
+ article: 'Art. 10(2)(f)'
91
+ verbose: 'The dataset has been subject to data governance and management practices that include an examination of possible biases that are likely to affect the health and safety of persons, have a negative impact on fundamental rights or lead to discrimination prohibited under Union law, especially where data outputs influence inputs for future operations'
92
+ value: !!bool false
93
+ data_and_data_governance_data_and_data_governance_data_bias_mitigation:
94
+ article: 'Art. 10(2)(g)'
95
+ verbose: 'The dataset has been subject to data governance and management practices that include appropriate measures to detect, prevent and mitigate possible biases that are likely to affect the health and safety of persons, have a negative impact on fundamental rights or lead to discrimination prohibited under Union law, especially where data outputs influence inputs for future operations'
96
+ value: !!bool true
97
+ data_and_data_governance_data_compliance:
98
+ article: 'Art. 10(2)(h)'
99
+ verbose: 'The dataset has been subject to data governance and management practices that include identification of relevant data gaps or shortcomings that prevent compliance with this Regulation, and how those gaps and shortcomings can be addressed'
100
+ value: !!bool false
101
+ # data_characteristics
102
+ data_and_data_governance_data_relevance:
103
+ article: 'Art. 10(3); Rec. 67'
104
+ verbose: 'Training data is relevant'
105
+ value: !!bool false
106
+ data_and_data_governance_data_representativity:
107
+ article: 'Art. 10(3); Rec. 67'
108
+ verbose: 'Training data is sufficiently representative'
109
+ value: !!bool false
110
+ data_and_data_governance_data_errors:
111
+ article: 'Art. 10(3); Rec. 67'
112
+ verbose: 'Training data is, to the best extent possible, free of errors'
113
+ value: !!bool false
114
+ data_and_data_governance_data_completeness:
115
+ article: 'Art. 10(3); Rec. 67'
116
+ verbose: 'Training data is complete in view of the intended purpose'
117
+ value: !!bool false
118
+ data_and_data_governance_statistical_properties:
119
+ article: 'Art. 10(3)'
120
+ verbose: 'Training data possesses the appropriate statistical properties, including, where applicable, as regards the people in relation to whom it is intended to be used'
121
+ value: !!bool false
122
+ data_and_data_governance_contextual:
123
+ article: 'Art. 10(4)'
124
+ verbose: 'Training data takes into account, to the extent required by the intended purpose, the characteristics or elements that are particular to the specific geographical, contextual, behavioural or functional setting within which it is intended to be used'
125
+ value: !!bool false
126
+ # special_categories_of_personal_data:
127
+ data_and_data_governance_personal_data_necessary:
128
+ article: 'Art. 10(5)'
129
+ verbose: 'Where special categories of personal data have been used to ensure the detection and correction of possible biases that are likely to affect the health and safety of persons, have a negative impact on fundamental rights or lead to discrimination prohibited under Union law, especially where data outputs influence inputs for future operations, the use of this data was strictly necessary'
130
+ value: !!bool false
131
+ data_and_data_governance_personal_data_safeguards:
132
+ article: 'Art. 10(5)'
133
+ verbose: 'Where special categories of personal data have been used to ensure the detection and correction of possible biases that are likely to affect the health and safety of persons, have a negative impact on fundamental rights or lead to discrimination prohibited under Union law, especially where data outputs influence inputs for future operations, the use complied with appropriate safeguards for the fundamental rights and freedoms of natural persons'
134
+ value: !!bool false
135
+ data_and_data_governance_personal_data_gdpr:
136
+ article: 'Art. 10(5)'
137
+ verbose: 'Where special categories of personal data have been used to ensure the detection and correction of possible biases that are likely to affect the health and safety of persons, have a negative impact on fundamental rights or lead to discrimination prohibited under Union law, especially where data outputs influence inputs for future operations, the use of this data satisfied the provisions set out in Regulations (EU) 2016/679 and (EU) 2018/1725 and Directive (EU) 2016/680'
138
+ value: !!bool false
139
+ data_and_data_governance_personal_data_other_options:
140
+ article: 'Art. 10(5)(a)'
141
+ verbose: 'Where special categories of personal data have been used to ensure the detection and correction of possible biases that are likely to affect the health and safety of persons, have a negative impact on fundamental rights or lead to discrimination prohibited under Union law, especially where data outputs influence inputs for future operations, the bias detection and correction was not effectively fulfilled by processing other data, including synthetic or anonymised data'
142
+ value: !!bool false
143
+ data_and_data_governance_personal_data_limitations:
144
+ article: 'Art. 10(5)(b)'
145
+ verbose: 'Where special categories of personal data have been used to ensure the detection and correction of possible biases that are likely to affect the health and safety of persons, have a negative impact on fundamental rights or lead to discrimination prohibited under Union law, especially where data outputs influence inputs for future operations, the special categories of personal data were not subject to technical limitations on the re-use of the personal data, and state-of-the-art security and privacy-preserving measures, including pseudonymisation'
146
+ value: !!bool false
147
+ data_and_data_governance_personal_data_controls:
148
+ article: 'Art. 10(5)(c)'
149
+ verbose: 'Where special categories of personal data have been used to ensure the detection and correction of possible biases that are likely to affect the health and safety of persons, have a negative impact on fundamental rights or lead to discrimination prohibited under Union law, especially where data outputs influence inputs for future operations, the special categories of personal data were subject to measures to ensure that the personal data processed are secured, protected, subject to suitable safeguards, including strict controls and documentation of the access, to avoid misuse and ensure that only authorised persons have access to those personal data with appropriate confidentiality obligations'
150
+ value: !!bool false
151
+ data_and_data_governance_personal_data_access:
152
+ article: 'Art. 10(5)(d)'
153
+ verbose: 'Where special categories of personal data have been used to ensure the detection and correction of possible biases that are likely to affect the health and safety of persons, have a negative impact on fundamental rights or lead to discrimination prohibited under Union law, especially where data outputs influence inputs for future operations, the special categories of personal data were not to be transmitted, transferred or otherwise accessed by other parties'
154
+ value: !!bool false
155
+ data_and_data_governance_personal_data_deletion:
156
+ article: 'Art. 10(5)(e)'
157
+ verbose: 'Where special categories of personal data have been used to ensure the detection and correction of possible biases that are likely to affect the health and safety of persons, have a negative impact on fundamental rights or lead to discrimination prohibited under Union law, especially where data outputs influence inputs for future operations, the special categories of personal data were deleted once the bias was corrected or the personal data reached the end of its retention period (whichever came first)'
158
+ value: !!bool false
159
+ data_and_data_governance_personal_data_necessary_105f:
160
+ article: 'Art. 10(5)(f)'
161
+ verbose: 'Where special categories of personal data have been used to ensure the detection and correction of possible biases that are likely to affect the health and safety of persons, have a negative impact on fundamental rights or lead to discrimination prohibited under Union law, especially where data outputs influence inputs for future operations, the records of processing activities pursuant to Regulations (EU) 2016/679 and (EU) 2018/1725 and Directive (EU) 2016/680 include the reasons why the processing of special categories of personal data was strictly necessary to detect and correct biases, and why that objective could not be achieved by processing other data'
162
+ value: !!bool false
163
+ # technical_documentation:
164
+ technical_documentation_general_description:
165
+ article: 'Art. 11; Annex IV(2)(d)'
166
+ verbose: 'Dataset carries technical documention, such as a dataseet, including a general description of the dataset.'
167
+ value: !!bool false
168
+ technical_documentation_provenance:
169
+ article: 'Art. 11; Annex IV(2)(d)'
170
+ verbose: 'Dataset carries technical documention, such as a dataseet, including information about its provenance'
171
+ value: !!bool false
172
+ technical_documentation_scope:
173
+ article: 'Art. 11; Annex IV(2)(d)'
174
+ verbose: 'Dataset carries technical documention, such as a dataseet, including information about scope and main characteristics'
175
+ value: !!bool false
176
+ technical_documentation_origins:
177
+ article: 'Art. 11; Annex IV(2)(d)'
178
+ verbose: 'Dataset carries technical documention, such as a dataseet, including information about how the data was obtained and selected'
179
+ value: !!bool false
180
+ technical_documentation_labelling:
181
+ article: 'Art. 11; Annex IV(2)(d)'
182
+ verbose: 'Dataset carries technical documention, such as a dataseet, including information about labelling procedures (e.g. for supervised learning)'
183
+ value: !!bool false
184
+ technical_documentation_cleaning:
185
+ article: 'Art. 11; Annex IV(2)(d)'
186
+ verbose: 'Dataset carries technical documention, such as a dataseet, including information about data cleaning methodologies (e.g. outliers detection)'
187
+ value: !!bool false
188
+ technical_documentation_cybersecurity:
189
+ article: 'Art. 11; Annex IV(2)(h)'
190
+ verbose: 'Cybersecurity measures were put in place as regards the data (e.g., scanning for data poisoning)'
191
+ value: !!bool false
192
+
193
+ transparency_and_provision_of_information_to_deployers:
194
+ article: '# Art. 13(3)(b)(vi)'
195
+ verbose: 'Dataset is accompanied by instructions for use that convery relevant information about it, taking into account its intended purpose'
196
+ value: !!bool false
197
+ quality_management_system:
198
+ article: 'Art. 17(1)(f)'
199
+ verbose: 'Datset was subject to a quality management system that is documented in a systematic and orderly manner in the form of written policies, procedures and instructions, and includes a description of the systems and procedures for data management, including data acquisition, data collection, data analysis, data labelling, data storage, data filtration, data mining, data aggregation, data retention and any other operation regarding the data'
200
+ value: !!bool false
201
+
202
+ # Metadata related to data-related requirements for GPAI models
203
+
204
+ gpai_model_requirements:
205
+ data_type:
206
+ article: 'Art. 53(1); Annex XI(2)(c)'
207
+ verbose: 'Documentation for the dataset is available that contains the type of data'
208
+ value: !!bool false
209
+ data_provenance:
210
+ article: 'Art. 53(1); Annex XI(2)(c)'
211
+ verbose: 'Documentation for the dataset is available that contains the provenance of data'
212
+ value: !!bool false
213
+ data_curation:
214
+ article: 'Art. 53(1); Annex XI(2)(c)'
215
+ verbose: 'Documentation for the dataset is available that contains the curation methodologies (e.g. cleaning, filtering, etc.)'
216
+ value: !!bool false
217
+ data_number:
218
+ article: 'Art. 53(1); Annex XI(2)(c)'
219
+ verbose: 'Documentation for the dataset is available that contains the number of data points'
220
+ value: !!bool false
221
+ data_scope:
222
+ article: 'Art. 53(1); Annex XI(2)(c)'
223
+ verbose: 'Documentation for the dataset is available that contains the number of data scope and main characteristics'
224
+ value: !!bool false
225
+ data_origin:
226
+ article: 'Art. 53(1); Annex XI(2)(c)'
227
+ verbose: 'Documentation for the dataset is available that contains information on how the data was obtained and selected as well as all other measures to detect the unsuitability of data sources and methods to detect identifiable biases'
228
+ value: !!bool false
data_cc.yaml CHANGED
@@ -1,127 +1,228 @@
1
- data_and_data_governance:
2
- data_governance: # Art. 10(1)-(2)
3
- verbose: 'Data sets has been subject to data governance and management practices appropriate for the intended purpose of the system'
4
- value: !!bool false
5
- design_choices: # Art. 10(2)(a)
6
- verbose: 'Data governance and management practices have been applied to the relevant design choices'
7
- value: !!bool false
8
- data_origin: # Art. 10(2)(b)
9
- verbose: 'Data governance and management practices have been applied to data collection processes and the origin of data, and in the case of personal data, the original purpose of the data collection'
10
- value: !!bool false
11
- data_preparation: # Art. 10(2)(c)
12
- verbose: 'Data governance and management practices have been applied to relevant data-preparation processing operations, such as annotation, labelling, cleaning, updating, enrichment and aggregation'
13
- value: !!bool false
14
- data_assumptions: # Art. 10(2)(d)
15
- verbose: 'Data governance and management practices have been applied to the formulation of assumptions, in particular with respect to the information that the data are supposed to measure and represent'
16
- value: !!bool false
17
- data_quantity: # Art. 10(2)(e)
18
- verbose: 'Data governance and management practices included an assessment of the availability, quantity and suitability of the data sets that are needed'
19
- value: !!bool false
20
- data_bias_examination: # Art. 10(2)(f)
21
- verbose: 'Data governance and management practices have included an examination of possible biases that are likely to affect the health and safety of persons, have a negative impact on fundamental rights or lead to discrimination prohibited under Union law, especially where data outputs influence inputs for future operations'
22
- value: !!bool false
23
- data_bias_mitigation: # Art. 10(2)(g)
24
- verbose: 'Data governance and management practices included appropriate measures to detect, prevent and mitigate possible biases that are likely to affect the health and safety of persons, have a negative impact on fundamental rights or lead to discrimination prohibited under Union law, especially where data outputs influence inputs for future operations'
25
- value: !!bool false
26
- data_compliance: # Art. 10(2)(h)
27
- verbose: 'Data governance and management practices have included the identification of relevant data gaps or shortcomings that prevent compliance with this Regulation, and how those gaps and shortcomings can be addressed'
28
- value: !!bool false
29
- data_relevance: # Art. 10(3); Rec. 67
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
30
  verbose: 'Training data is relevant'
31
  value: !!bool false
32
- data_representativity: # Art. 10(3); Rec. 67
 
33
  verbose: 'Training data is sufficiently representative'
34
  value: !!bool false
35
- data_errors: # Art. 10(3); Rec. 67
 
36
  verbose: 'Training data is, to the best extent possible, free of errors'
37
  value: !!bool false
38
- data_completeness: # Art. 10(3); Rec. 67
39
- verbose: 'Training data is complete in view of the intended purpose of system'
 
40
  value: !!bool false
41
- statistical_properties: # Art. 10(3)
42
- verbose: 'Training data possesses the appropriate statistical properties, including, where applicable, as regards the people in relation to whom the system is intended to be used'
 
43
  value: !!bool false
44
- contextual: # Art. 10(4)
45
- verbose: 'Training data takes into account, to the extent required by the intended purpose, the characteristics or elements that are particular to the specific geographical, contextual, behavioural or functional setting within which the system is intended to be used'
 
46
  value: !!bool false
47
- personal_data_necessary: # Art. 10(5)
 
 
48
  verbose: 'Where special categories of personal data have been used to ensure the detection and correction of possible biases that are likely to affect the health and safety of persons, have a negative impact on fundamental rights or lead to discrimination prohibited under Union law, especially where data outputs influence inputs for future operations, the use of this data was strictly necessary'
49
  value: !!bool false
50
- personal_data_safeguards: # Art. 10(5)
 
51
  verbose: 'Where special categories of personal data have been used to ensure the detection and correction of possible biases that are likely to affect the health and safety of persons, have a negative impact on fundamental rights or lead to discrimination prohibited under Union law, especially where data outputs influence inputs for future operations, the use complied with appropriate safeguards for the fundamental rights and freedoms of natural persons'
52
  value: !!bool false
53
- personal_data_gdpr: # Art. 10(5)
 
54
  verbose: 'Where special categories of personal data have been used to ensure the detection and correction of possible biases that are likely to affect the health and safety of persons, have a negative impact on fundamental rights or lead to discrimination prohibited under Union law, especially where data outputs influence inputs for future operations, the use of this data satisfied the provisions set out in Regulations (EU) 2016/679 and (EU) 2018/1725 and Directive (EU) 2016/680'
55
  value: !!bool false
56
- personal_data_other_options: # Art. 10(5)(a)
 
57
  verbose: 'Where special categories of personal data have been used to ensure the detection and correction of possible biases that are likely to affect the health and safety of persons, have a negative impact on fundamental rights or lead to discrimination prohibited under Union law, especially where data outputs influence inputs for future operations, the bias detection and correction was not effectively fulfilled by processing other data, including synthetic or anonymised data'
58
  value: !!bool false
59
- personal_data_limitations: # Art. 10(5)(b)
 
60
  verbose: 'Where special categories of personal data have been used to ensure the detection and correction of possible biases that are likely to affect the health and safety of persons, have a negative impact on fundamental rights or lead to discrimination prohibited under Union law, especially where data outputs influence inputs for future operations, the special categories of personal data were not subject to technical limitations on the re-use of the personal data, and state-of-the-art security and privacy-preserving measures, including pseudonymisation'
61
  value: !!bool false
62
- personal_data_controls: # Art. 10(5)(c)
 
63
  verbose: 'Where special categories of personal data have been used to ensure the detection and correction of possible biases that are likely to affect the health and safety of persons, have a negative impact on fundamental rights or lead to discrimination prohibited under Union law, especially where data outputs influence inputs for future operations, the special categories of personal data were subject to measures to ensure that the personal data processed are secured, protected, subject to suitable safeguards, including strict controls and documentation of the access, to avoid misuse and ensure that only authorised persons have access to those personal data with appropriate confidentiality obligations'
64
  value: !!bool false
65
- personal_data_access: # Art. 10(5)(d)
 
66
  verbose: 'Where special categories of personal data have been used to ensure the detection and correction of possible biases that are likely to affect the health and safety of persons, have a negative impact on fundamental rights or lead to discrimination prohibited under Union law, especially where data outputs influence inputs for future operations, the special categories of personal data were not to be transmitted, transferred or otherwise accessed by other parties'
67
  value: !!bool false
68
- personal_data_deletion: # Art. 10(5)(e)
 
69
  verbose: 'Where special categories of personal data have been used to ensure the detection and correction of possible biases that are likely to affect the health and safety of persons, have a negative impact on fundamental rights or lead to discrimination prohibited under Union law, especially where data outputs influence inputs for future operations, the special categories of personal data were deleted once the bias was corrected or the personal data reached the end of its retention period (whichever came first)'
70
  value: !!bool false
71
- personal_data_necessary_105f: # Art. 10(5)(f)
 
72
  verbose: 'Where special categories of personal data have been used to ensure the detection and correction of possible biases that are likely to affect the health and safety of persons, have a negative impact on fundamental rights or lead to discrimination prohibited under Union law, especially where data outputs influence inputs for future operations, the records of processing activities pursuant to Regulations (EU) 2016/679 and (EU) 2018/1725 and Directive (EU) 2016/680 include the reasons why the processing of special categories of personal data was strictly necessary to detect and correct biases, and why that objective could not be achieved by processing other data'
73
  value: !!bool false
74
-
75
- technical_documentation:
76
- general_description: # Art. 11; Annex IV(2)(d)
77
  verbose: 'Dataset carries technical documention, such as a dataseet, including a general description of the dataset.'
78
  value: !!bool false
79
- provenance: # Art. 11; Annex IV(2)(d)
 
80
  verbose: 'Dataset carries technical documention, such as a dataseet, including information about its provenance'
81
  value: !!bool false
82
- scope: # Art. 11; Annex IV(2)(d)
 
83
  verbose: 'Dataset carries technical documention, such as a dataseet, including information about scope and main characteristics'
84
  value: !!bool false
85
- origins: # Art. 11; Annex IV(2)(d)
 
86
  verbose: 'Dataset carries technical documention, such as a dataseet, including information about how the data was obtained and selected'
87
  value: !!bool false
88
- labelling: # Art. 11; Annex IV(2)(d)
 
89
  verbose: 'Dataset carries technical documention, such as a dataseet, including information about labelling procedures (e.g. for supervised learning)'
90
  value: !!bool false
91
- cleaning: # Art. 11; Annex IV(2)(d)
 
92
  verbose: 'Dataset carries technical documention, such as a dataseet, including information about data cleaning methodologies (e.g. outliers detection)'
93
  value: !!bool false
94
- cybersecurity: # Art. 11; Annex IV(2)(h)
95
- verbose: 'Cybersecurity measures put in place as regards the data (e.g., scanning for data poisoning)'
 
96
  value: !!bool false
97
-
98
- transparency_and_provision_of_information_to_deployers: # Art. 13(3)(b)(vi)
99
- transparency_and_provision_of_information_to_deployers:
100
- verbose: 'Specifications for the input data, or any other relevant information in terms of the training, validation and testing data sets used, taking into account the intended purpose of the AI system'
101
  value: !!bool false
102
-
103
- quality_management_system: # Art. 17(1)(f)
104
- quality_management_system:
105
- verbose: 'Systems and procedures for data management, including data acquisition, data collection, data analysis, data labelling, data storage, data filtration, data mining, data aggregation, data retention and any other operation regarding the data that is performed before and for the purposes of the placing on the market or putting into service of high-risk AI systems'
106
  value: !!bool false
107
 
108
- gpai_requirements: # Art. 53(1); Annex XI(2)(c)
109
- gpai_requirements:
110
- data_type:
111
- verbose: 'Documentation for the dataset is available that contains the type of data'
112
- value: !!bool false
113
- data_provenance:
114
- verbose: 'Documentation for the dataset is available that contains the provenance of data'
115
- value: !!bool false
116
- data_curation:
117
- verbose: 'Documentation for the dataset is available that contains the curation methodologies (e.g. cleaning, filtering, etc.)'
118
- value: !!bool false
119
- data_number:
120
- verbose: 'Documentation for the dataset is available that contains the number of data points'
121
- value: !!bool false
122
- data_scope:
123
- verbose: 'Documentation for the dataset is available that contains the number of data scope and main characteristics'
124
- value: !!bool false
125
- data_origin:
126
- verbose: 'Documentation for the dataset is available that contains information on how the data was obtained and selected as well as all other measures to detect the unsuitability of data sources and methods to detect identifiable biases'
127
- value: !!bool false
 
 
 
 
 
 
 
 
1
+ card_details:
2
+ card_type: "data" # "project", "data" or "model"
3
+ card_label: "data_01"
4
+
5
+ # Metadata related to intended purpose(s) of data
6
+
7
+ intended_purpose:
8
+ safety_component:
9
+ article: 'Art. 6(1)(a)'
10
+ verbose: 'This dataset is appropriate to use for AI projects involving product safety components'
11
+ value: !!bool false
12
+ product_regulated_machinery:
13
+ article: 'Art. 6(1)(b); Annex I'
14
+ verbose: 'This dataset is appropriate to use for AI projects involving products covered by Directive 2006/42/EC of the European Parliament and of the Council of 17 May 2006 on machinery, and amending Directive 95/16/EC (OJ L 157, 9.6.2006, p. 24) [as repealed by the Machinery Regulation]'
15
+ value: !!bool false
16
+ product_regulated_toy:
17
+ article: 'Art. 6(1)(b); Annex I'
18
+ verbose: 'This dataset is appropriate to use for AI projects involving products covered by Directive 2009/48/EC of the European Parliament and of the Council of 18 June 2009 on the safety of toys (OJ L 170, 30.6.2009, p. 1)'
19
+ value: !!bool false
20
+ product_regulated_watercraft:
21
+ article: 'Art. 6(1)(b); Annex I'
22
+ verbose: 'This dataset is appropriate to use for AI projects involving products covered by Directive 2013/53/EU of the European Parliament and of the Council of 20 November 2013 on recreational craft and personal watercraft and repealing Directive 94/25/EC (OJ L 354, 28.12.2013, p. 90)'
23
+ value: !!bool false
24
+ biometric_categorization:
25
+ article: 'Art. 6(2); Annex III(1)(b)'
26
+ verbose: 'This dataset is appropriate to use for AI projects involving biometric categorisation, according to sensitive or protected attributes or characteristics based on the inference of those attributes or characteristics'
27
+ value: !!bool false
28
+ emotion_recognition:
29
+ article: 'Art. 6(2); Annex III(1)(c)'
30
+ verbose: 'This dataset is appropriate to use for AI projects involving emotion recognition'
31
+ value: !!bool true
32
+ critical_infrastructure:
33
+ article: 'Art. 6(2); Annex III(2)'
34
+ verbose: 'This dataset is appropriate to use for AI projects involving safety components in the management and operation of critical digital infrastructure, road traffic, or in the supply of water, gas, heating or electricity'
35
+ value: !!bool true
36
+ admission:
37
+ article: 'Art. 6(2); Annex III(3)(a)'
38
+ verbose: 'This dataset is appropriate to use for AI projects involving the determination of access or admission or to assigning natural persons to educational and vocational training institutions at all levels'
39
+ value: !!bool false
40
+ recruitment:
41
+ article: 'Art. 6(2); Annex III(4)(a)'
42
+ verbose: 'This dataset is appropriate to use for AI projects involving the recruitment or selection of natural persons, in particular to place targeted job advertisements, to analyse and filter job applications, and to evaluate candidates'
43
+ value: !!bool false
44
+ public_assistance:
45
+ article: 'Art. 6(2); Annex III(5)(a)'
46
+ verbose: 'This dataset is appropriate to use for AI projects intended to be used by public authorities or on behalf of public authorities to evaluate the eligibility of natural persons for essential public assistance benefits and services, including healthcare services, as well as to grant, reduce, revoke, or reclaim such benefits and services'
47
+ value: !!bool false
48
+ victim_assessment:
49
+ article: 'Art. 6(2); Annex III(6)(a)'
50
+ verbose: 'This dataset is appropriate to use for AI projects intended to be used by or on behalf of law enforcement authorities, or by Union institutions, bodies, offices or agencies in support of law enforcement authorities or on their behalf to assess the risk of a natural person becoming the victim of criminal offences'
51
+ value: !!bool false
52
+ polygraph:
53
+ article: 'Art. 6(2); Annex III(7)(a)'
54
+ verbose: 'This dataset is appropriate to use for AI projects intended to be used by or on behalf of competent public authorities or by Union institutions, bodies, offices or agencies as polygraphs or similar tools'
55
+ value: !!bool false
56
+ judicial:
57
+ article: 'Art. 6(2); Annex III(8)(a)'
58
+ verbose: 'This dataset is appropriate to use for AI projects intended to be used by a judicial authority or on their behalf to assist a judicial authority in researching and interpreting facts and the law and in applying the law to a concrete set of facts, or to be used in a similar way in alternative dispute resolution'
59
+ value: !!bool false
60
+
61
+ # Metadata related to data-related requirements for high-risk AI systems
62
+
63
+ high_risk_ai_system_requirements:
64
+ # data governance
65
+ data_and_data_governance_data_governance:
66
+ article: 'Art. 10(1)-(2)'
67
+ verbose: 'The dataset was subject to data governance and management practices appropriate to the intended use case'
68
+ value: !!bool false
69
+ data_and_data_governance_design_choices:
70
+ article: 'Art. 10(2)(a)'
71
+ verbose: 'The dataset has been subject to data governance and management practices as regards its relevant design choices'
72
+ value: !!bool false
73
+ data_and_data_governance_data_origin:
74
+ article: 'Art. 10(2)(b)'
75
+ verbose: 'The dataset has been subject to data governance and management practices as regards its data collection processes and the origin of data, and in the case of personal data, the original purpose of the data collection'
76
+ value: !!bool false
77
+ data_and_data_governance_data_preparation:
78
+ article: 'Art. 10(2)(c)'
79
+ verbose: 'The dataset has been subject to data governance and management practices as regards its data-preparation processing operations, such as annotation, labelling, cleaning, updating, enrichment and aggregation'
80
+ value: !!bool false
81
+ data_and_data_governance_data_assumptions:
82
+ article: 'Art. 10(2)(d)'
83
+ verbose: 'The dataset has been subject to data governance and management practices as regards its formulation of assumptions, in particular with respect to the information that the data are supposed to measure and represent'
84
+ value: !!bool false
85
+ data_and_data_governance_data_quantity:
86
+ article: 'Art. 10(2)(e)'
87
+ verbose: 'The dataset has been subject to data governance and management practices that include an assessment of the availability, quantity and suitability of the data sets that are needed'
88
+ value: !!bool false
89
+ data_and_data_governance_ata_bias_examination:
90
+ article: 'Art. 10(2)(f)'
91
+ verbose: 'The dataset has been subject to data governance and management practices that include an examination of possible biases that are likely to affect the health and safety of persons, have a negative impact on fundamental rights or lead to discrimination prohibited under Union law, especially where data outputs influence inputs for future operations'
92
+ value: !!bool false
93
+ data_and_data_governance_data_and_data_governance_data_bias_mitigation:
94
+ article: 'Art. 10(2)(g)'
95
+ verbose: 'The dataset has been subject to data governance and management practices that include appropriate measures to detect, prevent and mitigate possible biases that are likely to affect the health and safety of persons, have a negative impact on fundamental rights or lead to discrimination prohibited under Union law, especially where data outputs influence inputs for future operations'
96
+ value: !!bool true
97
+ data_and_data_governance_data_compliance:
98
+ article: 'Art. 10(2)(h)'
99
+ verbose: 'The dataset has been subject to data governance and management practices that include identification of relevant data gaps or shortcomings that prevent compliance with this Regulation, and how those gaps and shortcomings can be addressed'
100
+ value: !!bool false
101
+ # data_characteristics
102
+ data_and_data_governance_data_relevance:
103
+ article: 'Art. 10(3); Rec. 67'
104
  verbose: 'Training data is relevant'
105
  value: !!bool false
106
+ data_and_data_governance_data_representativity:
107
+ article: 'Art. 10(3); Rec. 67'
108
  verbose: 'Training data is sufficiently representative'
109
  value: !!bool false
110
+ data_and_data_governance_data_errors:
111
+ article: 'Art. 10(3); Rec. 67'
112
  verbose: 'Training data is, to the best extent possible, free of errors'
113
  value: !!bool false
114
+ data_and_data_governance_data_completeness:
115
+ article: 'Art. 10(3); Rec. 67'
116
+ verbose: 'Training data is complete in view of the intended purpose'
117
  value: !!bool false
118
+ data_and_data_governance_statistical_properties:
119
+ article: 'Art. 10(3)'
120
+ verbose: 'Training data possesses the appropriate statistical properties, including, where applicable, as regards the people in relation to whom it is intended to be used'
121
  value: !!bool false
122
+ data_and_data_governance_contextual:
123
+ article: 'Art. 10(4)'
124
+ verbose: 'Training data takes into account, to the extent required by the intended purpose, the characteristics or elements that are particular to the specific geographical, contextual, behavioural or functional setting within which it is intended to be used'
125
  value: !!bool false
126
+ # special_categories_of_personal_data:
127
+ data_and_data_governance_personal_data_necessary:
128
+ article: 'Art. 10(5)'
129
  verbose: 'Where special categories of personal data have been used to ensure the detection and correction of possible biases that are likely to affect the health and safety of persons, have a negative impact on fundamental rights or lead to discrimination prohibited under Union law, especially where data outputs influence inputs for future operations, the use of this data was strictly necessary'
130
  value: !!bool false
131
+ data_and_data_governance_personal_data_safeguards:
132
+ article: 'Art. 10(5)'
133
  verbose: 'Where special categories of personal data have been used to ensure the detection and correction of possible biases that are likely to affect the health and safety of persons, have a negative impact on fundamental rights or lead to discrimination prohibited under Union law, especially where data outputs influence inputs for future operations, the use complied with appropriate safeguards for the fundamental rights and freedoms of natural persons'
134
  value: !!bool false
135
+ data_and_data_governance_personal_data_gdpr:
136
+ article: 'Art. 10(5)'
137
  verbose: 'Where special categories of personal data have been used to ensure the detection and correction of possible biases that are likely to affect the health and safety of persons, have a negative impact on fundamental rights or lead to discrimination prohibited under Union law, especially where data outputs influence inputs for future operations, the use of this data satisfied the provisions set out in Regulations (EU) 2016/679 and (EU) 2018/1725 and Directive (EU) 2016/680'
138
  value: !!bool false
139
+ data_and_data_governance_personal_data_other_options:
140
+ article: 'Art. 10(5)(a)'
141
  verbose: 'Where special categories of personal data have been used to ensure the detection and correction of possible biases that are likely to affect the health and safety of persons, have a negative impact on fundamental rights or lead to discrimination prohibited under Union law, especially where data outputs influence inputs for future operations, the bias detection and correction was not effectively fulfilled by processing other data, including synthetic or anonymised data'
142
  value: !!bool false
143
+ data_and_data_governance_personal_data_limitations:
144
+ article: 'Art. 10(5)(b)'
145
  verbose: 'Where special categories of personal data have been used to ensure the detection and correction of possible biases that are likely to affect the health and safety of persons, have a negative impact on fundamental rights or lead to discrimination prohibited under Union law, especially where data outputs influence inputs for future operations, the special categories of personal data were not subject to technical limitations on the re-use of the personal data, and state-of-the-art security and privacy-preserving measures, including pseudonymisation'
146
  value: !!bool false
147
+ data_and_data_governance_personal_data_controls:
148
+ article: 'Art. 10(5)(c)'
149
  verbose: 'Where special categories of personal data have been used to ensure the detection and correction of possible biases that are likely to affect the health and safety of persons, have a negative impact on fundamental rights or lead to discrimination prohibited under Union law, especially where data outputs influence inputs for future operations, the special categories of personal data were subject to measures to ensure that the personal data processed are secured, protected, subject to suitable safeguards, including strict controls and documentation of the access, to avoid misuse and ensure that only authorised persons have access to those personal data with appropriate confidentiality obligations'
150
  value: !!bool false
151
+ data_and_data_governance_personal_data_access:
152
+ article: 'Art. 10(5)(d)'
153
  verbose: 'Where special categories of personal data have been used to ensure the detection and correction of possible biases that are likely to affect the health and safety of persons, have a negative impact on fundamental rights or lead to discrimination prohibited under Union law, especially where data outputs influence inputs for future operations, the special categories of personal data were not to be transmitted, transferred or otherwise accessed by other parties'
154
  value: !!bool false
155
+ data_and_data_governance_personal_data_deletion:
156
+ article: 'Art. 10(5)(e)'
157
  verbose: 'Where special categories of personal data have been used to ensure the detection and correction of possible biases that are likely to affect the health and safety of persons, have a negative impact on fundamental rights or lead to discrimination prohibited under Union law, especially where data outputs influence inputs for future operations, the special categories of personal data were deleted once the bias was corrected or the personal data reached the end of its retention period (whichever came first)'
158
  value: !!bool false
159
+ data_and_data_governance_personal_data_necessary_105f:
160
+ article: 'Art. 10(5)(f)'
161
  verbose: 'Where special categories of personal data have been used to ensure the detection and correction of possible biases that are likely to affect the health and safety of persons, have a negative impact on fundamental rights or lead to discrimination prohibited under Union law, especially where data outputs influence inputs for future operations, the records of processing activities pursuant to Regulations (EU) 2016/679 and (EU) 2018/1725 and Directive (EU) 2016/680 include the reasons why the processing of special categories of personal data was strictly necessary to detect and correct biases, and why that objective could not be achieved by processing other data'
162
  value: !!bool false
163
+ # technical_documentation:
164
+ technical_documentation_general_description:
165
+ article: 'Art. 11; Annex IV(2)(d)'
166
  verbose: 'Dataset carries technical documention, such as a dataseet, including a general description of the dataset.'
167
  value: !!bool false
168
+ technical_documentation_provenance:
169
+ article: 'Art. 11; Annex IV(2)(d)'
170
  verbose: 'Dataset carries technical documention, such as a dataseet, including information about its provenance'
171
  value: !!bool false
172
+ technical_documentation_scope:
173
+ article: 'Art. 11; Annex IV(2)(d)'
174
  verbose: 'Dataset carries technical documention, such as a dataseet, including information about scope and main characteristics'
175
  value: !!bool false
176
+ technical_documentation_origins:
177
+ article: 'Art. 11; Annex IV(2)(d)'
178
  verbose: 'Dataset carries technical documention, such as a dataseet, including information about how the data was obtained and selected'
179
  value: !!bool false
180
+ technical_documentation_labelling:
181
+ article: 'Art. 11; Annex IV(2)(d)'
182
  verbose: 'Dataset carries technical documention, such as a dataseet, including information about labelling procedures (e.g. for supervised learning)'
183
  value: !!bool false
184
+ technical_documentation_cleaning:
185
+ article: 'Art. 11; Annex IV(2)(d)'
186
  verbose: 'Dataset carries technical documention, such as a dataseet, including information about data cleaning methodologies (e.g. outliers detection)'
187
  value: !!bool false
188
+ technical_documentation_cybersecurity:
189
+ article: 'Art. 11; Annex IV(2)(h)'
190
+ verbose: 'Cybersecurity measures were put in place as regards the data (e.g., scanning for data poisoning)'
191
  value: !!bool false
192
+
193
+ transparency_and_provision_of_information_to_deployers:
194
+ article: '# Art. 13(3)(b)(vi)'
195
+ verbose: 'Dataset is accompanied by instructions for use that convery relevant information about it, taking into account its intended purpose'
196
  value: !!bool false
197
+ quality_management_system:
198
+ article: 'Art. 17(1)(f)'
199
+ verbose: 'Datset was subject to a quality management system that is documented in a systematic and orderly manner in the form of written policies, procedures and instructions, and includes a description of the systems and procedures for data management, including data acquisition, data collection, data analysis, data labelling, data storage, data filtration, data mining, data aggregation, data retention and any other operation regarding the data'
 
200
  value: !!bool false
201
 
202
+ # Metadata related to data-related requirements for GPAI models
203
+
204
+ gpai_model_requirements:
205
+ data_type:
206
+ article: 'Art. 53(1); Annex XI(2)(c)'
207
+ verbose: 'Documentation for the dataset is available that contains the type of data'
208
+ value: !!bool false
209
+ data_provenance:
210
+ article: 'Art. 53(1); Annex XI(2)(c)'
211
+ verbose: 'Documentation for the dataset is available that contains the provenance of data'
212
+ value: !!bool false
213
+ data_curation:
214
+ article: 'Art. 53(1); Annex XI(2)(c)'
215
+ verbose: 'Documentation for the dataset is available that contains the curation methodologies (e.g. cleaning, filtering, etc.)'
216
+ value: !!bool false
217
+ data_number:
218
+ article: 'Art. 53(1); Annex XI(2)(c)'
219
+ verbose: 'Documentation for the dataset is available that contains the number of data points'
220
+ value: !!bool false
221
+ data_scope:
222
+ article: 'Art. 53(1); Annex XI(2)(c)'
223
+ verbose: 'Documentation for the dataset is available that contains the number of data scope and main characteristics'
224
+ value: !!bool false
225
+ data_origin:
226
+ article: 'Art. 53(1); Annex XI(2)(c)'
227
+ verbose: 'Documentation for the dataset is available that contains information on how the data was obtained and selected as well as all other measures to detect the unsuitability of data sources and methods to detect identifiable biases'
228
+ value: !!bool false
model_cc 02.yaml ADDED
@@ -0,0 +1,313 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ card_details:
2
+ card_type: "model" # "project", "data" or "model"
3
+ card_label: "model_02"
4
+
5
+ # Metadata related to intended purpose(s) of model
6
+
7
+ intended_purpose:
8
+ safety_component:
9
+ article: 'Art. 6(1)(a)'
10
+ verbose: 'This model is appropriate to use for AI projects involving product safety components'
11
+ value: !!bool false
12
+ product_regulated_machinery:
13
+ article: 'Art. 6(1)(b); Annex I'
14
+ verbose: 'This model is appropriate to use for AI projects involving products covered by Directive 2006/42/EC of the European Parliament and of the Council of 17 May 2006 on machinery, and amending Directive 95/16/EC (OJ L 157, 9.6.2006, p. 24) [as repealed by the Machinery Regulation]'
15
+ value: !!bool false
16
+ product_regulated_toy:
17
+ article: 'Art. 6(1)(b); Annex I'
18
+ verbose: 'This model is appropriate to use for AI projects involving products covered by Directive 2009/48/EC of the European Parliament and of the Council of 18 June 2009 on the safety of toys (OJ L 170, 30.6.2009, p. 1)'
19
+ value: !!bool false
20
+ product_regulated_watercraft:
21
+ article: 'Art. 6(1)(b); Annex I'
22
+ verbose: 'This model is appropriate to use for AI projects involving products covered by Directive 2013/53/EU of the European Parliament and of the Council of 20 November 2013 on recreational craft and personal watercraft and repealing Directive 94/25/EC (OJ L 354, 28.12.2013, p. 90)'
23
+ value: !!bool false
24
+ biometric_categorization:
25
+ article: 'Art. 6(2); Annex III(1)(b)'
26
+ verbose: 'This model is appropriate to use for AI projects involving biometric categorisation, according to sensitive or protected attributes or characteristics based on the inference of those attributes or characteristics'
27
+ value: !!bool false
28
+ emotion_recognition:
29
+ article: 'Art. 6(2); Annex III(1)(c)'
30
+ verbose: 'This model is appropriate to use for AI projects involving emotion recognition'
31
+ value: !!bool true
32
+ critical_infrastructure:
33
+ article: 'Art. 6(2); Annex III(2)'
34
+ verbose: 'This model is appropriate to use for AI projects involving safety components in the management and operation of critical digital infrastructure, road traffic, or in the supply of water, gas, heating or electricity'
35
+ value: !!bool true
36
+ admission:
37
+ article: 'Art. 6(2); Annex III(3)(a)'
38
+ verbose: 'This model is appropriate to use for AI projects involving the determination of access or admission or to assigning natural persons to educational and vocational training institutions at all levels'
39
+ value: !!bool false
40
+ recruitment:
41
+ article: 'Art. 6(2); Annex III(4)(a)'
42
+ verbose: 'This model is appropriate to use for AI projects involving the recruitment or selection of natural persons, in particular to place targeted job advertisements, to analyse and filter job applications, and to evaluate candidates'
43
+ value: !!bool false
44
+ public_assistance:
45
+ article: 'Art. 6(2); Annex III(5)(a)'
46
+ verbose: 'This model is appropriate to use for AI projects intended to be used by public authorities or on behalf of public authorities to evaluate the eligibility of natural persons for essential public assistance benefits and services, including healthcare services, as well as to grant, reduce, revoke, or reclaim such benefits and services'
47
+ value: !!bool false
48
+ victim_assessment:
49
+ article: 'Art. 6(2); Annex III(6)(a)'
50
+ verbose: 'This model is appropriate to use for AI projects intended to be used by or on behalf of law enforcement authorities, or by Union institutions, bodies, offices or agencies in support of law enforcement authorities or on their behalf to assess the risk of a natural person becoming the victim of criminal offences'
51
+ value: !!bool false
52
+ polygraph:
53
+ article: 'Art. 6(2); Annex III(7)(a)'
54
+ verbose: 'This model is appropriate to use for AI projects intended to be used by or on behalf of competent public authorities or by Union institutions, bodies, offices or agencies as polygraphs or similar tools'
55
+ value: !!bool false
56
+ judicial:
57
+ article: 'Art. 6(2); Annex III(8)(a)'
58
+ verbose: 'This model is appropriate to use for AI projects intended to be used by a judicial authority or on their behalf to assist a judicial authority in researching and interpreting facts and the law and in applying the law to a concrete set of facts, or to be used in a similar way in alternative dispute resolution'
59
+ value: !!bool false
60
+
61
+ # Metadata that will help us determine if the model itself is a GPAI and, therefore, must satisfy the requirements of GPAI models
62
+
63
+ classification_of_gpai_models:
64
+ high_impact_capabilities:
65
+ article: 'Art. 51(1)(a)'
66
+ verbose: 'The model has high impact capabilities evaluated on the basis of appropriate technical tools and methodologies, including indicators and benchmarks'
67
+ value: !!bool false
68
+ flops:
69
+ article: 'Art. 51(2)'
70
+ verbose: 'The cumulative compute used for training the model, as measured in floating point operations (FLOPs), was greater than 10^25.'
71
+ value: !!bool false
72
+
73
+ # Metadata related to model-related requirements for high-risk AI systems
74
+
75
+ high_risk_ai_system_requirements:
76
+ risk_management_system_general:
77
+ article: 'Art. 9(2)'
78
+ verbose: 'A risk management system has been planned, run, reviewed, and updated throughout the model lifecycle'
79
+ value: !!bool false
80
+ risk_management_system_foreseeable_risks:
81
+ article: 'Art. 9(2)(a)'
82
+ verbose: 'The risk management system that was established, implemented, documented and maintained througout the model lifecycle included the identification and analysis of any known or reasonably foreseeable risks the model can pose to health or safety when used for intended purpose'
83
+ value: !!bool false
84
+ risk_management_system_evaluation:
85
+ article: 'Art. 9(2)(b)'
86
+ verbose: 'The risk management system that was established, implemented, documented and maintained througout the model lifecycle included the estimation and evaluation of risks when model used for intended purpose'
87
+ value: !!bool false
88
+ risk_management_system_misuse:
89
+ article: 'Art. 9(2)(b)'
90
+ verbose: 'The risk management system that was established, implemented, documented and maintained througout the model lifecycle included the estimation and evaluation of risks when model used under conditions of reasonably foreseeable misuse'
91
+ value: !!bool false
92
+ risk_management_system_testing_performance:
93
+ article: 'Art. 9(6)'
94
+ verbose: 'The risk management system that was established, implemented, documented and maintained througout the model lifecycle included testing to ensure model performs consistently for intended purpose'
95
+ value: !!bool false
96
+ risk_management_system_testing_compliance:
97
+ article: 'Art. 9(6)'
98
+ verbose: 'The risk management system that was established, implemented, documented and maintained througout the model lifecycle included testing to ensure model complies with Act'
99
+ value: !!bool false
100
+ risk_management_system_testing_benchmark:
101
+ article: 'Art. 9(8)'
102
+ verbose: 'The risk management system that was established, implemented, documented and maintained througout the model lifecycle included testing against prior defined metrics appropriate to intended purpose'
103
+ value: !!bool false
104
+ risk_management_system_testing_probabilistic:
105
+ article: 'Art. 9(8)'
106
+ verbose: 'The risk management system that was established, implemented, documented and maintained througout the model lifecycle included testing against probabilistic thresholds appropriate to intended purpose'
107
+ value: !!bool false
108
+ technical_documentation_pre_trained_elements:
109
+ article: 'Art. 11; Annex IV(2)(a)'
110
+ verbose: 'Model has technical documentation that describes pre-trained elements of model provided by third parties and how used, integrated or modified'
111
+ value: !!bool false
112
+ technical_documentation_logic:
113
+ article: 'Art. 11; Annex IV(2)(b)'
114
+ verbose: 'Model has technical documentation that describes general logic of model'
115
+ value: !!bool false
116
+ technical_documentation_design_choices:
117
+ article: 'Art. 11; Annex IV(2)(b)'
118
+ verbose: 'Model has technical documentation that describes key design choices including rationale and assumptions made, including with regard to persons or groups on which model intended to be used'
119
+ value: !!bool false
120
+ technical_documentation_classification_choices:
121
+ article: 'Art. 11; Annex IV(2)(b)'
122
+ verbose: 'Model has technical documentation that describes main classification choices'
123
+ value: !!bool false
124
+ technical_documentation_parameters:
125
+ article: 'Art. 11; Annex IV(2)(b)'
126
+ verbose: 'Model has technical documentation that describes what model is designed to optimise for and relevance of its different parameters'
127
+ value: !!bool false
128
+ technical_documentation_expected_output:
129
+ article: 'Art. 11; Annex IV(2)(b)'
130
+ verbose: 'Model has technical documentation that the expected output and output quality of the system'
131
+ value: !!bool false
132
+ technical_documentation_act_compliance:
133
+ article: 'Art. 11; Annex IV(2)'
134
+ verbose: 'Model has technical documentation that describes decisions about any possible trade-off made regarding the technical solutions adopted to comply with the requirements set out in Title III, Chapter 2'
135
+ value: !!bool false
136
+ technical_documentation_human_oversight:
137
+ article: 'Art. 11; Annex IV(2)(e)'
138
+ verbose: 'Model has technical documentation that describes an assessment of the human oversight measures needed in accordance with Article 14, including an assessment of the technical measures needed to facilitate the interpretation of the outputs of AI systems by the deployers, in accordance with Articles 13(3)(d)'
139
+ value: !!bool false
140
+ technical_documentation_validation:
141
+ article: 'Art. 11; Annex IV(2)(g)'
142
+ verbose: 'Model has technical documentation that describes validation and testing procedures used, including information about the validation and testing data used and their main characteristics; metrics used to measure accuracy, robustness and compliance with other relevant requirements set out in Title III, Chapter 2 as well as potentially discriminatory impacts; test logs and all test reports dated and signed by the responsible persons, including with regard to predetermined changes as referred to under point (f)'
143
+ value: !!bool false
144
+ technical_documentation_cybersecurity:
145
+ article: 'Art. 11; Annex IV(2)(h)'
146
+ verbose: 'Model has technical documentation that describes cybersecurity measures put in place'
147
+ value: !!bool false
148
+ transparency_to_deployers_intended_purpose:
149
+ article: 'Art. 13(3)(b)(i)'
150
+ verbose: 'Model is accompanied by instructions for use that include the characteristics, capabilities, performance limitations, and intended purpose of the model'
151
+ value: !!bool false
152
+ transparency_to_deployers_metrics:
153
+ article: 'Art. 13(3)(b)(ii)'
154
+ verbose: 'Model is accompanied by instructions for use that include the level of accuracy, including its metrics, robustness and cybersecurity against which the model has been tested and validated and which can be expected, and any known and foreseeable circumstances that may have an impact on that expected level of accuracy, robustness and cybersecurity'
155
+ value: !!bool false
156
+ transparency_to_deployers_foreseeable_misuse:
157
+ article: 'Art. 13(3)(b)(iii)'
158
+ verbose: 'Model is accompanied by instructions for use that include any known or foreseeable circumstance, related to the use of the model in accordance with its intended purpose or under conditions of reasonably foreseeable misuse, which may lead to risks to the health and safety or fundamental rights referred to in Article 9(2)'
159
+ value: !!bool false
160
+ transparency_to_deployers_explainability:
161
+ article: 'Art. 13(3)(b)(iv)'
162
+ verbose: 'Model is accompanied by instructions for use that include technical capabilities and characteristics of the model to provide information that is relevant to explain its output'
163
+ value: !!bool false
164
+ transparency_to_deployers_specific_groups:
165
+ article: 'Art. 13(3)(b)(v)'
166
+ verbose: 'Model is accompanied by instructions for use that include performance regarding specific persons or groups of persons on which the model is intended to be used'
167
+ value: !!bool false
168
+ transparency_to_deployers_data:
169
+ article: 'Art. 13(3)(b)(vi)'
170
+ verbose: 'Model is accompanied by instructions for use that include specifications for the input data, or any other relevant information in terms of the training, validation and testing data sets used, taking into account the intended purpose of the model'
171
+ value: !!bool false
172
+ transparency_to_deployers_interpretability:
173
+ article: 'Art. 13(3)(b)(vii)'
174
+ verbose: 'Model is accompanied by instructions for use that include information to enable deployers to interpret the output of the model and use it appropriately'
175
+ value: !!bool false
176
+ transparency_to_deployers_human_oversight:
177
+ article: 'Art. 13(3)(d)'
178
+ verbose: 'Model is accompanied by instructions for use that include human oversight measures, including the technical measures put in place to facilitate the interpretation of the outputs of model by the deployers'
179
+ value: !!bool false
180
+ transparency_to_deployers_hardware:
181
+ article: 'Art. 13(3)(e)'
182
+ verbose: 'Model is accompanied by instructions for use that include computational and hardware resources needed, the expected lifetime of the model and any necessary maintenance and care measures, including their frequency, to ensure the proper functioning of that model, including as regards software updates'
183
+ value: !!bool false
184
+ accuracy_robustness_cybersecurity_accuracy: # These need to be cleaned up and to match/compliment project cc
185
+ article: 'Art. 15(1)'
186
+ verbose: 'Model is designed and developed to achieve appropriate level of accuracy'
187
+ value: !!bool false
188
+ accuracy_robustness_cybersecurity_robustiness:
189
+ article: 'Art. 15(1)'
190
+ verbose: 'Model is designed and developed to achieve appropriate level of robustness'
191
+ value: !!bool false
192
+ accuracy_robustness_cybersecurity_cybersecurity:
193
+ article: 'Art. 15(1)'
194
+ verbose: 'Model is designed and developed to achieve appropriate level of cybersecurity'
195
+ value: !!bool false
196
+ accuracy_robustness_cybersecurity_accuracy_metrics:
197
+ article: 'Art. 15(2)'
198
+ verbose: 'Use of relevant accuracy metrics'
199
+ value: !!bool false
200
+ accuracy_robustness_cybersecurity_fault_resilience:
201
+ article: 'Art. 15(4)'
202
+ verbose: 'Maximum possible resilience regarding errors, faults or inconsistencies that may occur within the system or the environment in which the system operates, in particular due to their interaction with natural persons or other systems. Technical and organisational measures shall be taken towards this regard'
203
+ value: !!bool false
204
+ accuracy_robustness_cybersecurity_attacks:
205
+ article: 'Art. 15(5)'
206
+ verbose: 'Measures were taken to prevent, detect, respond to, resolve and control for model poisoning attacks, adversarial examples or model evasion attacks (attacks using inputs designed to cause the model to make a mistake), and confidentiality attacks or model flaws'
207
+ value: !!bool false
208
+ quality_management_system:
209
+ article: 'Art. 17(1)(d)'
210
+ verbose: 'Examination, test and validation procedures to be carried out before, during and after the development of the high-risk AI system, and the frequency with which they have to be carried out'
211
+ value: !!bool false
212
+
213
+ # Metadata related to model-related requirements for GPAI models
214
+
215
+ gpai_model_requirements:
216
+ task:
217
+ article: 'Art. 53; Annex XI(1)(1)(a)'
218
+ verbose: 'The tasks that the model is intended to perform and the type and nature of AI systems in which it can be integrated'
219
+ value: !!bool false
220
+ acceptable_use:
221
+ article: 'Art. 53; Annex XI(1)(1)(b)'
222
+ verbose: 'Acceptable use policies applicable'
223
+ value: !!bool false
224
+ release_date:
225
+ article: 'Art. 53; Annex XI(1)(1)(c)'
226
+ verbose: 'The date of release and methods of distribution'
227
+ value: !!bool false
228
+ architecture:
229
+ article: 'Art. 53; Annex XI(1)(1)(d)'
230
+ verbose: 'The architecture and number of parameters'
231
+ value: !!bool false
232
+ input_output_modality:
233
+ article: 'Art. 53; Annex XI(1)(1)(e)'
234
+ verbos: 'Modality (e.g. text, image) and format of inputs and outputs'
235
+ value: !!bool false
236
+ license:
237
+ article: 'Art. 53; Annex XI(1)(1)(f)'
238
+ verbose: 'The license'
239
+ value: !!bool false
240
+ training:
241
+ article: 'Art. 53; Annex XI(1)(2)(b)'
242
+ verbose: 'Training methodologies and techniques'
243
+ value: !!bool false
244
+ design_choices:
245
+ article: 'Art. 53; Annex XI(1)(2)(b)'
246
+ verbose: 'Key design choices including the rationale and assumptions made'
247
+ value: !!bool false
248
+ optimized_for:
249
+ article: 'Art. 53; Annex XI(1)(2)(b)'
250
+ verbose: 'What the model is designed to optimise for'
251
+ value: !!bool false
252
+ parameters:
253
+ article: 'Art. 53; Annex XI(1)(2)(b)'
254
+ verbose: 'The relevance of the different parameters, as applicable'
255
+ value: !!bool false
256
+ data_type:
257
+ article: 'Art. 53; Annex XI(1)(2)(c)'
258
+ verbose: 'Information on the data used for training, testing and validation: type of data'
259
+ value: !!bool false
260
+ data_provenance:
261
+ article: 'Art. 53; Annex XI(1)(2)(c)'
262
+ verbose: 'Information on the data used for training, testing and validation: provenance of data'
263
+ value: !!bool false
264
+ data_curation:
265
+ article: 'Art. 53; Annex XI(1)(2)(c)'
266
+ verbose: 'Information on the data used for training: curation methodologies (e.g. cleaning, filtering etc)'
267
+ value: !!bool false
268
+ data_number:
269
+ article: 'Art. 53; Annex XI(1)(2)(c)'
270
+ verbose: 'Information on the data used for training: the number of data points'
271
+ value: !!bool false
272
+ data_characteristics:
273
+ article: 'Art. 53; Annex XI(1)(2)(c)'
274
+ verbose: 'Information on the data used for training: data points scope and main characteristics applicable'
275
+ value: !!bool false
276
+ data_origin:
277
+ article: 'Art. 53; Annex XI(1)(2)(c)'
278
+ verbose: 'Information on the data used for training: how the data was obtained and selected'
279
+ value: !!bool false
280
+ data_bias:
281
+ article: 'Art. 53; Annex XI(1)(2)(c)'
282
+ verbose: 'Information on the data used for training: all other measures to detect the unsuitability of data sources and methods to detect identifiable biases, where applicable'
283
+ value: !!bool false
284
+ computation:
285
+ article: 'Art. 53; Annex XI(1)(2)(d)'
286
+ verbose: 'The computational resources used to train the model (e.g. number of floating point operations – FLOPs), training time, and other relevant details related to the training'
287
+ value: !!bool false
288
+ energy_consumption:
289
+ article: 'Art. 53; Annex XI(1)(2)(e)'
290
+ verbose: 'Known or estimated energy consumption of the model; in case not known, this could be based on information about computational resources used'
291
+ value: !!bool false
292
+ evaluation:
293
+ article: 'Art. 53; Annex XI(2)(1)'
294
+ verbose: 'Detailed description of the evaluation strategies, including evaluation results, on the basis of available public evaluation protocols and tools or otherwise of other evaluation methodologies. Evaluation strategies shall include evaluation criteria, metrics and the methodology on the identification of limitations'
295
+ value: !!bool false
296
+ adversarial_testing:
297
+ article: 'Art. 53; Annex XI(2)(2)'
298
+ verbose: 'Where applicable, detailed description of the measures put in place for the purpose of conducting internal and/or external adversarial testing (e.g. red teaming), model adaptations, including alignment and fine-tuning'
299
+ value: !!bool false
300
+
301
+ gpai_model_with_systemic_risk_requirements:
302
+ evaluation:
303
+ article: 'Art. 55(1)(a)'
304
+ verbose: 'Perform model evaluation in accordance with standardised protocols and tools reflecting the state of the art, including conducting and documenting adversarial testing of the model with a view to identify and mitigate systemic risk'
305
+ value: !!bool false
306
+ systematic_risk:
307
+ article: 'Art. 55(1)(b)'
308
+ verbose: 'Assess and mitigate possible systemic risks at Union level, including their sources, that may stem from the development'
309
+ value: !!bool false
310
+ cybersecurity:
311
+ article: 'Art. 55(1)(d)'
312
+ verbose: 'Ensure an adequate level of cybersecurity protection for the GPAI model with systemic risk and the physical infrastructure of the mode'
313
+ value: !!bool false
model_cc.yaml CHANGED
@@ -1,203 +1,313 @@
1
- risk_management_system:
2
- foreseeable_risks: # Art. 9(2)(a)
3
- verbose: 'Known or reasonably foreseeable risks the model can pose to health or safety when used for intended purpose'
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4
  value: !!bool false
5
- evaluation: # Art. 9(2)(b)
6
- verbose: 'Estimation and evaluation of risks when model used for intended purpose'
 
7
  value: !!bool false
8
- misuse: # Art. 9(2)(b)
9
- verbose: 'Estimation and evaluation of risks when model used under conditions of reasonably foreseeable misuse'
 
 
 
 
 
 
 
 
 
10
  value: !!bool false
11
- testing_performance: # Art. 9(6)
12
- verbose: 'Testing to ensure model performs consistently for intended purpose'
 
13
  value: !!bool false
14
- testing_compliance: # Art. 9(6)
15
- verbose: 'Testing to ensure model complies with Act'
 
16
  value: !!bool false
17
- testing_benchmark: # Art. 9(8)
18
- verbose: 'Testing against prior defined metrics appropriate to intended purpose'
 
19
  value: !!bool false
20
- testing_probabilistic: # Art. 9(8)
21
- verbose: 'Testing against probabilistic thresholds appropriate to intended purpose'
 
22
  value: !!bool false
23
-
24
- technical_documentation:
25
- pre_trained_elements: # Art. 11; Annex IV(2)(a)
 
 
 
 
 
 
 
26
  verbose: 'Model has technical documentation that describes pre-trained elements of model provided by third parties and how used, integrated or modified'
27
  value: !!bool false
28
- logic: # Art. 11; Annex IV(2)(b)
 
29
  verbose: 'Model has technical documentation that describes general logic of model'
30
  value: !!bool false
31
- design_choices: # Art. 11; Annex IV(2)(b)
 
32
  verbose: 'Model has technical documentation that describes key design choices including rationale and assumptions made, including with regard to persons or groups on which model intended to be used'
33
  value: !!bool false
34
- classification_choices: # Art. 11; Annex IV(2)(b)
 
35
  verbose: 'Model has technical documentation that describes main classification choices'
36
  value: !!bool false
37
- parameters: # Art. 11; Annex IV(2)(b)
38
- verbose: 'What model is designed to optimise for and relevance of its different parameters'
 
39
  value: !!bool false
40
- expected_output: # Art. 11; Annex IV(2)(b)
41
- verbose: 'Description of the expected output and output quality of the system'
 
42
  value: !!bool false
43
- act_compliance: # Art. 11; Annex IV(2)(b)
44
- verbose: 'Decisions about any possible trade-off made regarding the technical solutions adopted to comply with the requirements set out in Title III, Chapter 2'
 
45
  value: !!bool false
46
- human_oversight: # Art. 11; Annex IV(2)(e)
47
- verbose: 'Assessment of the human oversight measures needed in accordance with Article 14, including an assessment of the technical measures needed to facilitate the interpretation of the outputs of AI systems by the deployers, in accordance with Articles 13(3)(d)'
 
48
  value: !!bool false
49
- validation: # Art. 11; Annex IV(2)(g)
50
- verbose: 'Validation and testing procedures used, including information about the validation and testing data used and their main characteristics; metrics used to measure accuracy, robustness and compliance with other relevant requirements set out in Title III, Chapter 2 as well as potentially discriminatory impacts; test logs and all test reports dated and signed by the responsible persons, including with regard to predetermined changes as referred to under point (f)'
 
51
  value: !!bool false
52
- cybersecurity: # Art. 11; Annex IV(2)(h)
53
- verbose: 'Cybersecurity measures put in place'
 
54
  value: !!bool false
55
-
56
- transparency_and_provision_of_information_to_deployers:
57
- intended_purpose: # Art. 13(3)(b)(i)
58
- verbose: 'Intended purpose'
59
  value: !!bool false
60
- metrics: # Art. 13(3)(b)(ii)
61
- verbose: 'Level of accuracy, including its metrics, robustness and cybersecurity referred to in Article 15 against which the high-risk AI system has been tested and validated and which can be expected, and any known and foreseeable circumstances that may have an impact on that expected level of accuracy, robustness and cybersecurity'
 
62
  value: !!bool false
63
- foreseeable_misuse: # Art. 13(3)(b)(iii)
64
- verbose: 'Any known or foreseeable circumstance, related to the use of the high-risk AI system in accordance with its intended purpose or under conditions of reasonably foreseeable misuse, which may lead to risks to the health and safety or fundamental rights referred to in Article 9(2)'
 
65
  value: !!bool false
66
- explainability: # Art. 13(3)(b)(iv)
67
- verbose: 'Technical capabilities and characteristics of the AI system to provide information that is relevant to explain its output'
 
68
  value: !!bool false
69
- specific_groups: # Art. 13(3)(b)(v)
70
- verbose: 'Performance regarding specific persons or groups of persons on which the system is intended to be used'
 
71
  value: !!bool false
72
- data: # Art. 13(3)(b)(vi)
73
- verbose: 'Specifications for the input data, or any other relevant information in terms of the training, validation and testing data sets used, taking into account the intended purpose of the AI system'
 
74
  value: !!bool false
75
- interpretability: # Art. 13(3)(b)(vii)
76
- verbose: 'Information to enable deployers to interpret the output of the high-risk AI system and use it appropriately'
 
77
  value: !!bool false
78
- human_oversight: # Art. 13(3)(d)
79
- verbose: 'Human oversight measures referred to in Article 14, including the technical measures put in place to facilitate the interpretation of the outputs of AI systems by the deployers'
 
80
  value: !!bool false
81
- hardware: # Art. 13(3)(e)
82
- verbose: 'Computational and hardware resources needed, the expected lifetime of the high-risk AI system and any necessary maintenance and care measures, including their frequency, to ensure the proper functioning of that AI system, including as regards software updates'
 
83
  value: !!bool false
84
-
85
- accuracy_robustness_cybersecurity:
86
- accuracy: # Art. 15(1)
87
  verbose: 'Model is designed and developed to achieve appropriate level of accuracy'
88
  value: !!bool false
89
- robustiness: # Art. 15(1)
 
90
  verbose: 'Model is designed and developed to achieve appropriate level of robustness'
91
  value: !!bool false
92
- cybersecurity: # Art. 15(1)
 
93
  verbose: 'Model is designed and developed to achieve appropriate level of cybersecurity'
94
  value: !!bool false
95
- accuracy_metrics: # Art. 15(2)
 
96
  verbose: 'Use of relevant accuracy metrics'
97
  value: !!bool false
98
- fault_resilience: # Art. 15(4)
 
99
  verbose: 'Maximum possible resilience regarding errors, faults or inconsistencies that may occur within the system or the environment in which the system operates, in particular due to their interaction with natural persons or other systems. Technical and organisational measures shall be taken towards this regard'
100
  value: !!bool false
101
- attacks: # Art. 15(5)
 
102
  verbose: 'Measures were taken to prevent, detect, respond to, resolve and control for model poisoning attacks, adversarial examples or model evasion attacks (attacks using inputs designed to cause the model to make a mistake), and confidentiality attacks or model flaws'
103
  value: !!bool false
104
-
105
- quality_management_system:
106
- quality_management_system: # Art. 17(1)(d)
107
  verbose: 'Examination, test and validation procedures to be carried out before, during and after the development of the high-risk AI system, and the frequency with which they have to be carried out'
108
  value: !!bool false
109
 
110
- transparency_obligations:
111
- generates_media: # Art. 50(2)
112
- verbose: 'AI project generates synthetic audio, image, video or text content'
113
- value: !!bool false
114
- marked_as_generated: # Art. 50(2)
115
- verbose: 'outputs are marked in a machine-readable format and detectable as artificially generated or manipulated'
116
- value: !!bool false
117
- interoperability: # Art. 50(2)
118
- verbose: 'Providers shall ensure their technical solutions are effective, interoperable, robust and reliable as far as this is technically feasible, taking into account specificities and limitations of different types of content, costs of implementation and the generally acknowledged state-of-the-art, as may be reflected in relevant technical standards'
119
- value: !!bool false
120
-
121
- classification_of_gpai_models:
122
- high_impact_capabilities: # Art. 51(1)(a)
123
- verbose: 'Whether model has high impact capabilities evaluated on the basis of appropriate technical tools and methodologies, including indicators and benchmarks'
124
- value: !!bool false
125
- flops: # Art. 51(2)
126
- verbose: 'Cumulative compute used for training measured in floating point operations (FLOPs)'
127
- value: !!bool false
128
 
129
- obligations_for_providers_of_gpai_models:
130
- task: # Art. 53; Annex XI(1)(1)(a)
 
131
  verbose: 'The tasks that the model is intended to perform and the type and nature of AI systems in which it can be integrated'
132
  value: !!bool false
133
- acceptable_use: # Art. 53; Annex XI(1)(1)(b)
 
134
  verbose: 'Acceptable use policies applicable'
135
  value: !!bool false
136
- release_date: # Art. 53; Annex XI(1)(1)(c)
 
137
  verbose: 'The date of release and methods of distribution'
138
  value: !!bool false
139
- architecture: # Art. 53; Annex XI(1)(1)(d)
 
140
  verbose: 'The architecture and number of parameters'
141
  value: !!bool false
142
- input_output_modality: # Art. 53; Annex XI(1)(1)(e)
 
143
  verbos: 'Modality (e.g. text, image) and format of inputs and outputs'
144
  value: !!bool false
145
- license: # Art. 53; Annex XI(1)(1)(f)
 
146
  verbose: 'The license'
147
  value: !!bool false
148
- training: # Art. 53; Annex XI(1)(2)(b)
 
149
  verbose: 'Training methodologies and techniques'
150
  value: !!bool false
151
- design_choices: # Art. 53; Annex XI(1)(2)(b)
 
152
  verbose: 'Key design choices including the rationale and assumptions made'
153
  value: !!bool false
154
- optimized_for: # Art. 53; Annex XI(1)(2)(b)
 
155
  verbose: 'What the model is designed to optimise for'
156
  value: !!bool false
157
- parameters: # Art. 53; Annex XI(1)(2)(b)
 
158
  verbose: 'The relevance of the different parameters, as applicable'
159
  value: !!bool false
160
- data_type: # Art. 53; Annex XI(1)(2)(c)
 
161
  verbose: 'Information on the data used for training, testing and validation: type of data'
162
  value: !!bool false
163
- data_provenance: # Art. 53; Annex XI(1)(2)(c)
 
164
  verbose: 'Information on the data used for training, testing and validation: provenance of data'
165
  value: !!bool false
166
- data_curation: # Art. 53; Annex XI(1)(2)(c)
 
167
  verbose: 'Information on the data used for training: curation methodologies (e.g. cleaning, filtering etc)'
168
  value: !!bool false
169
- data_number: # Art. 53; Annex XI(1)(2)(c)
 
170
  verbose: 'Information on the data used for training: the number of data points'
171
  value: !!bool false
172
- data_characteristics: # Art. 53; Annex XI(1)(2)(c)
 
173
  verbose: 'Information on the data used for training: data points scope and main characteristics applicable'
174
  value: !!bool false
175
- data_origin: # Art. 53; Annex XI(1)(2)(c)
 
176
  verbose: 'Information on the data used for training: how the data was obtained and selected'
177
  value: !!bool false
178
- data_bias: # Art. 53; Annex XI(1)(2)(c)
 
179
  verbose: 'Information on the data used for training: all other measures to detect the unsuitability of data sources and methods to detect identifiable biases, where applicable'
180
  value: !!bool false
181
- computation: # Art. 53; Annex XI(1)(2)(d)
 
182
  verbose: 'The computational resources used to train the model (e.g. number of floating point operations – FLOPs), training time, and other relevant details related to the training'
183
  value: !!bool false
184
- energy_consumption: # Art. 53; Annex XI(1)(2)(e)
 
185
  verbose: 'Known or estimated energy consumption of the model; in case not known, this could be based on information about computational resources used'
186
  value: !!bool false
187
- evaluation: # Art. 53; Annex XI(2)(1)
 
188
  verbose: 'Detailed description of the evaluation strategies, including evaluation results, on the basis of available public evaluation protocols and tools or otherwise of other evaluation methodologies. Evaluation strategies shall include evaluation criteria, metrics and the methodology on the identification of limitations'
189
  value: !!bool false
190
- adversarial_testing: # Art. 53; Annex XI(2)(2)
 
191
  verbose: 'Where applicable, detailed description of the measures put in place for the purpose of conducting internal and/or external adversarial testing (e.g. red teaming), model adaptations, including alignment and fine-tuning'
192
  value: !!bool false
193
 
194
- obligations_for_providers_of_gpai_models_with_systemic_risk:
195
- evaluation: # Art. 55(1)(a)
 
196
  verbose: 'Perform model evaluation in accordance with standardised protocols and tools reflecting the state of the art, including conducting and documenting adversarial testing of the model with a view to identify and mitigate systemic risk'
197
  value: !!bool false
198
- systematic_risk: # Art. 55(1)(b)
 
199
  verbose: 'Assess and mitigate possible systemic risks at Union level, including their sources, that may stem from the development'
200
  value: !!bool false
201
- cybersecurity: # Art. 55(1)(d)
 
202
  verbose: 'Ensure an adequate level of cybersecurity protection for the GPAI model with systemic risk and the physical infrastructure of the mode'
203
  value: !!bool false
 
1
+ card_details:
2
+ card_type: "model" # "project", "data" or "model"
3
+ card_label: "model_01"
4
+
5
+ # Metadata related to intended purpose(s) of model
6
+
7
+ intended_purpose:
8
+ safety_component:
9
+ article: 'Art. 6(1)(a)'
10
+ verbose: 'This model is appropriate to use for AI projects involving product safety components'
11
+ value: !!bool false
12
+ product_regulated_machinery:
13
+ article: 'Art. 6(1)(b); Annex I'
14
+ verbose: 'This model is appropriate to use for AI projects involving products covered by Directive 2006/42/EC of the European Parliament and of the Council of 17 May 2006 on machinery, and amending Directive 95/16/EC (OJ L 157, 9.6.2006, p. 24) [as repealed by the Machinery Regulation]'
15
+ value: !!bool false
16
+ product_regulated_toy:
17
+ article: 'Art. 6(1)(b); Annex I'
18
+ verbose: 'This model is appropriate to use for AI projects involving products covered by Directive 2009/48/EC of the European Parliament and of the Council of 18 June 2009 on the safety of toys (OJ L 170, 30.6.2009, p. 1)'
19
+ value: !!bool false
20
+ product_regulated_watercraft:
21
+ article: 'Art. 6(1)(b); Annex I'
22
+ verbose: 'This model is appropriate to use for AI projects involving products covered by Directive 2013/53/EU of the European Parliament and of the Council of 20 November 2013 on recreational craft and personal watercraft and repealing Directive 94/25/EC (OJ L 354, 28.12.2013, p. 90)'
23
+ value: !!bool false
24
+ biometric_categorization:
25
+ article: 'Art. 6(2); Annex III(1)(b)'
26
+ verbose: 'This model is appropriate to use for AI projects involving biometric categorisation, according to sensitive or protected attributes or characteristics based on the inference of those attributes or characteristics'
27
+ value: !!bool false
28
+ emotion_recognition:
29
+ article: 'Art. 6(2); Annex III(1)(c)'
30
+ verbose: 'This model is appropriate to use for AI projects involving emotion recognition'
31
+ value: !!bool true
32
+ critical_infrastructure:
33
+ article: 'Art. 6(2); Annex III(2)'
34
+ verbose: 'This model is appropriate to use for AI projects involving safety components in the management and operation of critical digital infrastructure, road traffic, or in the supply of water, gas, heating or electricity'
35
+ value: !!bool true
36
+ admission:
37
+ article: 'Art. 6(2); Annex III(3)(a)'
38
+ verbose: 'This model is appropriate to use for AI projects involving the determination of access or admission or to assigning natural persons to educational and vocational training institutions at all levels'
39
+ value: !!bool false
40
+ recruitment:
41
+ article: 'Art. 6(2); Annex III(4)(a)'
42
+ verbose: 'This model is appropriate to use for AI projects involving the recruitment or selection of natural persons, in particular to place targeted job advertisements, to analyse and filter job applications, and to evaluate candidates'
43
+ value: !!bool false
44
+ public_assistance:
45
+ article: 'Art. 6(2); Annex III(5)(a)'
46
+ verbose: 'This model is appropriate to use for AI projects intended to be used by public authorities or on behalf of public authorities to evaluate the eligibility of natural persons for essential public assistance benefits and services, including healthcare services, as well as to grant, reduce, revoke, or reclaim such benefits and services'
47
+ value: !!bool false
48
+ victim_assessment:
49
+ article: 'Art. 6(2); Annex III(6)(a)'
50
+ verbose: 'This model is appropriate to use for AI projects intended to be used by or on behalf of law enforcement authorities, or by Union institutions, bodies, offices or agencies in support of law enforcement authorities or on their behalf to assess the risk of a natural person becoming the victim of criminal offences'
51
+ value: !!bool false
52
+ polygraph:
53
+ article: 'Art. 6(2); Annex III(7)(a)'
54
+ verbose: 'This model is appropriate to use for AI projects intended to be used by or on behalf of competent public authorities or by Union institutions, bodies, offices or agencies as polygraphs or similar tools'
55
+ value: !!bool false
56
+ judicial:
57
+ article: 'Art. 6(2); Annex III(8)(a)'
58
+ verbose: 'This model is appropriate to use for AI projects intended to be used by a judicial authority or on their behalf to assist a judicial authority in researching and interpreting facts and the law and in applying the law to a concrete set of facts, or to be used in a similar way in alternative dispute resolution'
59
+ value: !!bool false
60
+
61
+ # Metadata that will help us determine if the model itself is a GPAI and, therefore, must satisfy the requirements of GPAI models
62
+
63
+ classification_of_gpai_models:
64
+ high_impact_capabilities:
65
+ article: 'Art. 51(1)(a)'
66
+ verbose: 'The model has high impact capabilities evaluated on the basis of appropriate technical tools and methodologies, including indicators and benchmarks'
67
  value: !!bool false
68
+ flops:
69
+ article: 'Art. 51(2)'
70
+ verbose: 'The cumulative compute used for training the model, as measured in floating point operations (FLOPs), was greater than 10^25.'
71
  value: !!bool false
72
+
73
+ # Metadata related to model-related requirements for high-risk AI systems
74
+
75
+ high_risk_ai_system_requirements:
76
+ risk_management_system_general:
77
+ article: 'Art. 9(2)'
78
+ verbose: 'A risk management system has been planned, run, reviewed, and updated throughout the model lifecycle'
79
+ value: !!bool false
80
+ risk_management_system_foreseeable_risks:
81
+ article: 'Art. 9(2)(a)'
82
+ verbose: 'The risk management system that was established, implemented, documented and maintained througout the model lifecycle included the identification and analysis of any known or reasonably foreseeable risks the model can pose to health or safety when used for intended purpose'
83
  value: !!bool false
84
+ risk_management_system_evaluation:
85
+ article: 'Art. 9(2)(b)'
86
+ verbose: 'The risk management system that was established, implemented, documented and maintained througout the model lifecycle included the estimation and evaluation of risks when model used for intended purpose'
87
  value: !!bool false
88
+ risk_management_system_misuse:
89
+ article: 'Art. 9(2)(b)'
90
+ verbose: 'The risk management system that was established, implemented, documented and maintained througout the model lifecycle included the estimation and evaluation of risks when model used under conditions of reasonably foreseeable misuse'
91
  value: !!bool false
92
+ risk_management_system_testing_performance:
93
+ article: 'Art. 9(6)'
94
+ verbose: 'The risk management system that was established, implemented, documented and maintained througout the model lifecycle included testing to ensure model performs consistently for intended purpose'
95
  value: !!bool false
96
+ risk_management_system_testing_compliance:
97
+ article: 'Art. 9(6)'
98
+ verbose: 'The risk management system that was established, implemented, documented and maintained througout the model lifecycle included testing to ensure model complies with Act'
99
  value: !!bool false
100
+ risk_management_system_testing_benchmark:
101
+ article: 'Art. 9(8)'
102
+ verbose: 'The risk management system that was established, implemented, documented and maintained througout the model lifecycle included testing against prior defined metrics appropriate to intended purpose'
103
+ value: !!bool false
104
+ risk_management_system_testing_probabilistic:
105
+ article: 'Art. 9(8)'
106
+ verbose: 'The risk management system that was established, implemented, documented and maintained througout the model lifecycle included testing against probabilistic thresholds appropriate to intended purpose'
107
+ value: !!bool false
108
+ technical_documentation_pre_trained_elements:
109
+ article: 'Art. 11; Annex IV(2)(a)'
110
  verbose: 'Model has technical documentation that describes pre-trained elements of model provided by third parties and how used, integrated or modified'
111
  value: !!bool false
112
+ technical_documentation_logic:
113
+ article: 'Art. 11; Annex IV(2)(b)'
114
  verbose: 'Model has technical documentation that describes general logic of model'
115
  value: !!bool false
116
+ technical_documentation_design_choices:
117
+ article: 'Art. 11; Annex IV(2)(b)'
118
  verbose: 'Model has technical documentation that describes key design choices including rationale and assumptions made, including with regard to persons or groups on which model intended to be used'
119
  value: !!bool false
120
+ technical_documentation_classification_choices:
121
+ article: 'Art. 11; Annex IV(2)(b)'
122
  verbose: 'Model has technical documentation that describes main classification choices'
123
  value: !!bool false
124
+ technical_documentation_parameters:
125
+ article: 'Art. 11; Annex IV(2)(b)'
126
+ verbose: 'Model has technical documentation that describes what model is designed to optimise for and relevance of its different parameters'
127
  value: !!bool false
128
+ technical_documentation_expected_output:
129
+ article: 'Art. 11; Annex IV(2)(b)'
130
+ verbose: 'Model has technical documentation that the expected output and output quality of the system'
131
  value: !!bool false
132
+ technical_documentation_act_compliance:
133
+ article: 'Art. 11; Annex IV(2)'
134
+ verbose: 'Model has technical documentation that describes decisions about any possible trade-off made regarding the technical solutions adopted to comply with the requirements set out in Title III, Chapter 2'
135
  value: !!bool false
136
+ technical_documentation_human_oversight:
137
+ article: 'Art. 11; Annex IV(2)(e)'
138
+ verbose: 'Model has technical documentation that describes an assessment of the human oversight measures needed in accordance with Article 14, including an assessment of the technical measures needed to facilitate the interpretation of the outputs of AI systems by the deployers, in accordance with Articles 13(3)(d)'
139
  value: !!bool false
140
+ technical_documentation_validation:
141
+ article: 'Art. 11; Annex IV(2)(g)'
142
+ verbose: 'Model has technical documentation that describes validation and testing procedures used, including information about the validation and testing data used and their main characteristics; metrics used to measure accuracy, robustness and compliance with other relevant requirements set out in Title III, Chapter 2 as well as potentially discriminatory impacts; test logs and all test reports dated and signed by the responsible persons, including with regard to predetermined changes as referred to under point (f)'
143
  value: !!bool false
144
+ technical_documentation_cybersecurity:
145
+ article: 'Art. 11; Annex IV(2)(h)'
146
+ verbose: 'Model has technical documentation that describes cybersecurity measures put in place'
147
  value: !!bool false
148
+ transparency_to_deployers_intended_purpose:
149
+ article: 'Art. 13(3)(b)(i)'
150
+ verbose: 'Model is accompanied by instructions for use that include the characteristics, capabilities, performance limitations, and intended purpose of the model'
 
151
  value: !!bool false
152
+ transparency_to_deployers_metrics:
153
+ article: 'Art. 13(3)(b)(ii)'
154
+ verbose: 'Model is accompanied by instructions for use that include the level of accuracy, including its metrics, robustness and cybersecurity against which the model has been tested and validated and which can be expected, and any known and foreseeable circumstances that may have an impact on that expected level of accuracy, robustness and cybersecurity'
155
  value: !!bool false
156
+ transparency_to_deployers_foreseeable_misuse:
157
+ article: 'Art. 13(3)(b)(iii)'
158
+ verbose: 'Model is accompanied by instructions for use that include any known or foreseeable circumstance, related to the use of the model in accordance with its intended purpose or under conditions of reasonably foreseeable misuse, which may lead to risks to the health and safety or fundamental rights referred to in Article 9(2)'
159
  value: !!bool false
160
+ transparency_to_deployers_explainability:
161
+ article: 'Art. 13(3)(b)(iv)'
162
+ verbose: 'Model is accompanied by instructions for use that include technical capabilities and characteristics of the model to provide information that is relevant to explain its output'
163
  value: !!bool false
164
+ transparency_to_deployers_specific_groups:
165
+ article: 'Art. 13(3)(b)(v)'
166
+ verbose: 'Model is accompanied by instructions for use that include performance regarding specific persons or groups of persons on which the model is intended to be used'
167
  value: !!bool false
168
+ transparency_to_deployers_data:
169
+ article: 'Art. 13(3)(b)(vi)'
170
+ verbose: 'Model is accompanied by instructions for use that include specifications for the input data, or any other relevant information in terms of the training, validation and testing data sets used, taking into account the intended purpose of the model'
171
  value: !!bool false
172
+ transparency_to_deployers_interpretability:
173
+ article: 'Art. 13(3)(b)(vii)'
174
+ verbose: 'Model is accompanied by instructions for use that include information to enable deployers to interpret the output of the model and use it appropriately'
175
  value: !!bool false
176
+ transparency_to_deployers_human_oversight:
177
+ article: 'Art. 13(3)(d)'
178
+ verbose: 'Model is accompanied by instructions for use that include human oversight measures, including the technical measures put in place to facilitate the interpretation of the outputs of model by the deployers'
179
  value: !!bool false
180
+ transparency_to_deployers_hardware:
181
+ article: 'Art. 13(3)(e)'
182
+ verbose: 'Model is accompanied by instructions for use that include computational and hardware resources needed, the expected lifetime of the model and any necessary maintenance and care measures, including their frequency, to ensure the proper functioning of that model, including as regards software updates'
183
  value: !!bool false
184
+ accuracy_robustness_cybersecurity_accuracy: # These need to be cleaned up and to match/compliment project cc
185
+ article: 'Art. 15(1)'
 
186
  verbose: 'Model is designed and developed to achieve appropriate level of accuracy'
187
  value: !!bool false
188
+ accuracy_robustness_cybersecurity_robustiness:
189
+ article: 'Art. 15(1)'
190
  verbose: 'Model is designed and developed to achieve appropriate level of robustness'
191
  value: !!bool false
192
+ accuracy_robustness_cybersecurity_cybersecurity:
193
+ article: 'Art. 15(1)'
194
  verbose: 'Model is designed and developed to achieve appropriate level of cybersecurity'
195
  value: !!bool false
196
+ accuracy_robustness_cybersecurity_accuracy_metrics:
197
+ article: 'Art. 15(2)'
198
  verbose: 'Use of relevant accuracy metrics'
199
  value: !!bool false
200
+ accuracy_robustness_cybersecurity_fault_resilience:
201
+ article: 'Art. 15(4)'
202
  verbose: 'Maximum possible resilience regarding errors, faults or inconsistencies that may occur within the system or the environment in which the system operates, in particular due to their interaction with natural persons or other systems. Technical and organisational measures shall be taken towards this regard'
203
  value: !!bool false
204
+ accuracy_robustness_cybersecurity_attacks:
205
+ article: 'Art. 15(5)'
206
  verbose: 'Measures were taken to prevent, detect, respond to, resolve and control for model poisoning attacks, adversarial examples or model evasion attacks (attacks using inputs designed to cause the model to make a mistake), and confidentiality attacks or model flaws'
207
  value: !!bool false
208
+ quality_management_system:
209
+ article: 'Art. 17(1)(d)'
 
210
  verbose: 'Examination, test and validation procedures to be carried out before, during and after the development of the high-risk AI system, and the frequency with which they have to be carried out'
211
  value: !!bool false
212
 
213
+ # Metadata related to model-related requirements for GPAI models
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
214
 
215
+ gpai_model_requirements:
216
+ task:
217
+ article: 'Art. 53; Annex XI(1)(1)(a)'
218
  verbose: 'The tasks that the model is intended to perform and the type and nature of AI systems in which it can be integrated'
219
  value: !!bool false
220
+ acceptable_use:
221
+ article: 'Art. 53; Annex XI(1)(1)(b)'
222
  verbose: 'Acceptable use policies applicable'
223
  value: !!bool false
224
+ release_date:
225
+ article: 'Art. 53; Annex XI(1)(1)(c)'
226
  verbose: 'The date of release and methods of distribution'
227
  value: !!bool false
228
+ architecture:
229
+ article: 'Art. 53; Annex XI(1)(1)(d)'
230
  verbose: 'The architecture and number of parameters'
231
  value: !!bool false
232
+ input_output_modality:
233
+ article: 'Art. 53; Annex XI(1)(1)(e)'
234
  verbos: 'Modality (e.g. text, image) and format of inputs and outputs'
235
  value: !!bool false
236
+ license:
237
+ article: 'Art. 53; Annex XI(1)(1)(f)'
238
  verbose: 'The license'
239
  value: !!bool false
240
+ training:
241
+ article: 'Art. 53; Annex XI(1)(2)(b)'
242
  verbose: 'Training methodologies and techniques'
243
  value: !!bool false
244
+ design_choices:
245
+ article: 'Art. 53; Annex XI(1)(2)(b)'
246
  verbose: 'Key design choices including the rationale and assumptions made'
247
  value: !!bool false
248
+ optimized_for:
249
+ article: 'Art. 53; Annex XI(1)(2)(b)'
250
  verbose: 'What the model is designed to optimise for'
251
  value: !!bool false
252
+ parameters:
253
+ article: 'Art. 53; Annex XI(1)(2)(b)'
254
  verbose: 'The relevance of the different parameters, as applicable'
255
  value: !!bool false
256
+ data_type:
257
+ article: 'Art. 53; Annex XI(1)(2)(c)'
258
  verbose: 'Information on the data used for training, testing and validation: type of data'
259
  value: !!bool false
260
+ data_provenance:
261
+ article: 'Art. 53; Annex XI(1)(2)(c)'
262
  verbose: 'Information on the data used for training, testing and validation: provenance of data'
263
  value: !!bool false
264
+ data_curation:
265
+ article: 'Art. 53; Annex XI(1)(2)(c)'
266
  verbose: 'Information on the data used for training: curation methodologies (e.g. cleaning, filtering etc)'
267
  value: !!bool false
268
+ data_number:
269
+ article: 'Art. 53; Annex XI(1)(2)(c)'
270
  verbose: 'Information on the data used for training: the number of data points'
271
  value: !!bool false
272
+ data_characteristics:
273
+ article: 'Art. 53; Annex XI(1)(2)(c)'
274
  verbose: 'Information on the data used for training: data points scope and main characteristics applicable'
275
  value: !!bool false
276
+ data_origin:
277
+ article: 'Art. 53; Annex XI(1)(2)(c)'
278
  verbose: 'Information on the data used for training: how the data was obtained and selected'
279
  value: !!bool false
280
+ data_bias:
281
+ article: 'Art. 53; Annex XI(1)(2)(c)'
282
  verbose: 'Information on the data used for training: all other measures to detect the unsuitability of data sources and methods to detect identifiable biases, where applicable'
283
  value: !!bool false
284
+ computation:
285
+ article: 'Art. 53; Annex XI(1)(2)(d)'
286
  verbose: 'The computational resources used to train the model (e.g. number of floating point operations – FLOPs), training time, and other relevant details related to the training'
287
  value: !!bool false
288
+ energy_consumption:
289
+ article: 'Art. 53; Annex XI(1)(2)(e)'
290
  verbose: 'Known or estimated energy consumption of the model; in case not known, this could be based on information about computational resources used'
291
  value: !!bool false
292
+ evaluation:
293
+ article: 'Art. 53; Annex XI(2)(1)'
294
  verbose: 'Detailed description of the evaluation strategies, including evaluation results, on the basis of available public evaluation protocols and tools or otherwise of other evaluation methodologies. Evaluation strategies shall include evaluation criteria, metrics and the methodology on the identification of limitations'
295
  value: !!bool false
296
+ adversarial_testing:
297
+ article: 'Art. 53; Annex XI(2)(2)'
298
  verbose: 'Where applicable, detailed description of the measures put in place for the purpose of conducting internal and/or external adversarial testing (e.g. red teaming), model adaptations, including alignment and fine-tuning'
299
  value: !!bool false
300
 
301
+ gpai_model_with_systemic_risk_requirements:
302
+ evaluation:
303
+ article: 'Art. 55(1)(a)'
304
  verbose: 'Perform model evaluation in accordance with standardised protocols and tools reflecting the state of the art, including conducting and documenting adversarial testing of the model with a view to identify and mitigate systemic risk'
305
  value: !!bool false
306
+ systematic_risk:
307
+ article: 'Art. 55(1)(b)'
308
  verbose: 'Assess and mitigate possible systemic risks at Union level, including their sources, that may stem from the development'
309
  value: !!bool false
310
+ cybersecurity:
311
+ article: 'Art. 55(1)(d)'
312
  verbose: 'Ensure an adequate level of cybersecurity protection for the GPAI model with systemic risk and the physical infrastructure of the mode'
313
  value: !!bool false
project_cc.yaml CHANGED
@@ -1,478 +1,792 @@
1
 
2
- # Information related to high-level characteristics of AI project, including its market status, operator, and type of AI
3
-
4
- operator_role:
5
- provider: # Art. 2
6
- verbose: 'The operator of this AI project is a natural or legal person, public authority, agency or other body that develops an AI system or a general-purpose AI model or that has an AI system or a general-purpose AI model developed and places it on the market or puts the AI system into service under its own name or trademark, whether for payment or free of charge'
7
- value: !!bool false
8
- deployer: # Art. 2
9
- verbose: 'AI project operator is a natural or legal person, public authority, agency or other body using an AI system under its authority except where the AI system is used in the course of a personal non-professional activity'
10
- value: !!bool false
11
- eu_located: # Art. 2
 
 
 
 
12
  verbose: 'AI project operator has its place of establishment or location within the Union'
13
  value: !!bool True
14
- output_used: # Art. 2
15
- verbose: 'The output produced by the AI system is used in the Union'
 
16
  value: !!bool false
17
- importer: # Art. 2
18
- verbose: 'AI project operator is a natural or legal person located or established in the Union that places on the market an AI system that bears the name or trademark of a natural or legal person established in a third country'
19
- value: !!bool false
20
- distributor:
21
- verbose: 'AI project operator is a natural or legal person in the supply chain, other than a provider or the importer, that makes an AI system available on the Union market'
22
- value: !!bool false # Art. 2
23
- product_manufacturer:
24
- verbose: 'AI project operator is a product manufacturer'
25
- value: !!bool false # Art. 2
26
-
27
- # ypi: just to not that providers, deployers and product manufacturer that are outside of EU are still in scope if the output of AI is used within EU.
28
- # importer and distributor are only in scope if they locate within EU.
29
-
30
-
31
-
32
 
33
  eu_market_status:
34
- placed_on_market: # Art. 3(9)
 
35
  verbose: 'AI project is being made available on the EU market (i.e., supplied for distribution or use in the course of a commercial activity, whether in return for payment or free of charge) for the first time'
36
  value: !!bool false
37
- put_into_service: #Art. 3(11)
 
38
  verbose: 'AI project is being used for its intended purpose for the first time in the EU, either by the operator or by a deployer to whom it is directly supplied'
39
  value: !!bool false
40
 
41
  ai_system:
42
- ai_system: # Art. 3(1)
 
43
  verbose: 'AI project is a machine-based system that is designed to operate with varying levels of autonomy and that may exhibit adaptiveness after deployment, and that, for explicit or implicit objectives, infers, from the input it receives, how to generate outputs such as predictions, content, recommendations, or decisions that can influence physical or virtual environments'
44
- value: !!bool false
45
 
46
  gpai_model:
47
- gpai_model: # Art. 3(63)
 
48
  verbose: 'AI project is an AI model, including where such an AI model is trained with a large amount of data using self-supervision at scale, that displays significant generality and is capable of competently performing a wide range of distinct tasks regardless of the way the model is placed on the market and that can be integrated into a variety of downstream systems or applications, except AI models that are used for research, development or prototyping activities before they are placed on the market'
49
  value: !!bool false
50
 
51
- gpai_model_systematic_risk:
52
- evaluation: # Art. 51 (1)(a)
53
- verbose: 'The AI project has high impact capabilities based on an evaluation using appropriate technical tools and methodologies, including indicators and benchmarks'
 
 
 
 
 
54
  value: !!bool false
55
- committee: # Art. 51 (1)(b)
56
- verbose: 'The AI project has capabilities or an impact equivalent to high impact capabilities based on a decision of the Commission, ex officio or following a qualified alert from the scientific panel'
 
57
  value: !!bool false
58
- flops: # Art. 51(2)
59
- verbose: 'The cumulative amount of computation used for the training of the AI project, as measured in floating point operations (FLOPs), has been greater than 10^25'
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
60
  value: !!bool false
61
 
62
- # ypi: I don't think we need to help users figure out if their GPAI model has systemic risk. There are only very few models with that risk(only two at the moment), and they’re mostly used by big tech, who aren’t our target users anyway. Plus, it’s the job of the AI office in the EU Commission to keep that list updated which means the criteria about flops can also change.
63
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
64
 
 
 
 
 
 
 
 
 
 
 
 
 
 
65
 
66
  # Information related to the Act's exceptions for scientific research, open-source AI, and more
67
 
68
  excepted:
69
- scientific: # Art. 2(6)
 
 
 
 
 
70
  verbose: 'AI project is or was specifically developed and put into service for the sole purpose of scientific research and development'
71
  value: !!bool false
72
- pre_market: # Art. 2(8)
 
73
  verbose: 'AI project strictly consists of research, testing or development activity of the sort that takes place prior to their being placed on the market or put into service'
74
  value: !!bool false
75
- open_source_ai_system: # Art. 2(11)
 
76
  verbose: 'AI project is released under free and open-source licences'
77
  value: !!bool false
78
- open_source_gpai_model: # Art. 53(2)
 
79
  verbose: 'AI project involves AI models that are released under a free and open-source licence that allows for the access, usage, modification, and distribution of the model, and whose parameters, including the weights, the information on the model architecture, and the information on model usage, are made publicly available. This exception shall not apply to general purpose AI models with systemic risks'
80
  value: !!bool false
81
-
82
- # ypi: add "personal non-professional activity." to the above list? -- Art 2 (10)
83
- # ypi: The exemptions can be moved up to the operator role since it’s also related to Article 2.
 
 
84
 
85
  # Information related to practices prohibited by the Act
86
 
87
  prohibited_practice:
88
  ai_system:
89
- manipulative: # Art. 5(1)(a)
 
90
  verbose: 'The AI project deploys subliminal or purposefully manipulative or deceptive techniques, with the objective or effect of materially distorting the behavior of people by appreciably impairing their ability to make an informed decision, thereby causing them to take a decision that they would not have otherwise taken in a manner that causes or is reasonably likely to cause significant harm'
91
  value: !!bool false
92
- exploit_vulnerable: # Art. 5(1)(b)
 
93
  verbose: 'The AI project exploits the vulnerabilities of natural people due to their age, disability or a specific social or economic situation, with the objective or effect of materially distorting their behaviour in a manner that causes or is reasonably likely to cause significant harm'
94
  value: !!bool false
95
- social_score: # Art. 5(1)(c)
 
96
  verbose: 'The AI project is for the evaluation or classification of natural people over a certain period of time based on their social behaviour or known, inferred or predicted personal or personality characteristics, with the social score leading to at least one of the following: (i) detrimental or unfavourable treatment of certain natural people in social contexts that are unrelated to the contexts in which the data was originally generated or collected; (ii) detrimental or unfavourable treatment of certain natural people that is unjustified or disproportionate to their social behaviour or its gravity'
97
  value: !!bool false
98
- crime_prediction: # Art. 5(1)(d)
 
99
  verbose: 'This AI project makes risk assessments of natural persons in order to assess or predict the risk of them committing a criminal offence, based solely on the profiling of the natural person or on assessing their personality traits and characteristics (and does not support the human assessment of the involvement of a person in a criminal activity, which is already based on objective and verifiable facts directly linked to a criminal activity)'
100
  value: !!bool false
101
- untarged_face: # Art. 5(1)(e)
 
102
  verbose: 'This AI project creates or expand facial recognition databases through the untargeted scraping of facial images from the internet or CCTV footage'
103
  value: !!bool false
104
- emotion_prediction: # Art. 5(1)(f)
 
105
  verbose: 'The AI project infers emotions of a natural person in the areas of workplace and education institutions and is not intended to be put in place or into the market for medical or safety reasons'
106
  value: !!bool false
107
  biometric:
108
- categorization: # Art. 5(1)(g)
 
109
  verbose: 'The AI project involves the use of biometric categorisation systems that categorise individually natural persons based on their biometric data to deduce or infer their race, political opinions, trade union membership, religious or philosophical beliefs, sex life or sexual orientation; this prohibition does not cover any labelling or filtering of lawfully acquired biometric datasets, such as images, based on biometric data or categorizing of biometric data in the area of law enforcement'
110
  value: !!bool false
111
- real_time: # Art. 5(1)(h)
112
- verbose: 'The AI project involves use of ‘real-time’ remote biometric identification systems in publicly accessible spaces for the purposes of law enforcement'
 
113
  value: !!bool false
114
- real_time_exception_victim: # Art. 5(1)(h)
115
- verbose: 'The AI project involves use of ‘real-time’ remote biometric identification systems in publicly accessible spaces for the purposes of law enforcement stricly for the targeted search for specific victims of abduction, trafficking in human beings or sexual exploitation of human beings, or the search for missing persons'
 
116
  value: !!bool false
117
  real_time_exception_threat:
118
- verbose: 'The AI project involves use of ‘real-time’ remote biometric identification systems in publicly accessible spaces for the purposes of law enforcement stricly for the prevention of a specific, substantial and imminent threat to the life or physical safety of natural persons or a genuine and present or genuine and foreseeable threat of a terrorist attack'
 
 
119
  real_time_exception_investigation:
120
- verbose: 'The AI project involves use of ‘real-time’ remote biometric identification systems in publicly accessible spaces for the purposes of law enforcement stricly for the localisation or identification of a person suspected of having committed a criminal offence, for the purpose of conducting a criminal investigation or prosecution or executing a criminal penalty for offences referred to in Annex II and punishable in the Member State concerned by a custodial sentence or a detention order for a maximum period of at least four years.'
 
121
  value: !!bool false
122
 
123
- # ypi: my interpretation for emotion_prediction is "AI systems that infer emotions of individuals in the areas of workplace and educational institutions, except for AI medical or safety systems."
124
-
125
-
126
-
127
-
128
- # Requirements for those projects which involve high-risk AI systems
129
-
130
- high_risk_ai_system:
131
- safety_component: # Art. 6(1)(a)
132
- verbose: 'AI project is intended to be used as a safety component of a product'
133
- value: !!bool false
134
- product_covered_by_machinery_regulation: # Art. 6(1)(b); Annex I
135
- verbose: 'AI project is itself a product, covered by Directive 2006/42/EC of the European Parliament and of the Council of 17 May 2006 on machinery, and amending Directive 95/16/EC (OJ L 157, 9.6.2006, p. 24) [as repealed by the Machinery Regulation]'
136
- value: !!bool false
137
- product_covered_by_toy_safety_regulation: # Art. 6(1)(b); Annex I
138
- verbose: 'AI project is itself a product, covered by Directive 2009/48/EC of the European Parliament and of the Council of 18 June 2009 on the safety of toys (OJ L 170, 30.6.2009, p. 1)'
139
- value: !!bool false
140
- product_covered_by_watercraft_regulation: # Art. 6(1)(b); Annex I
141
- verbose: 'AI project is itself a product, covered by Directive 2013/53/EU of the European Parliament and of the Council of 20 November 2013 on recreational craft and personal watercraft and repealing Directive 94/25/EC (OJ L 354, 28.12.2013, p. 90)'
142
- value: !!bool false
143
- biometric_categorization: # Art. 6(2); Annex III(1)(b)
144
- verbose: 'AI project is intended to be used for biometric categorisation, according to sensitive or protected attributes or characteristics based on the inference of those attributes or characteristics'
145
- value: !!bool false
146
- emotion_recognition: # Art. 6(2); Annex III(1)(c)
147
- verbose: 'AI project is intended to be used for emotion recognition'
148
- value: !!bool false
149
- critical_infrastructure: # Art. 6(2); Annex III(2)
150
- verbose: 'AI project is intended to be used as safety components in the management and operation of critical digital infrastructure, road traffic, or in the supply of water, gas, heating or electricity'
151
- value: !!bool false
152
- educational: # Art. 6(2); Annex III(3)(a)
153
- verbose: 'AI project is intended to be used to determine access or admission or to assign natural persons to educational and vocational training institutions at all levels'
154
- value: !!bool false
155
- recruitment: # Art. 6(2); Annex III(4)(a)
156
- verbose: 'AI project is intended to be used for the recruitment or selection of natural persons, in particular to place targeted job advertisements, to analyse and filter job applications, and to evaluate candidates'
157
- value: !!bool false
158
- public_assistance: # Art. 6(2); Annex III(5)(a)
159
- verbose: 'AI project is intended to be used by public authorities or on behalf of public authorities to evaluate the eligibility of natural persons for essential public assistance benefits and services, including healthcare services, as well as to grant, reduce, revoke, or reclaim such benefits and services'
160
- value: !!bool false
161
- victim_assessment: # Art. 6(2); Annex III(6)(a)
162
- verbose: 'AI project is intended to be used by or on behalf of law enforcement authorities, or by Union institutions, bodies, offices or agencies in support of law enforcement authorities or on their behalf to assess the risk of a natural person becoming the victim of criminal offences'
163
- value: !!bool false
164
- polygraph: # Art. 6(2); Annex III(7)(a)
165
- verbose: 'AI project is intended to be used by or on behalf of competent public authorities or by Union institutions, bodies, offices or agencies as polygraphs or similar tools'
166
- value: !!bool false
167
- judicial: # Art. 6(2); Annex III(8)(a)
168
- verbose: 'AI project is intended to be used by a judicial authority or on their behalf to assist a judicial authority in researching and interpreting facts and the law and in applying the law to a concrete set of facts, or to be used in a similar way in alternative dispute resolution'
169
- value: !!bool false
170
- filter_exception_rights: # Art. 6(3)
171
- verbose: 'The AI initiate does not pose a significant risk of harm to the health, safety or fundamental rights of natural persons, including by not materially influencing the outcome of decision making'
172
- value: !!bool false
173
- filter_exception_narrow: # Art. 6(3)(a)
174
- verbose: 'The AI project is intended to perform a narrow procedural task'
175
- value: !!bool false
176
- filter_exception_human: # Art. 6(3)(b)
177
- verbose: 'the AI project is intended to improve the result of a previously completed human activity'
178
- value: !!bool false
179
- filter_exception_deviation: # Art. 6(3)(c)
180
- verbose: 'the AI system is intended to detect decision-making patterns or deviations from prior decision-making patterns and is not meant to replace or influence the previously completed human assessment, without proper human review'
181
- value: !!bool false
182
- filter_exception_prep: # Art. 6(3)(d)
183
- verbose: 'the AI system is intended to perform a preparatory task to an assessment relevant for the purposes of the use cases listed in Annex III.'
184
- value: !!bool false
185
 
186
  risk_management_system:
187
- established: # Article 9
188
- verbose: 'Risk management system has been established, implemented, documented and maintained for AI project'
 
189
  value: !!bool false
190
- lifecycle: # Art. 9(2)
191
- verbose: 'Risk management system (high-risk AI system) has been planned, run, reviewed, and updated, throughout the entire lifecycle of AI system'
 
192
  value: !!bool false
193
- risk_analysis_intended: # Art. 9(2)(a)
194
- verbose: 'Risk management system for AI system includes the identification and analysis of any known or reasonably foreseeable risks that the AI system might pose to health, safety or fundamental rights when used in accordance with its intended purpose'
 
195
  value: !!bool false
196
- risk_estimation_foreseeable: # Art. 9(2)(b)
197
- verbose: 'Risk management system for AI system includes the estimation and evaluation of the risks that may emerge when the high-risk AI system is used in accordance with its intended purpose, and under conditions of reasonably foreseeable misuse'
 
198
  value: !!bool false
199
- risk_post_market: # Art. 9(2)(c)
200
- verbose: 'Risk management system for AI system includes the evaluation of other risks possibly arising, based on the analysis of data gathered from the post-market monitoring system'
 
201
  value: !!bool false
202
- risk_management_measures: # Art. 9(2)(d)
203
- verbose: 'Where risk that the AI system might pose to health, safety or fundamental rights when used in accordance with its intended purpose have been identified, appropriate and targeted risk management measures designed to address the risks have been adopted'
 
204
  value: !!bool false
205
- documentation: # Art. 9(5)
206
- verbose: 'Where risk that the AI system might pose to health, safety or fundamental rights when used in accordance with its intended purpose have been identified, these risks have been documented and communicated to deployers and either eliminated, if feasible, or mitigated such that any residual risk is judged to be acceptable'
 
207
  value: !!bool false
208
- tested: # Art. 9(6)
209
- verbose: 'To determine the right mitigations, and to show the high-risk AI system performs consistently its intended purpose and is in compliance with the risk management requirements, the AI system has been tested'
 
210
  value: !!bool false
211
- testing_threshold: # Art. 9(8)
212
- verbose: 'Testing has or will be performed before the AI system is placed on the market and has or will be carried out against prior defined metrics and probabilistic thresholds that are appropriate to the intended purpose'
 
213
  value: !!bool false
 
 
 
 
214
 
215
- # ypi: I will also add:
216
- # vulnerable_groups: Art. 9(9)
217
- # description: 'Consider potential adverse impacts in the view of intended purpose the high-risk AI system on individuals under 18 and other vulnerable groups.'
218
- # value: !!bool true
219
- # integration_with_other_laws: Art. 9(10)
220
- # description: 'For providers subject to other Union law requirements, risk management procedures may be integrated or combined with those established under such law.'
221
- # value: !!bool true
222
-
223
-
224
-
225
 
226
  technical_documentation:
227
- drawn_up: # Art. 11(1)
228
- verbose: 'Technical documentation for the high-risk AI system has been drawn up before the system has been placed on the market or put into service and will be kept up-to date'
 
 
 
 
 
229
  value: !!bool false
230
- intended_purpose: # Art. 11(1); Annex IV(1)(a)
231
- verbose: 'The Technical Documentation includes a general description of the AI system that covers its intended purpose, the name of the provider and the version of the system reflecting its relation to previous versions'
 
232
  value: !!bool false
233
- interaction: # Art. 11(1); Annex IV(1)(b)
234
- verbose: 'The Technical Documentation includes a general description of the AI system that covers how the AI system interacts with, or can be used to interact with, hardware or software, including with other AI systems, that are not part of the AI system itself, where applicable'
 
235
  value: !!bool false
236
- versions: # Art. 11(1); Annex IV(1)(c)
237
- verbose: 'Technical Documentation includes a general description of the AI system that covers the versions of relevant software or firmware, and any requirements related to version updates'
 
238
  value: !!bool false
239
- packages: # Art. 11(1); Annex IV(1)(d)
240
- verbose: 'Technical Documentation includes a general description of the AI system that covers the description of all the forms in which the AI system is placed on the market or put into service, such as software packages embedded into hardware, downloads, or APIs'
 
241
  value: !!bool false
242
- hardware: # Art. 11(1); Annex IV(1)(e)
243
- verbose: 'Technical Documentation includes a general description of the AI system that covers the description of the hardware on which the AI system is intended to run'
 
244
  value: !!bool false
245
- development_steps: # Art. 11(1); Annex IV(2)(a)
246
- verbose: 'Technical Documentation includes a detailed description of the elements of the AI system and of the process for its development, covering the methods and steps performed for the development of the AI system, including, where relevant, recourse to pre-trained systems or tools provided by third parties and how those were used, integrated or modified by the provider'
 
247
  value: !!bool false
248
- design_specs: # Art. 11(1); Annex IV(2)(b)
249
- verbose: 'Technical Documentation includes a detailed description of the elements of the AI system and of the process for its development, covering the design specifications of the system, namely the general logic of the AI system and of the algorithms; the key design choices including the rationale and assumptions made, including with regard to persons or groups of persons in respect of who, the system is intended to be used; the main classification choices; what the system is designed to optimise for, and the relevance of the different parameters; the description of the expected output and output quality of the system; the decisions about any possible trade-off made regarding the technical solutions adopted to comply with the requirements set out in Chapter III, Section 2'
 
250
  value: !!bool false
251
- risk_management: # Art. 11(1); Annex IV(5)
 
 
 
 
 
 
 
 
 
 
 
 
 
252
  verbose: 'Technical Documentation includes a detailed description of the risk management system in accordance with Article 9'
253
  value: !!bool false
254
- changes: # Art. 11(1); Annex IV(6)
 
255
  verbose: 'Technical Documentation includes a description of relevant changes made by the provider to the system through its lifecycle'
256
  value: !!bool false
257
- declaration_of_conformity: # Art. 11(1); Annex IV(8)
 
258
  verbose: 'Technical Documentation includes a copy of the EU declaration of conformity referred to in Article 47'
259
  value: !!bool false
260
- post_market: # Art. 11(1); Annex IV(9)
261
- verbose: 'Technical Documentation includes a detailed description of the system in place to evaluate the AI system performance in the post-market phase in accordance with Article 72, including the post-market monitoring plan referred to in Article 72(3)'
 
262
  value: !!bool false
263
- product: # Art. 11(2)
264
- verbose: 'High-risk AI system is either not related to a product covered by the Union harmonisation legislation listed in Section A of Annex I and placed on the market or put into service or, if it is, a single set of technical documentation has been drawn up containing all the information set out in paragraph 1, as well as the information required under those legal acts'
 
265
  value: !!bool false
266
 
 
 
 
 
 
 
 
 
267
  record_keeping:
268
- logging_generally: # Article 12(1)
269
- verbose: 'The AI system technically allows for the automatic recording of events (logs) over the lifetime of the system'
 
 
 
 
 
270
  value: !!bool false
271
- logging_risk: # Art. 12(1)(a)
272
- verbose: 'The AI system technically allows for the automatic recording of events (logs) over the lifetime of the system and these logging capabilities enable the recording of events relevant for identifying situations that may result in the high-risk AI system presenting a risk within the meaning of Article 79(1) or in a substantial modification'
 
273
  value: !!bool false
274
- logging_post_market: # Art. 12(1)(b)
275
- verbose: 'The AI system technically allows for the automatic recording of events (logs) over the lifetime of the system and these logging capabilities enable the recording of events relevant for facilitating the post-market monitoring referred to in Article 72'
 
276
  value: !!bool false
277
- monitoring: # Art. 12(1)(c)
278
- verbose: 'The AI system technically allows for the automatic recording of events (logs) over the lifetime of the system and these logging capabilities enable the recording of events relevant for monitoring the operation of high-risk AI systems referred to in Article 26(5)'
 
279
  value: !!bool false
280
- recording_use: # Art. 12(2)(a)
281
- verbose: 'For the remote biometric identification systems high-risk AI systems referred to in point 1 (a), of Annex III, the logging capabilities shall provide, at a minimum, the recording of the period of each use of the system (start date and time and end date and time of each use)'
 
282
  value: !!bool false
283
- reference_db: # Art. 12(2)(b)
 
284
  verbose: 'For the remote biometric identification systems high-risk AI systems referred to in point 1 (a), of Annex III, the logging capabilities shall provide, at a minimum, the reference database against which input data has been checked by the system'
285
  value: !!bool false
286
- input: # Art. 12(2)(c)
 
287
  verbose: 'For the remote biometric identification systems high-risk AI systems referred to in point 1 (a), of Annex III, the logging capabilities shall provide, at a minimum, the input data for which the search has led to a match'
288
  value: !!bool false
289
- identification: # Art. 12(2)(d)
 
290
  verbose: 'For the remote biometric identification systems high-risk AI systems referred to in point 1 (a), of Annex III, the logging capabilities shall provide, at a minimum, the identification of the natural persons involved in the verification of the results, as referred to in Article 14(5)'
291
  value: !!bool false
292
 
 
 
293
  transparency_and_provision_of_information_to_deployers:
294
- interpretability: # Art. 13(1)
295
- verbose: 'AI system is designed and developed to ensure operation is sufficiently transparent for deployers to interpret output and use appropriately'
 
296
  value: !!bool false
297
- compliance: # Art. 13(1)
298
- verbose: 'AI system is designed and developed with transparency to ensure compliance with provider and deployer obligations in Section 3'
 
299
  value: !!bool false
300
- instructions: # Art. 13(2)
301
- verbose: 'AI system is accompanied by instructions for use in appropriate digital format or otherwise, with concise, complete, correct, clear, relevant, accessible, and comprehensible information for deployers'
 
302
  value: !!bool false
303
- contact_details: # Art. 13(3)(a)
 
304
  verbose: 'Instructions include provider identity and contact details, and if applicable, authorized representative details'
305
  value: !!bool false
306
- characteristics: # Art. 13(3)(b)(i)
307
- verbose: 'Instructions include AI system characteristics, capabilities, performance limitations, and intended purpose'
 
308
  value: !!bool false
309
- metrics: # Art. 13(3)(b)(ii)
 
310
  verbose: 'Instructions include accuracy metrics, robustness, cybersecurity, and potential impacts on these'
311
  value: !!bool false
312
- foreseeable: # Art. 13(3)(b)(iii)
 
313
  verbose: 'Instructions include foreseeable circumstances that may risk health, safety, or fundamental rights'
314
  value: !!bool false
315
- output: # Art. 13(3)(b)(iv)
316
- verbose: 'Instructions include technical capabilities to provide information relevant to explaining output'
317
- value: !!bool false
318
- specific_persons: # Art. 13(3)(b)(v)
 
 
319
  verbose: 'Instructions include performance regarding specific persons or groups, if applicable'
320
  value: !!bool false
321
- data: # Art. 13(3)(b)(vi)
 
322
  verbose: 'Instructions include input data specifications and relevant training, validation, and testing dataset information'
323
  value: !!bool false
324
- deployers: # Art. 13(3)(b)(vii)
325
- verbose: 'Instructions include information to enable deployers to interpret and appropriately use AI system output'
 
326
  value: !!bool false
327
- changes: # Art. 13(3)(c)
328
- verbose: 'Instructions include predetermined changes to AI system and its performance since initial conformity assessment'
 
329
  value: !!bool false
330
- oversight_measures: # Art. 13(3)(d)
 
331
  verbose: 'Instructions include human oversight measures and technical measures for output interpretation'
332
  value: !!bool false
333
- hardware: # Art. 13(3)(e)
 
334
  verbose: 'Instructions include computational and hardware resource needs, expected lifetime, and maintenance measures'
335
  value: !!bool false
336
- logging: # Art. 13(3)(f)
 
337
  verbose: 'Instructions include description of mechanisms for deployers to collect, store, and interpret logs, if applicable'
338
  value: !!bool false
339
 
 
 
340
  human_oversight:
341
- designed: # Art. 14(1)
342
- verbose: 'AI system is designed and developed to be effectively overseen by natural persons during use, including appropriate human-machine interface tools'
 
343
  value: !!bool false
344
- minimize_risks: # Art. 14(2)
345
- verbose: 'Human oversight aims to prevent or minimize risks to health, safety, or fundamental rights during intended use or foreseeable misuse'
 
346
  value: !!bool false
347
- commensurate: # Art. 14(3)
348
- verbose: 'Oversight measures are commensurate with risks, autonomy level, and use context, ensured through provider-built measures and/or deployer-implemented measures'
 
349
  value: !!bool false
350
- understandable: # Art. 14(4)
351
- verbose: 'AI system enables assigned persons to understand its capacities and limitations, monitor operation, and detect anomalies'
 
352
  value: !!bool false
353
- automation_bias: # Art. 14(4)(a)
354
- verbose: 'AI system enables assigned persons to be aware of potential automation bias'
 
355
  value: !!bool false
356
- interpretabilty: # Art. 14(4)(c)
357
- verbose: 'AI system enables assigned persons to correctly interpret its output'
 
358
  value: !!bool false
359
- override: # Art. 14(4)(d)
360
- verbose: 'AI system enables assigned persons to decide not to use it or override its output'
 
361
  value: !!bool false
362
- stop_button: # Art. 14(4)(e)
363
- verbose: 'AI system enables assigned persons to intervene or halt the system through a stop button or similar procedure'
 
364
  value: !!bool false
365
- verification: # Art. 14(5)
 
366
  verbose: 'For Annex III point 1(a) systems, actions or decisions require verification by at least two competent persons, with exceptions for law enforcement, migration, border control, or asylum'
367
  value: !!bool false
368
 
 
 
369
  accuracy_robustness_cybersecurity:
370
- design: # Art. 15(1)
371
- verbose: 'AI system is designed and developed to achieve appropriate levels of accuracy, robustness, and cybersecurity, performing consistently throughout its lifecycle'
 
372
  value: !!bool false
373
- metrics_in_instructions: # Art. 15(3)
374
- verbose: 'Accuracy levels and relevant metrics are declared in accompanying instructions of use'
 
375
  value: !!bool false
376
- error_resiliance: # Art. 15(4)
377
- verbose: 'AI system is resilient against errors, faults, or inconsistencies, with technical and organizational measures implemented'
 
378
  value: !!bool false
379
- bias: # Art. 15(4)
380
- verbose: 'AI system that continues learning after deployment is designed to eliminate or reduce risk of biased outputs influencing future operations'
 
381
  value: !!bool false
382
- unauthorized_use: # Art. 15(5)
383
- verbose: 'AI system is resilient against unauthorized third-party attempts to alter use, outputs, or performance'
 
384
  value: !!bool false
385
- cybersecurity_solutions: # Art. 15(5)
386
- verbose: 'Cybersecurity solutions are appropriate to relevant circumstances and risks'
 
387
  value: !!bool false
388
- ai_vulnerabilities: # Art. 15(5)
389
- verbose: 'Technical solutions address AI-specific vulnerabilities, including measures against data poisoning, model poisoning, adversarial examples, and confidentiality attacks'
 
390
  value: !!bool false
391
 
 
 
392
  quality_management_system:
393
- quality_management_system: # Art. 17(1)(a)
394
- verbose: 'Initiative is subject to a quality management system with strategy for regulatory compliance'
 
395
  value: !!bool false
396
- design: # Art. 17(1)(b)
397
- verbose: 'System includes techniques, procedures, and actions for design, control, and verification of high-risk AI system'
 
398
  value: !!bool false
399
- quality_control: # Art. 17(1)(c)
400
- verbose: 'System includes techniques, procedures, and actions for development, quality control, and quality assurance'
 
401
  value: !!bool false
402
- testing: # Art. 17(1)(d)
403
- verbose: 'System includes examination, test, and validation procedures before, during, and after development'
 
404
  value: !!bool false
405
 
 
 
406
  fundamental_rights_assessment:
407
- process: # Art. 27(1)(a)
408
- verbose: 'AI project has been subject to a fundamental rights impact assessment that includes a description of the deployer’s processes in which the high-risk AI system will be used in line with its intended purpose'
 
409
  value: !!bool false
410
- time_period: # Art. 27(1)(b)
411
- value: 'AI project has been subject to a fundamental rights impact assessment that includes a description of the period of time within which, and the frequency with which, each high-risk AI system is intended to be used'
 
412
  value: !!bool false
413
- persons_affected: # Art. 27(1)(c)
 
414
  verbose: 'AI project has been subject to a fundamental rights impact assessment that describes the categories of natural persons and groups likely to be affected by its use in the specific context'
415
  value: !!bool false
416
- likely_harms: # Art. 27(1)(d)
 
417
  verbose: 'AI project has been subject to a fundamental rights impact assessment that describes the specific risks of harm likely to have an impact on the categories of natural persons and groups likely to be affected by its use in the specific context'
418
  value: !!bool false
419
- human_oversight: # Art. 27(1)(e)
 
420
  verbose: 'AI project has been subject to a fundamental rights impact assessment that includes a description of the implementation of human oversight measures, according to the instructions for use'
421
  value: !!bool false
422
- risk_mitigation: # Art. 27(1)(f)
 
423
  verbose: 'AI project has been subject to a fundamental rights impact assessment that describes the measures to be taken in the case of the materialisation of risks of harm likely to have an impact on the categories of natural persons and groups likely to be affected by its use in the specific context, including the arrangements for internal governance and complaint mechanisms'
424
  value: !!bool false
425
 
426
  # Information related to the Act's requirements for all AI systems
427
 
428
  transparency_obligations:
429
- synthetic_content: # Art. 50(2)
430
- verbose: 'Providers of AI systems generating synthetic content ensure outputs are marked and detectable as artificially generated'
 
 
 
 
 
431
  value: !!bool false
432
- marking_solutions: # Art. 50(2)
433
- verbose: 'Technical solutions for marking are effective, interoperable, robust, and reliable'
 
434
  value: !!bool false
435
 
436
  # Information related to the Act's requirements for GPAI models
437
 
438
- gpai_model_provider_obligations:
439
- intended_uses: # Art. 53(1)(a); Annex XI(1)(1)(a-c)
440
- verbose: 'Provide information on intended tasks, integration types, and acceptable use policies'
441
- value: !!bool false
442
- model_architecture: # Art. 53(1)(a); Annex XI(1)(1)(d-f)
443
- verbose: 'Provide details on model architecture, parameters, input/output modalities, and license'
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
444
  value: !!bool false
445
- training_methodologies: # Art. 53(1)(b); Annex XI(1)(2)(b)
446
- verbose: 'Describe training methodologies, key design choices, and optimization goals'
 
447
  value: !!bool false
448
- data: # Art. 53(1)(b); Annex XI(1)(2)(c)
449
- verbose: 'Provide information on training, testing, and validation data'
 
450
  value: !!bool false
451
- computation: # Art. 53(1)(b); Annex XI(1)(2)(d-e)
452
- verbose: 'Disclose computational resources and energy consumption for training'
 
453
  value: !!bool false
454
- evaluation: # Art. 53(1)(b); Annex XI(2)(1-2)
455
- verbose: 'Describe evaluation strategies, results, and adversarial testing measures'
 
456
  value: !!bool false
457
- general_description: # Art. 53(1)(b); Annex XII(1)(a-h)
458
- verbose: 'To downstream providers, provide general description of GPAI model, including intended tasks and integration types'
 
459
  value: !!bool false
460
- development_process: # Art. 53(1)(b); Annex XII(2)(a-c)
461
- verbose: 'To downstream providers, describe model elements, development process, and integration requirements'
 
462
  value: !!bool false
463
 
464
- # Information related to the Act's requirements for GPAI models with systematic risk
465
 
466
- obligations_for_gpai_models_with_systemic_risk:
467
- evaluation: # Art. 55(1)(a)
468
- verbose: 'Perform model evaluation using standardized protocols and conduct adversarial testing'
 
 
 
469
  value: !!bool false
470
- mitigation: # Art. 55(1)(b)
471
- verbose: 'Assess and mitigate possible systemic risks at Union level'
 
 
 
 
472
  value: !!bool false
473
- cybersecurity: # Art. 55(1)(d)
474
- verbose: 'Ensure adequate cybersecurity protection for the model and infrastructure'
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
475
  value: !!bool false
476
-
477
-
478
-
 
1
 
2
+ # Information related to high-level characteristics of AI project, including the role of the operator, their location, and where the output is used
3
+ card_details:
4
+ card_type: "project" # "project", "data" or "model"
5
+ card_label: "project"
6
+
7
+ # TODO potentially add scenarios that get the provider off the hook per Article 25
8
+
9
+ operator_details:
10
+ provider:
11
+ article: 'Art. 2'
12
+ verbose: 'The operator of this AI project is a natural or legal person, public authority, agency or other body that develops an AI project or a general-purpose AI model or that has an AI system or a general-purpose AI model developed and places it on the market (in other words, first makes it available on the EU market) or puts the AI system into service (in other words, supplies an AI system for first use directly to a deployer or for own use in the Union, for its intended purpose) under its own name or trademark, whether for payment or free of charge'
13
+ value: !!bool false
14
+ eu_located:
15
+ article: 'Art. 2'
16
  verbose: 'AI project operator has its place of establishment or location within the Union'
17
  value: !!bool True
18
+ output_used:
19
+ article: 'Art. 2'
20
+ verbose: 'The output produced by the AI project is used in the European Union'
21
  value: !!bool false
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
22
 
23
  eu_market_status:
24
+ placed_on_market:
25
+ article: 'Art. 3(9)'
26
  verbose: 'AI project is being made available on the EU market (i.e., supplied for distribution or use in the course of a commercial activity, whether in return for payment or free of charge) for the first time'
27
  value: !!bool false
28
+ put_into_service:
29
+ article: 'Art. 3(11)'
30
  verbose: 'AI project is being used for its intended purpose for the first time in the EU, either by the operator or by a deployer to whom it is directly supplied'
31
  value: !!bool false
32
 
33
  ai_system:
34
+ ai_system:
35
+ article: 'Art. 3(1)'
36
  verbose: 'AI project is a machine-based system that is designed to operate with varying levels of autonomy and that may exhibit adaptiveness after deployment, and that, for explicit or implicit objectives, infers, from the input it receives, how to generate outputs such as predictions, content, recommendations, or decisions that can influence physical or virtual environments'
37
+ value: !!bool true
38
 
39
  gpai_model:
40
+ gpai_model:
41
+ article: 'Art. 3(63)'
42
  verbose: 'AI project is an AI model, including where such an AI model is trained with a large amount of data using self-supervision at scale, that displays significant generality and is capable of competently performing a wide range of distinct tasks regardless of the way the model is placed on the market and that can be integrated into a variety of downstream systems or applications, except AI models that are used for research, development or prototyping activities before they are placed on the market'
43
  value: !!bool false
44
 
45
+ # Information related to whether or not the project, if an AI system, is a high-risk AI system
46
+
47
+ # TODO Potentially add all of the use cases mentioned in Annex I below (those covered by existing regulations) rather than bundle them up as they are now
48
+
49
+ high_risk_ai_system:
50
+ safety_component:
51
+ article: 'Art. 6(1)(a)'
52
+ verbose: 'AI project is intended to be used as a safety component of a product'
53
  value: !!bool false
54
+ product_covered_by_machinery_regulation:
55
+ article: 'Art. 6(1)(b); Annex I'
56
+ verbose: 'AI project is itself a product that is covered by Directive 2006/42/EC of the European Parliament and of the Council of 17 May 2006 on machinery, and amending Directive 95/16/EC (OJ L 157, 9.6.2006, p. 24) [as repealed by the Machinery Regulation]'
57
  value: !!bool false
58
+ product_covered_by_toy_safety_regulation:
59
+ article: 'Art. 6(1)(b); Annex I'
60
+ verbose: 'AI project is itself a product that is covered by Directive 2009/48/EC of the European Parliament and of the Council of 18 June 2009 on the safety of toys (OJ L 170, 30.6.2009, p. 1)'
61
+ value: !!bool false
62
+ product_covered_by_watercraft_regulation:
63
+ article: ' Art. 6(1)(b); Annex I'
64
+ verbose: 'AI project is itself a product that is covered by Directive 2013/53/EU of the European Parliament and of the Council of 20 November 2013 on recreational craft and personal watercraft and repealing Directive 94/25/EC (OJ L 354, 28.12.2013, p. 90)'
65
+ value: !!bool false
66
+ biometric_categorization:
67
+ article: 'Art. 6(2); Annex III(1)(b)'
68
+ verbose: 'AI project is intended to be used for biometric categorisation, according to sensitive or protected attributes or characteristics based on the inference of those attributes or characteristics'
69
+ value: !!bool false
70
+ emotion_recognition:
71
+ article: 'Art. 6(2); Annex III(1)(c)'
72
+ verbose: 'AI project is intended to be used for emotion recognition'
73
+ value: !!bool true
74
+ critical_infrastructure:
75
+ article: 'Art. 6(2); Annex III(2)'
76
+ verbose: 'AI project is intended to be used as a safety component in the management and operation of critical digital infrastructure, road traffic, or in the supply of water, gas, heating or electricity'
77
+ value: !!bool true
78
+ admission:
79
+ article: 'Art. 6(2); Annex III(3)(a)'
80
+ verbose: 'AI project is intended to be used to determine access or admission or to assign natural persons to educational and vocational training institutions at all levels'
81
+ value: !!bool false
82
+ recruitment:
83
+ article: 'Art. 6(2); Annex III(4)(a)'
84
+ verbose: 'AI project is intended to be used for the recruitment or selection of natural persons, in particular to place targeted job advertisements, to analyse and filter job applications, and to evaluate candidates'
85
+ value: !!bool false
86
+ public_assistance:
87
+ article: 'Art. 6(2); Annex III(5)(a)'
88
+ verbose: 'AI project is intended to be used by public authorities or on behalf of public authorities to evaluate the eligibility of natural persons for essential public assistance benefits and services, including healthcare services, as well as to grant, reduce, revoke, or reclaim such benefits and services'
89
+ value: !!bool false
90
+ victim_assessment:
91
+ article: 'Art. 6(2); Annex III(6)(a)'
92
+ verbose: 'AI project is intended to be used by or on behalf of law enforcement authorities, or by Union institutions, bodies, offices or agencies in support of law enforcement authorities or on their behalf to assess the risk of a natural person becoming the victim of criminal offences'
93
+ value: !!bool false
94
+ polygraph:
95
+ article: 'Art. 6(2); Annex III(7)(a)'
96
+ verbose: 'AI project is intended to be used by or on behalf of competent public authorities or by Union institutions, bodies, offices or agencies as polygraphs or similar tools'
97
+ value: !!bool false
98
+ judicial:
99
+ article: 'Art. 6(2); Annex III(8)(a)'
100
+ verbose: 'AI project is intended to be used by a judicial authority or on their behalf to assist a judicial authority in researching and interpreting facts and the law and in applying the law to a concrete set of facts, or to be used in a similar way in alternative dispute resolution'
101
  value: !!bool false
102
 
103
+ # TODO potentially add military exception and/or law enforcement exception to the below
104
 
105
+ high_risk_ai_system_exceptions:
106
+ filter_exception_rights:
107
+ article: 'Art. 6(3)'
108
+ verbose: 'The AI initiate does not pose a significant risk of harm to the health, safety or fundamental rights of natural persons, including by not materially influencing the outcome of decision making'
109
+ value: !!bool false
110
+ filter_exception_narrow:
111
+ article: 'Art. 6(3)(a)'
112
+ verbose: 'The AI project is intended to perform a narrow procedural task'
113
+ value: !!bool false
114
+ filter_exception_human:
115
+ article: 'Art. 6(3)(b)'
116
+ verbose: 'the AI project is intended to improve the result of a previously completed human activity'
117
+ value: !!bool false
118
+ filter_exception_deviation:
119
+ article: 'Art. 6(3)(c)'
120
+ verbose: 'the AI project is intended to detect decision-making patterns or deviations from prior decision-making patterns and is not meant to replace or influence the previously completed human assessment, without proper human review'
121
+ value: !!bool false
122
+ filter_exception_prep:
123
+ article: 'Art. 6(3)(d)'
124
+ verbose: 'the AI project is intended to perform a preparatory task to an assessment relevant for the purposes of the use cases listed in Annex III.'
125
+ value: !!bool false
126
 
127
+ gpai_model_systemic_risk:
128
+ evaluation:
129
+ article: 'Art. 51 (1)(a)'
130
+ verbose: 'The AI project has high impact capabilities based on an evaluation using appropriate technical tools and methodologies, including indicators and benchmarks'
131
+ value: !!bool false
132
+ committee:
133
+ article: 'Art. 51 (1)(b)'
134
+ verbose: 'The AI project has capabilities or an impact equivalent to high impact capabilities based on a decision of the Commission, ex officio or following a qualified alert from the scientific panel'
135
+ value: !!bool false
136
+ flops:
137
+ article: 'Art. 51(2)'
138
+ verbose: 'The cumulative amount of computation used for the training of the AI project, as measured in floating point operations (FLOPs), has been greater than 10^25'
139
+ value: !!bool false
140
 
141
  # Information related to the Act's exceptions for scientific research, open-source AI, and more
142
 
143
  excepted:
144
+ military: # only applies to AI systems, must implement that in the logic
145
+ article: 'Art. 2(3)'
146
+ verbose: 'AI project is placed on the market, put into service, or used with or without modification exclusively for military, defence or national security purposes'
147
+ value: !!bool false
148
+ scientific:
149
+ article: 'Art. 2(6)'
150
  verbose: 'AI project is or was specifically developed and put into service for the sole purpose of scientific research and development'
151
  value: !!bool false
152
+ pre_market:
153
+ article: 'Art. 2(8) '
154
  verbose: 'AI project strictly consists of research, testing or development activity of the sort that takes place prior to their being placed on the market or put into service'
155
  value: !!bool false
156
+ open_source_ai_system:
157
+ article: 'Art. 2(11)'
158
  verbose: 'AI project is released under free and open-source licences'
159
  value: !!bool false
160
+ open_source_gpai_model:
161
+ article: 'Art. 53(2)'
162
  verbose: 'AI project involves AI models that are released under a free and open-source licence that allows for the access, usage, modification, and distribution of the model, and whose parameters, including the weights, the information on the model architecture, and the information on model usage, are made publicly available. This exception shall not apply to general purpose AI models with systemic risks'
163
  value: !!bool false
164
+
165
+ # We have to remember that even when open_source_gpai_model == true, the exception does not exist if gpai_model_with_systemic_risk == true
166
+ # Also, even when open_source_gpai_model == true, the project must still satisfy [Article 53(1)(c), 53(1)(d)]:
167
+ # In other words, project_cc_yaml['gpai_model_obligations']['other']['policy'] and project_cc_yaml['gpai_model_obligations']['other']['content'] must be true
168
+ # This logic has to be added to compliance_analysis.py
169
 
170
  # Information related to practices prohibited by the Act
171
 
172
  prohibited_practice:
173
  ai_system:
174
+ manipulative:
175
+ article: 'Art. 5(1)(a)'
176
  verbose: 'The AI project deploys subliminal or purposefully manipulative or deceptive techniques, with the objective or effect of materially distorting the behavior of people by appreciably impairing their ability to make an informed decision, thereby causing them to take a decision that they would not have otherwise taken in a manner that causes or is reasonably likely to cause significant harm'
177
  value: !!bool false
178
+ exploit_vulnerable:
179
+ article: 'Art. 5(1)(b)'
180
  verbose: 'The AI project exploits the vulnerabilities of natural people due to their age, disability or a specific social or economic situation, with the objective or effect of materially distorting their behaviour in a manner that causes or is reasonably likely to cause significant harm'
181
  value: !!bool false
182
+ social_score:
183
+ article: 'Art. 5(1)(c)'
184
  verbose: 'The AI project is for the evaluation or classification of natural people over a certain period of time based on their social behaviour or known, inferred or predicted personal or personality characteristics, with the social score leading to at least one of the following: (i) detrimental or unfavourable treatment of certain natural people in social contexts that are unrelated to the contexts in which the data was originally generated or collected; (ii) detrimental or unfavourable treatment of certain natural people that is unjustified or disproportionate to their social behaviour or its gravity'
185
  value: !!bool false
186
+ crime_prediction:
187
+ article: 'Art. 5(1)(d)'
188
  verbose: 'This AI project makes risk assessments of natural persons in order to assess or predict the risk of them committing a criminal offence, based solely on the profiling of the natural person or on assessing their personality traits and characteristics (and does not support the human assessment of the involvement of a person in a criminal activity, which is already based on objective and verifiable facts directly linked to a criminal activity)'
189
  value: !!bool false
190
+ untarged_face:
191
+ article: 'Art. 5(1)(e)'
192
  verbose: 'This AI project creates or expand facial recognition databases through the untargeted scraping of facial images from the internet or CCTV footage'
193
  value: !!bool false
194
+ emotion_prediction:
195
+ article: 'Art. 5(1)(f)'
196
  verbose: 'The AI project infers emotions of a natural person in the areas of workplace and education institutions and is not intended to be put in place or into the market for medical or safety reasons'
197
  value: !!bool false
198
  biometric:
199
+ categorization:
200
+ article: 'Art. 5(1)(g)'
201
  verbose: 'The AI project involves the use of biometric categorisation systems that categorise individually natural persons based on their biometric data to deduce or infer their race, political opinions, trade union membership, religious or philosophical beliefs, sex life or sexual orientation; this prohibition does not cover any labelling or filtering of lawfully acquired biometric datasets, such as images, based on biometric data or categorizing of biometric data in the area of law enforcement'
202
  value: !!bool false
203
+ real_time:
204
+ article: 'Art. 5(1)(h)'
205
+ verbose: 'The AI project involves use of real-time remote biometric identification systems in publicly accessible spaces for the purposes of law enforcement'
206
  value: !!bool false
207
+ real_time_exception_victim:
208
+ article: 'Art. 5(1)(h)'
209
+ verbose: 'The AI project involves use of real-time remote biometric identification systems in publicly accessible spaces for the purposes of law enforcement stricly for the targeted search for specific victims of abduction, trafficking in human beings or sexual exploitation of human beings, or the search for missing persons'
210
  value: !!bool false
211
  real_time_exception_threat:
212
+ article: ''
213
+ verbose: 'The AI project involves use of real-time remote biometric identification systems in publicly accessible spaces for the purposes of law enforcement stricly for the prevention of a specific, substantial and imminent threat to the life or physical safety of natural persons or a genuine and present or genuine and foreseeable threat of a terrorist attack'
214
+ value: !!bool false
215
  real_time_exception_investigation:
216
+ article: ''
217
+ verbose: 'The AI project involves use of real-time remote biometric identification systems in publicly accessible spaces for the purposes of law enforcement stricly for the localisation or identification of a person suspected of having committed a criminal offence, for the purpose of conducting a criminal investigation or prosecution or executing a criminal penalty for offences referred to in Annex II and punishable in the Member State concerned by a custodial sentence or a detention order for a maximum period of at least four years.'
218
  value: !!bool false
219
 
220
+ # Information related to the risk management system requirements for high-risk AI systems (Article 9)
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
221
 
222
  risk_management_system:
223
+ established:
224
+ article: 'Article 9'
225
+ verbose: 'A risk management system has been established, implemented, documented and maintained for the AI project'
226
  value: !!bool false
227
+ lifecycle:
228
+ article: 'Art. 9(2)'
229
+ verbose: 'A risk management system has been planned, run, reviewed, and updated throughout the entire lifecycle of the AI project'
230
  value: !!bool false
231
+ risk_analysis_intended:
232
+ article: 'Art. 9(2)(a)'
233
+ verbose: 'The risk management system for the AI project includes the identification and analysis of any known or reasonably foreseeable risks that the AI project might pose to health, safety or fundamental rights when used in accordance with its intended purpose'
234
  value: !!bool false
235
+ risk_estimation_foreseeable:
236
+ article: 'Art. 9(2)(b)'
237
+ verbose: 'The risk management system for the AI project includes the estimation and evaluation of the risks that may emerge when the AI project is used in accordance with its intended purpose, and under conditions of reasonably foreseeable misuse'
238
  value: !!bool false
239
+ risk_post_market:
240
+ article: 'Art. 9(2)(c)'
241
+ verbose: 'The risk management system for the AI project includes the evaluation of other risks possibly arising, based on the analysis of data gathered from the post-market monitoring system'
242
  value: !!bool false
243
+ risk_management_measures:
244
+ article: 'Art. 9(2)(d)'
245
+ verbose: 'Where any risks that the AI project might pose to health, safety or fundamental rights when used in accordance with its intended purpose have been identified, appropriate and targeted risk management measures designed to address those risks have been adopted'
246
  value: !!bool false
247
+ documentation:
248
+ article: 'Art. 9(5)'
249
+ verbose: 'Where any risks that the AI project might pose to health, safety or fundamental rights when used in accordance with its intended purpose have been identified, these risks have been documented and communicated to deployers and either eliminated, if feasible, or mitigated such that any residual risk is judged to be acceptable'
250
  value: !!bool false
251
+ tested:
252
+ article: 'Art. 9(6)'
253
+ verbose: 'To determine the right mitigations, and to show the AI project performs consistently its intended purpose and is in compliance with the risk management requirements, the AI project has been tested'
254
  value: !!bool false
255
+ testing_threshold:
256
+ article: 'Art. 9(8)'
257
+ verbose: 'Testing has or will be performed before the AI project is placed on the market and has or will be carried out against prior defined metrics and probabilistic thresholds that are appropriate to the intended purpose'
258
  value: !!bool false
259
+ vulnerable_groups:
260
+ article: 'Art. 9(9)'
261
+ verbose: 'The risk management system for the AI project considers impacts in the view of intended purpose the AI project on individuals under 18 and other vulnerable groups have been considered'
262
+ value: !!bool true
263
 
264
+ # Information related to the risk management system requirements for high-risk AI systems (Article 11)
 
 
 
 
 
 
 
 
 
265
 
266
  technical_documentation:
267
+ drawn_up:
268
+ article: 'Art. 11(1)'
269
+ verbose: 'Technical documentation for the AI project has been drawn up before the system has been placed on the market or put into service and will be kept up-to date'
270
+ value: !!bool false
271
+ kept:
272
+ article: 'Art. 16(d), Art. 18'
273
+ verbose: 'The technical documentation for the AI project that has been drawn up before the system has been placed on the market or put into service and will be kept up-to date will be kept by the provider for a period of ten years'
274
  value: !!bool false
275
+ intended_purpose:
276
+ article: 'Art. 11(1); Annex IV(1)(a)'
277
+ verbose: 'The Technical Documentation includes a general description of the AI project that covers its intended purpose, the name of the provider and the version of the system reflecting its relation to previous versions'
278
  value: !!bool false
279
+ interaction:
280
+ article: 'Art. 11(1); Annex IV(1)(b)'
281
+ verbose: 'The Technical Documentation includes a general description of the AI project that covers how the AI project interacts with, or can be used to interact with, hardware or software, including with separate AI systems, that are not part of the AI project itself, where applicable'
282
  value: !!bool false
283
+ versions:
284
+ article: 'Art. 11(1); Annex IV(1)(c)'
285
+ verbose: 'Technical Documentation includes a general description of the AI project that covers the versions of relevant software or firmware, and any requirements related to version updates'
286
  value: !!bool false
287
+ market_forms:
288
+ article: 'Art. 11(1); Annex IV(1)(d)'
289
+ verbose: 'Technical Documentation includes a general description of the AI project that covers the description of all the forms in which the AI project is placed on the market or put into service, such as software packages embedded into hardware, downloads, or APIs'
290
  value: !!bool false
291
+ hardware:
292
+ article: 'Art. 11(1); Annex IV(1)(e)'
293
+ verbose: 'Technical Documentation includes a general description of the AI project that covers the description of the hardware on which the AI project is intended to run'
294
  value: !!bool false
295
+ external_features:
296
+ article: 'Art. 11(1); Annex IV(1)(f)'
297
+ verbose: 'Technical Documentation includes a general description of the AI project that includes, where it is a component of products, photographs or illustrations showing external features, the marking and internal layout of those products'
298
  value: !!bool false
299
+ user_interface:
300
+ article: 'Art. 11(1); Annex IV(1)(g)'
301
+ verbose: 'Technical Documentation includes a general description of the AI project that includes a basic description of the user-interface provided to the deployer'
302
  value: !!bool false
303
+ deployer_instructions:
304
+ article: 'Art. 11(1); Annex IV(1)(h)'
305
+ verbose: 'Technical Documentation includes a general description of the AI project that includes instructions for use for the deployer, and a basic description of the user-interface provided to the deployer, where applicable'
306
+ value: !!bool false
307
+ development_steps:
308
+ article: 'Art. 11(1); Annex IV(2)(a)'
309
+ verbose: 'Technical Documentation includes a detailed description of the elements of the AI project and of the process for its development, covering the methods and steps performed for the development of the AI project, including, where relevant, recourse to pre-trained systems or tools provided by third parties and how those were used, integrated or modified by the provider'
310
+ value: !!bool false
311
+ design_specs:
312
+ article: 'Art. 11(1); Annex IV(2)(b)'
313
+ verbose: 'Technical Documentation includes a detailed description of the elements of the AI project and of the process for its development, covering the design specifications of the system, namely the general logic of the AI project and of the algorithms; the key design choices including the rationale and assumptions made, including with regard to persons or groups of persons in respect of who, the system is intended to be used; the main classification choices; what the system is designed to optimise for, and the relevance of the different parameters; the description of the expected output and output quality of the system; the decisions about any possible trade-off made regarding the technical solutions adopted to comply with the requirements set out in Chapter III, Section 2'
314
+ value: !!bool false
315
+ risk_management:
316
+ article: 'Art. 11(1); Annex IV(5)'
317
  verbose: 'Technical Documentation includes a detailed description of the risk management system in accordance with Article 9'
318
  value: !!bool false
319
+ changes:
320
+ article: 'Art. 11(1); Annex IV(6)'
321
  verbose: 'Technical Documentation includes a description of relevant changes made by the provider to the system through its lifecycle'
322
  value: !!bool false
323
+ declaration_of_conformity:
324
+ article: 'Art. 11(1); Annex IV(8)'
325
  verbose: 'Technical Documentation includes a copy of the EU declaration of conformity referred to in Article 47'
326
  value: !!bool false
327
+ post_market:
328
+ article: 'Art. 11(1); Annex IV(9)'
329
+ verbose: 'Technical Documentation includes a detailed description of the system in place to evaluate the AI project performance in the post-market phase in accordance with Article 72, including the post-market monitoring plan referred to in Article 72(3)'
330
  value: !!bool false
331
+ product:
332
+ article: 'Art. 11(2)'
333
+ verbose: 'The AI project is either not related to a product covered by the Union harmonisation legislation listed in Section A of Annex I and placed on the market or put into service or, if it is, a single set of technical documentation has been drawn up containing all the information set out in paragraph 1, as well as the information required under those legal acts'
334
  value: !!bool false
335
 
336
+
337
+ ### ypi: add Annex IV(1)(h)
338
+ ### instructions_for_use:
339
+ ### verbose: 'The Technical Documentation includes a general description of the AI project that covers instructions for use for the deployer and a basic description of the user-interface provided, where applicable.'
340
+ ### value: !!bool false
341
+
342
+ # Information related to the record keeping requirements for high-risk AI systems (Article 12)
343
+
344
  record_keeping:
345
+ logging_generally:
346
+ article: 'Article 12(1)'
347
+ verbose: 'The AI project technically allows for the automatic recording of events (logs) over the lifetime of the system'
348
+ value: !!bool false
349
+ logging_kept:
350
+ article: 'Article 12(1), Article 19(1)'
351
+ verbose: 'The automatic recording of events (logs) that are being generated over the lifetime of the system are being kept by the provider for at least sixth months'
352
  value: !!bool false
353
+ logging_risk:
354
+ article: 'Art. 12(1)(a)'
355
+ verbose: 'The AI project technically allows for the automatic recording of events (logs) over the lifetime of the system and these logging capabilities enable the recording of events relevant for identifying situations that may result in the AI project presenting a risk within the meaning of Article 79(1) or in a substantial modification'
356
  value: !!bool false
357
+ logging_post_market:
358
+ article: 'Art. 12(1)(b)'
359
+ verbose: 'The AI project technically allows for the automatic recording of events (logs) over the lifetime of the system and these logging capabilities enable the recording of events relevant for facilitating the post-market monitoring referred to in Article 72'
360
  value: !!bool false
361
+ monitoring:
362
+ article: 'Art. 12(1)(c)'
363
+ verbose: 'The AI project technically allows for the automatic recording of events (logs) over the lifetime of the system and these logging capabilities enable the recording of events relevant for monitoring the operation of AI projects referred to in Article 26(5)'
364
  value: !!bool false
365
+ recording_use:
366
+ article: 'Art. 12(2)(a)'
367
+ verbose: 'For the remote biometric identification systems AI projects referred to in point 1 (a), of Annex III, the logging capabilities shall provide, at a minimum, the recording of the period of each use of the system (start date and time and end date and time of each use)'
368
  value: !!bool false
369
+ reference_db:
370
+ article: 'Art. 12(2)(b)'
371
  verbose: 'For the remote biometric identification systems high-risk AI systems referred to in point 1 (a), of Annex III, the logging capabilities shall provide, at a minimum, the reference database against which input data has been checked by the system'
372
  value: !!bool false
373
+ input:
374
+ article: 'Art. 12(2)(c)'
375
  verbose: 'For the remote biometric identification systems high-risk AI systems referred to in point 1 (a), of Annex III, the logging capabilities shall provide, at a minimum, the input data for which the search has led to a match'
376
  value: !!bool false
377
+ identification:
378
+ article: 'Art. 12(2)(d)'
379
  verbose: 'For the remote biometric identification systems high-risk AI systems referred to in point 1 (a), of Annex III, the logging capabilities shall provide, at a minimum, the identification of the natural persons involved in the verification of the results, as referred to in Article 14(5)'
380
  value: !!bool false
381
 
382
+ # Information related to the requirements that the providers of high-risk AI systems provide certain information to deployers (Article 13)
383
+
384
  transparency_and_provision_of_information_to_deployers:
385
+ interpretability:
386
+ article: 'Art. 13(1)'
387
+ verbose: 'AI project is designed and developed to ensure operation is sufficiently transparent for deployers to interpret output and use appropriately'
388
  value: !!bool false
389
+ compliance:
390
+ article: 'Art. 13(1)'
391
+ verbose: 'AI project is designed and developed with transparency to ensure compliance with provider and deployer obligations in Section 3'
392
  value: !!bool false
393
+ instructions:
394
+ article: 'Art. 13(2)'
395
+ verbose: 'AI project is accompanied by instructions for use in appropriate digital format or otherwise, with concise, complete, correct, clear, relevant, accessible, and comprehensible information for deployers'
396
  value: !!bool false
397
+ contact_details:
398
+ article: 'Art. 13(3)(a)'
399
  verbose: 'Instructions include provider identity and contact details, and if applicable, authorized representative details'
400
  value: !!bool false
401
+ characteristics:
402
+ article: 'Art. 13(3)(b)(i)'
403
+ verbose: 'Instructions include the characteristics, capabilities, performance limitations, and intended purpose of the AI project'
404
  value: !!bool false
405
+ metrics:
406
+ article: 'Art. 13(3)(b)(ii)'
407
  verbose: 'Instructions include accuracy metrics, robustness, cybersecurity, and potential impacts on these'
408
  value: !!bool false
409
+ foreseeable:
410
+ article: 'Art. 13(3)(b)(iii)'
411
  verbose: 'Instructions include foreseeable circumstances that may risk health, safety, or fundamental rights'
412
  value: !!bool false
413
+ output:
414
+ article: 'Art. 13(3)(b)(iv)'
415
+ verbose: 'Instructions include technical capabilities to provide information relevant to explaining output'
416
+ value: !!bool false
417
+ specific_persons:
418
+ article: 'Art. 13(3)(b)(v)'
419
  verbose: 'Instructions include performance regarding specific persons or groups, if applicable'
420
  value: !!bool false
421
+ data:
422
+ article: 'Art. 13(3)(b)(vi)'
423
  verbose: 'Instructions include input data specifications and relevant training, validation, and testing dataset information'
424
  value: !!bool false
425
+ deployers:
426
+ article: 'Art. 13(3)(b)(vii)'
427
+ verbose: 'Instructions include information to enable potential deployers to interpret and appropriately use the output of the AI project'
428
  value: !!bool false
429
+ changes:
430
+ article: 'Art. 13(3)(c)'
431
+ verbose: 'Instructions include predetermined changes to AI project and its performance since initial conformity assessment'
432
  value: !!bool false
433
+ oversight_measures:
434
+ article: 'Art. 13(3)(d)'
435
  verbose: 'Instructions include human oversight measures and technical measures for output interpretation'
436
  value: !!bool false
437
+ hardware:
438
+ article: 'Art. 13(3)(e)'
439
  verbose: 'Instructions include computational and hardware resource needs, expected lifetime, and maintenance measures'
440
  value: !!bool false
441
+ logging:
442
+ article: 'Art. 13(3)(f)'
443
  verbose: 'Instructions include description of mechanisms for deployers to collect, store, and interpret logs, if applicable'
444
  value: !!bool false
445
 
446
+ # Information related to the human oversight requirements for high-risk AI systems (Article 14)
447
+
448
  human_oversight:
449
+ designed:
450
+ article: 'Art. 14(1)'
451
+ verbose: 'AI project is designed and developed so as to be effectively overseen by natural persons during use, including through the use of appropriate human-machine interface tools'
452
  value: !!bool false
453
+ minimize_risks:
454
+ article: 'Art. 14(2)'
455
+ verbose: 'Human oversight measure of the AI project aim to prevent or minimize risks to health, safety, or fundamental rights during intended use or foreseeable misuse'
456
  value: !!bool false
457
+ commensurate:
458
+ article: 'Art. 14(3)'
459
+ verbose: 'The human oversight measures of the AI project are commensurate with risks, autonomy level, and use context, ensured through provider-built measures and/or deployer-implemented measures'
460
  value: !!bool false
461
+ understandable:
462
+ article: 'Art. 14(4)'
463
+ verbose: 'AI project enables assigned persons to understand its capacities and limitations, monitor operation, and detect anomalies'
464
  value: !!bool false
465
+ automation_bias:
466
+ article: 'Art. 14(4)(a)'
467
+ verbose: 'AI project enables assigned persons to be aware of potential automation bias'
468
  value: !!bool false
469
+ interpretabilty:
470
+ article: 'Art. 14(4)(c)'
471
+ verbose: 'AI project enables assigned persons to correctly interpret its output'
472
  value: !!bool false
473
+ override:
474
+ article: 'Art. 14(4)(d)'
475
+ verbose: 'AI project enables assigned persons to decide not to use it or override its output'
476
  value: !!bool false
477
+ stop_button:
478
+ article: 'Art. 14(4)(e)'
479
+ verbose: 'AI project enables assigned persons to intervene or halt the system through a stop button or similar procedure'
480
  value: !!bool false
481
+ verification:
482
+ article: 'Art. 14(5)'
483
  verbose: 'For Annex III point 1(a) systems, actions or decisions require verification by at least two competent persons, with exceptions for law enforcement, migration, border control, or asylum'
484
  value: !!bool false
485
 
486
+ # Information related to the accuracy, robustness, and cybersecurity requirements for high-risk AI systems (Article 15)
487
+
488
  accuracy_robustness_cybersecurity:
489
+ design:
490
+ article: 'Art. 15(1)'
491
+ verbose: 'The AI project is designed and developed to achieve appropriate levels of accuracy, robustness, and cybersecurity, performing consistently throughout its lifecycle'
492
  value: !!bool false
493
+ metrics_in_instructions:
494
+ article: 'Art. 15(3)'
495
+ verbose: 'Accuracy levels and relevant metrics are declared in instructions of use that accompany the AI project'
496
  value: !!bool false
497
+ error_resiliance:
498
+ article: 'Art. 15(4)'
499
+ verbose: 'The AI project is resilient against errors, faults, or inconsistencies, with technical and organizational measures implemented'
500
  value: !!bool false
501
+ bias:
502
+ article: 'Art. 15(4)'
503
+ verbose: 'The AI project, if it continues learning after deployment, is designed to eliminate or reduce risk of biased outputs influencing future operations'
504
  value: !!bool false
505
+ unauthorized_use:
506
+ article: 'Art. 15(5)'
507
+ verbose: 'The AI project is resilient against unauthorized third-party attempts to alter use, outputs, or performance'
508
  value: !!bool false
509
+ cybersecurity_solutions:
510
+ article: 'Art. 15(5)'
511
+ verbose: 'The AI project includes cybersecurity solutions that are appropriate to the relevant circumstances and risks'
512
  value: !!bool false
513
+ ai_vulnerabilities:
514
+ article: 'Art. 15(5)'
515
+ verbose: 'The AI project includes technical solutions that address AI-specific vulnerabilities, including measures against data poisoning, model poisoning, adversarial examples, and confidentiality attacks'
516
  value: !!bool false
517
 
518
+ # Information related to the quality management system requirements for high-risk AI systems (Article 17)
519
+
520
  quality_management_system:
521
+ quality_management_system:
522
+ article: 'Art. 17(1)(a)'
523
+ verbose: 'The AI project is subject to a quality management system with strategy for regulatory compliance'
524
  value: !!bool false
525
+ design:
526
+ article: 'Art. 17(1)(b)'
527
+ verbose: 'The quality management system that the AI project was subject to includes techniques, procedures, and actions for design, control, and verification of the AI project'
528
  value: !!bool false
529
+ quality_control:
530
+ article: 'Art. 17(1)(c)'
531
+ verbose: 'The quality management system that the AI project was subject to includes techniques, procedures, and actions for development, quality control, and quality assurance'
532
  value: !!bool false
533
+ testing:
534
+ article: 'Art. 17(1)(d)'
535
+ verbose: 'The quality management system that the AI project was subject to includes examination, test, and validation procedures before, during, and after development'
536
  value: !!bool false
537
 
538
+ # Information related to the fundamental rights assessment that is required of high-risk AI systems (Article 27)
539
+
540
  fundamental_rights_assessment:
541
+ process:
542
+ article: 'Art. 27(1)(a)'
543
+ verbose: 'AI project has been subject to a fundamental rights impact assessment that includes a description of the deployer’s processes in which the AI project will be used in line with its intended purpose'
544
  value: !!bool false
545
+ time_period:
546
+ article: 'Art. 27(1)(b)'
547
+ verbose: 'AI project has been subject to a fundamental rights impact assessment that includes a description of the period of time within which, and the frequency with which, each high-risk AI project is intended to be used'
548
  value: !!bool false
549
+ persons_affected:
550
+ article: 'Art. 27(1)(c)'
551
  verbose: 'AI project has been subject to a fundamental rights impact assessment that describes the categories of natural persons and groups likely to be affected by its use in the specific context'
552
  value: !!bool false
553
+ likely_harms:
554
+ article: 'Art. 27(1)(d)'
555
  verbose: 'AI project has been subject to a fundamental rights impact assessment that describes the specific risks of harm likely to have an impact on the categories of natural persons and groups likely to be affected by its use in the specific context'
556
  value: !!bool false
557
+ human_oversight:
558
+ article: 'Art. 27(1)(e)'
559
  verbose: 'AI project has been subject to a fundamental rights impact assessment that includes a description of the implementation of human oversight measures, according to the instructions for use'
560
  value: !!bool false
561
+ risk_mitigation:
562
+ article: 'Art. 27(1)(f)'
563
  verbose: 'AI project has been subject to a fundamental rights impact assessment that describes the measures to be taken in the case of the materialisation of risks of harm likely to have an impact on the categories of natural persons and groups likely to be affected by its use in the specific context, including the arrangements for internal governance and complaint mechanisms'
564
  value: !!bool false
565
 
566
  # Information related to the Act's requirements for all AI systems
567
 
568
  transparency_obligations:
569
+ synthetic_content1:
570
+ article: 'Art. 50(1)'
571
+ verbose: 'The AI project designed and developed in such a way that the natural persons concerned are informed that they are interacting with AI'
572
+ value: !!bool false
573
+ synthetic_content2:
574
+ article: 'Art. 50(2)'
575
+ verbose: 'The outputs of the AI project are marked in a machine-readable format and detectable as artificially generated or manipulated'
576
  value: !!bool false
577
+ marking_solutions:
578
+ article: 'Art. 50(2)'
579
+ verbose: 'The outputs of the AI project are marked using technical solutions are effective, interoperable, robust and reliable as far as this is technically feasible, taking into account the specificities and limitations of various types of content, the costs of implementation and the generally acknowledged state of the art, as may be reflected in relevant technical standards'
580
  value: !!bool false
581
 
582
  # Information related to the Act's requirements for GPAI models
583
 
584
+ gpai_model_obligations:
585
+ documentation:
586
+ intended_uses:
587
+ article: 'Art. 53(1)(a); Annex XI(1)(1)(a)'
588
+ verbose: 'The provider has drawn up and will keep up-to-date technical documentation of the model that include a general description of the model includes a description of the tasks that the model is intended to perform and the type and nature of AI projects in which it can be integrated'
589
+ value: !!bool false
590
+ accepable_use_policies:
591
+ article: 'Art. 53(1)(a); Annex XI(1)(1)(b)'
592
+ verbose: 'The provider has drawn up and will keep up-to-date technical documentation of the model that include a general description of the model that includes a description of the acceptable use policies'
593
+ value: !!bool false
594
+ release_date:
595
+ article: 'Art. 53(1)(a); Annex XI(1)(1)(c)'
596
+ verbose: 'The provider has drawn up and will keep up-to-date technical documentation of the model that include a general description of the model that includes the date of release and methods of distribution'
597
+ value: !!bool false
598
+ model_architecture:
599
+ article: 'Art. 53(1)(a); Annex XI(1)(1)(d)'
600
+ verbose: 'The provider has drawn up and will keep up-to-date technical documentation of the model that include a general description of the model that includes the architecture and number of parameters'
601
+ value: !!bool true
602
+ modality:
603
+ article: 'Art. 53(1)(a); Annex XI(1)(1)(e)'
604
+ verbose: 'The provider has drawn up and will keep up-to-date technical documentation of the model that include a general description of the model that includes the modality (e.g. text, image) and format of inputs and outputs'
605
+ value: !!bool false
606
+ license:
607
+ article: 'Art. 53(1)(a); Annex XI(1)(1)(f)'
608
+ verbose: 'The provider has drawn up and will keep up-to-date technical documentation of the model that include a general description of the model that includes the license'
609
+ value: !!bool false
610
+ technical_means:
611
+ article: 'Art. 53(1)(a); Annex XI(1)(2)(a)'
612
+ verbose: 'The provider has drawn up and will keep up-to-date technical documentation of the model that include a detailed description of the model that includes the technical means (e.g. instructions of use, infrastructure, tools) required for the AI project to be integrated into other AI projects'
613
+ value: !!bool false
614
+ design_specs:
615
+ article: 'Art. 53(1)(a); Annex XI(1)(2)(b)'
616
+ verbose: 'The provider has drawn up and will keep up-to-date technical documentation of the model that include a detailed description of the model that includes the design specifications of the model and training process, including training methodologies and techniques, the key design choices including the rationale and assumptions made; what the model is designed to optimise for and the relevance of the different parameters, as applicable;'
617
+ value: !!bool false
618
+ data:
619
+ article: 'Art. 53(1)(a); Annex XI(1)(2)(c)'
620
+ verbose: 'The provider has drawn up and will keep up-to-date technical documentation of the model that include a detailed description of the model that includes information on the data used for training, testing and validation, where applicable, including the type and provenance of data and curation methodologies (e.g. cleaning, filtering, etc.), the number of data points, their scope and main characteristics; how the data was obtained and selected as well as all other measures to detect the unsuitability of data sources and methods to detect identifiable biases, where applicable'
621
+ value: !!bool false
622
+ computation:
623
+ article: 'Art. 53(1)(b); Annex XI(1)(2)(d)'
624
+ verbose: 'The provider has drawn up and will keep up-to-date technical documentation of the model that include a detailed description of the model that includes information on the computational resources used to train the model (e.g. number of floating point operations), training time, and other relevant details related to the training;'
625
+ value: !!bool false
626
+ energy:
627
+ article: 'Art. 53(1)(b); Annex XI(1)(2)(e)'
628
+ verbose: 'The provider has drawn up and will keep up-to-date technical documentation of the model that include a detailed description of the model that includes information on the known or estimated energy consumption of the model'
629
+ value: !!bool false
630
+ evaluation:
631
+ article: 'Art. 53(1)(b); Annex XI(2)(1-2)'
632
+ verbose: 'The provider has drawn up and will keep up-to-date technical documentation of the model that describes evaluation strategies, results, and adversarial testing measures'
633
+ value: !!bool false
634
+ provider_documentation:
635
+ general:
636
+ article:
637
+ verbose: 'Provider has draw up and will keep up-to-date and make available to providers of other AI projects who intend to integrate the AI project into their AI systems, documentation that enables providers of AI systems to have a good understanding of the capabilities and limitations of the general-purpose AI model and to comply with their obligations pursuant to this Regulation'
638
+ value: !!bool false
639
+ tasks:
640
+ article: 'ANNEX XII(1)(a)'
641
+ verbose: 'Provider has draw up and will keep up-to-date and make available to providers of other AI projects who intend to integrate the AI project into their AI systems, documentation that enables providers of AI systems to have a good understanding of the capabilities and limitations of the general-purpose AI model and to comply with their obligations pursuant to this Regulatio, that includes general description of the AI project including the tasks that the model is intended to perform and the type and nature of AI systems into which it can be integrated;'
642
+ value: !!bool false
643
+ acceptable_use:
644
+ article: 'ANNEX XII(1)(b)'
645
+ verbose: 'Provider has draw up and will keep up-to-date and make available to providers of other AI projects who intend to integrate the AI project into their other AI projects, documentation that enables providers of other AI projects to have a good understanding of the capabilities and limitations of the general-purpose AI model and to comply with their obligations pursuant to this Regulatio, that includes general description of the AI project including the acceptable use policies applicable;'
646
+ value: !!bool false
647
+ release_date:
648
+ article: 'ANNEX XII(1)(c)'
649
+ verbose: 'Provider has draw up and will keep up-to-date and make available to providers of other AI projects who intend to integrate the AI project into their other AI projects, documentation that enables providers of other AI projects to have a good understanding of the capabilities and limitations of the general-purpose AI model and to comply with their obligations pursuant to this Regulatio, that includes general description of the AI project including the date of release and methods of distribution;'
650
+ value: !!bool false
651
+ hardware:
652
+ article: 'ANNEX XII(1)(d)'
653
+ verbose: 'Provider has draw up and will keep up-to-date and make available to providers of other AI projects who intend to integrate the AI project into their other AI projects, documentation that enables providers of other AI projects to have a good understanding of the capabilities and limitations of the general-purpose AI model and to comply with their obligations pursuant to this Regulatio, that includes general description of the AI project including how the model interacts, or can be used to interact, with hardware or software that is not part of the model itself, where applicable;'
654
+ value: !!bool false
655
+ versions:
656
+ article: 'ANNEX XII(1)(e)'
657
+ verbose: 'Provider has draw up and will keep up-to-date and make available to providers of other AI projects who intend to integrate the AI project into their other AI projects, documentation that enables providers of other AI projects to have a good understanding of the capabilities and limitations of the general-purpose AI model and to comply with their obligations pursuant to this Regulatio, that includes general description of the AI project including the versions of relevant software related to the use of the general-purpose AI model, where applicable'
658
+ value: !!bool false
659
+ architecture:
660
+ article: 'ANNEX XII(1)(f)'
661
+ verbose: 'Provider has draw up and will keep up-to-date and make available to providers of other AI projects who intend to integrate the AI project into their other AI projects, documentation that enables providers of other AI projects to have a good understanding of the capabilities and limitations of the general-purpose AI model and to comply with their obligations pursuant to this Regulatio, that includes general description of the AI project including the architecture and number of parameters;'
662
+ value: !!bool false
663
+ modality:
664
+ article: 'ANNEX XII(1)(g)'
665
+ verbose: 'Provider has draw up and will keep up-to-date and make available to providers of other AI projects who intend to integrate the AI project into their other AI projects, documentation that enables providers of other AI projects to have a good understanding of the capabilities and limitations of the general-purpose AI model and to comply with their obligations pursuant to this Regulatio, that includes general description of the AI project including the modality (e.g. text, image) and format of inputs and outputs;'
666
+ value: !!bool false
667
+ license:
668
+ article: 'ANNEX XII(1)(h)'
669
+ verbose: 'Provider has draw up and will keep up-to-date and make available to providers of other AI projects who intend to integrate the AI project into their other AI projects, documentation that enables providers of other AI projects to have a good understanding of the capabilities and limitations of the general-purpose AI model and to comply with their obligations pursuant to this Regulatio, that includes general description of the AI project including the licence for the model.;'
670
+ value: !!bool false
671
+ other:
672
+ policy:
673
+ article: 'Art. 52(1)(c)'
674
+ verbose: 'Provider has put in place a policy to comply with Union law on copyright and related rights, and in particular to identify and comply with, including through state-of-the-art technologies, a reservation of rights expressed pursuant to Article 4(3) of Directive (EU) 2019/790;'
675
+ value: !!bool false
676
+ content:
677
+ article: 'Art. 52(1)(d)'
678
+ verbose: 'Provider has drawn up and made publicly available a sufficiently detailed summary about the content used for training of the general-purpose AI model, according to a template provided by the AI Office.'
679
+ value: !!bool false
680
+ representative:
681
+ article: 'Art. 54(1)(d)'
682
+ verbose: 'Prior to placing the AI project on the Union market, the provider, if established in a third country, has, by written mandate, appointed an authorised representative which is established in the Union.'
683
+ value: !!bool false
684
+
685
+ # Add other obligations of domestic represenatitives
686
+
687
+ # Information related to the Act's requirements for GPAI models with systematic risk
688
+
689
+ gpai_models_with_systemic_risk_obligations:
690
+ notification:
691
+ article: 'Art 52(1)'
692
+ verbose: 'Within two weeks of it being known that the AI project should be classified as a GPAI model with systemtic ris, tkhe Commission was notified and provided with the information that supports this finding'
693
+ value: false
694
+ evaluation:
695
+ article: 'Art. 55(1)(a)'
696
+ verbose: 'The AI project was subject to a model evaluation using standardized protocols'
697
+ value: !!bool false
698
+ adversarial:
699
+ article: 'Art. 55(1)(a)'
700
+ verbose: 'The AI project was subject to adversarial testing'
701
+ value: !!bool false
702
+ assessment:
703
+ article: 'Art. 55(1)(b)'
704
+ verbose: 'Any possible systemic risks at Union level that the AI project poses were assessed'
705
+ value: !!bool false
706
+ mitigation:
707
+ article: 'Art. 55(1)(b)'
708
+ verbose: 'Any possible systemic risks at Union level that the AI project poses were mitigated'
709
+ value: !!bool false
710
+ cybersecurity:
711
+ article: 'Art. 55(1)(d)'
712
+ verbose: 'Adequate cybersecurity protection for any models and infrastructures in the AI project was ensured'
713
+ value: !!bool false
714
+ documenation_evaluation:
715
+ article:
716
+ verbose: 'The provider has drawn up and will keep up-to-date technical documentation of the model that includes a detailed description of the evaluation strategies, including evaluation results, on the basis of available public evaluation protocols and tools or otherwise of other evaluation methodologies. Evaluation strategies shall include evaluation criteria, metrics and the methodology on the identification of limitations.'
717
+ value: !!bool false
718
+ documentation_adversarial:
719
+ article:
720
+ verbose: 'The provider has drawn up and will keep up-to-date technical documentation of the model that includes, where applicable, a detailed description of the measures put in place for the purpose of conducting internal and/or external adversarial testing (e.g. red teaming), model adaptations, including alignment and fine-tuning.'
721
+ value: !!bool false
722
+ documentation_architecture:
723
+ article:
724
+ verbose: 'The provider has drawn up and will keep up-to-date technical documentation of the model that includes, where applicable, a detailed description of the system architecture explaining how software components build or feed into each other and integrate into the overall processing.'
725
+ value: !!bool false
726
+
727
+ additional_provider_obligations:
728
+ ai_literacy:
729
+ article: 'Article 4'
730
+ verbose: ''
731
  value: !!bool false
732
+ contact:
733
+ article: 'Article 16 (b)'
734
+ verbose: 'It is indicated on the AI project or, if that is not possible, on its packaging or its accompanying documentation, as applicable, the name of the provider as well as their registered trade name or registered trade mark and the address at which they can be contacted;'
735
  value: !!bool false
736
+ conformity_assessment:
737
+ article: 'Article 16 (f)'
738
+ verbose: 'The provider has ensured that the AI project has undergone a conformity assessment procedure'
739
  value: !!bool false
740
+ conformity_declaration:
741
+ article: 'Article 16 (g)'
742
+ verbose: 'The provider has drawn up an EU declaration of conformity'
743
  value: !!bool false
744
+ conformity_marking:
745
+ article: 'Article 16 (h)'
746
+ verbose: 'The provider has affixed a Conformité Européenne marking to the AI project or, if that is not possible, on its packaging or its accompanying documentation, to indicate conformity with the Act'
747
  value: !!bool false
748
+ registration:
749
+ article: 'Article 16 (i)'
750
+ verbose: 'The provider or their representative have registered the AI project in the EU database for high-risk AI systems'
751
  value: !!bool false
752
+ accessibility:
753
+ article: 'Article 16 (l)'
754
+ verbose: 'The AI project complies with accessibility requirements in accordance with Directives (EU) 2016/2102 and (EU) 2019/882'
755
  value: !!bool false
756
 
757
+ # Information related to the additional transparency requirements in Article 50, if applicable
758
 
759
+ # TODO the requirements seem to be missing from the below. We also need to work on the logic, which is complex.
760
+
761
+ transparency_related:
762
+ direct_user_interaction:
763
+ article: 'Art. 50'
764
+ verbose: 'The AI project is intended to interact directly with natural persons'
765
  value: !!bool false
766
+ exception_obvious:
767
+ article: 'Art. 50'
768
+ verbose: 'When interacting with the AI project, it would be obvious from the point of view of a natural person who is reasonably well-informed, observant and circumspect, taking into account the circumstances and the context of use that they are interacting with AI'
769
+ exception_law:
770
+ article: 'Art. 50'
771
+ verbose: 'The AI project is authorised by law to detect, prevent, investigate or prosecute criminal offences, subject to appropriate safeguards for the rights and freedoms of third parties, and is not available for the public to report a criminal offence'
772
  value: !!bool false
773
+ synthetic content:
774
+ article: 'Art. 50(2)'
775
+ verbose: 'The AI project generates synthetic audio, image, video or text content'
776
+ value: !!bool false
777
+ exception_assistive:
778
+ article: 'Art. 50(2)'
779
+ verbose: 'The AI project performs an assistive function for standard editing'
780
+ value: !!bool false
781
+ exception_inubstantial:
782
+ article: 'Art. 50(2)'
783
+ verbose: 'The AI project does not substantially alter the input data provided by the deployer or the semantics thereof, or where authorised by law to detect, prevent, investigate or prosecute criminal offences.'
784
+ value: !!bool false
785
+ emotion_reconition:
786
+ article: 'Art. 50(2)'
787
+ verbose: 'The AI project is an emotion recognition system'
788
+ value: !!bool false
789
+ biometric_categorization:
790
+ article: 'Art. 50(2)'
791
+ verbose: 'The AI project is a biometric categorisation system'
792
  value: !!bool false
 
 
 
requirements.txt ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ pandas==2.2.2
2
+ PyYAML==6.0.2
3
+ streamlit==1.38.0
run.py ADDED
@@ -0,0 +1,83 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import yaml
2
+ import json
3
+ from pathlib import Path
4
+ import pandas as pd
5
+ from src.compliance_analysis import check_overall_compliance
6
+
7
+ pd.set_option('display.max_columns', None)
8
+ pd.set_option('display.max_rows', None)
9
+
10
+ files = ["./project_cc.yaml", "./data_cc.yaml", "./data_cc.yaml", "./model_cc.yaml", "./model_cc.yaml", "./model_cc.yaml"]
11
+
12
+ # def load_data(files):
13
+ # cards = []
14
+ # for file in files:
15
+ # with open(file, 'r') as f:
16
+ # if Path(f.name).name == "project_cc.yaml":
17
+ # content = f.read()
18
+ # project_cc_yaml = yaml.safe_load(content)
19
+ # data = project_cc_yaml
20
+ # card_type = "project"
21
+ # cards.append((card_type, data))
22
+ # if Path(f.name).name == "data_cc.yaml":
23
+ # data_cc_yaml = yaml.safe_load(content)
24
+ # data = data_cc_yaml
25
+ # card_type = "data"
26
+ # cards.append((card_type, data))
27
+ # if Path(f.name).name == "model_cc.yaml":
28
+ # model_cc_yaml = yaml.safe_load(content)
29
+ # data = model_cc_yaml
30
+ # card_type = "model"
31
+ # cards.append((card_type, data))
32
+ # return cards
33
+
34
+ # cards = load_data(files)
35
+
36
+ def gather_cards(files):
37
+ cards = {}
38
+ cards['project_file'] = ''
39
+ cards['data_files'] = []
40
+ cards['model_files'] = []
41
+ for file in files:
42
+ with open(file, 'r') as f:
43
+ content = yaml.safe_load(f.read())
44
+ if content['card_type'] == "project":
45
+ cards['project_file'] = f.name
46
+ if content['card_type'] == "data":
47
+ cards['data_files'].append(f.name)
48
+ if content['card_type'] == "model":
49
+ cards['model_files'].append(f.name)
50
+ return cards
51
+
52
+ cards = gather_cards(files)
53
+
54
+ # def load_data(files):
55
+ # cards = []
56
+ # for file in files:
57
+ # with open(file, 'r') as f:
58
+ # if Path(f.name).name == "project_cc.yaml":
59
+ # content = f.read()
60
+ # pcrojet_cc_yaml = yaml.safe_load(content)
61
+ # data = project_cc_yaml
62
+ # card_type = "project"
63
+ # cards.append((card_type, data))
64
+ # if Path(f.name).name == "data_cc.yaml":
65
+ # data_cc_yaml = yaml.safe_load(content)
66
+ # data = data_cc_yaml
67
+ # card_type = "data"
68
+ # cards.append((card_type, data))
69
+ # if Path(f.name).name == "model_cc.yaml":
70
+ # model_cc_yaml = yaml.safe_load(content)
71
+ # data = model_cc_yaml
72
+ # card_type = "model"
73
+ # cards.append((card_type, data))
74
+ # return cards
75
+
76
+ def compliance_analysis(cards):
77
+ results = []
78
+ dispositive_variables = check_overall_compliance(cards)
79
+ results.append(dispositive_variables)#['msg'])
80
+ return results
81
+
82
+ print(json.dumps(compliance_analysis(cards), indent=4,))
83
+
utils.py CHANGED
@@ -1,107 +1,91 @@
1
- import yaml
2
-
3
- def set_type(project_variables, project_cc_yaml):
4
 
5
- project_type = None
6
-
7
- ai_system = project_variables['ai_project_type']['ai_system']
8
- gpai_model = project_variables['ai_project_type']['gpai_model']
9
-
10
- if project_cc_yaml['ai_system']['ai_system']['value']:
11
- ai_system = True
12
- if project_cc_yaml['gpai_model']['gpai_model']['value']:
13
- gpai_model = True
14
- if ai_system and gpai_model:
15
- msg = ("Your project cannot be both an AI system and a GPAI model. Please revise your Project CC accordingly.")
16
- if ai_system == True:
17
- for key, value in project_cc_yaml['high_risk_ai_system']:
18
- if value and sum(map(bool, [project_cc_yaml['high_risk_ai_system']['filter_exception_rights'],project_cc_yaml['high_risk_ai_system']['filter_exception_narrow'],project_cc_yaml['high_risk_ai_system']['filter_exception_human'],project_cc_yaml['high_risk_ai_system']['filter_exception_deviation'], project_cc_yaml['high_risk_ai_system']['filter_exception_prep']])) < 1:
19
- project_type = "high_risk_ai_system"
20
-
21
- if gpai_model == True:
22
- if project_cc_yaml['gpai_model_systematic_risk']['evaluation'] or project_cc_yaml['gpai_model_systematic_risk']['flops']:
23
- project_type = "gpai_model_systematic_risk"
24
-
25
- return project_type
26
-
27
- def set_operator_role_and_location(project_variables, project_cc_yaml):
28
  operators = 0
29
 
30
- ai_system = project_variables['ai_project_type']['ai_system']
31
- gpai_model = project_variables['ai_project_type']['gpai_model']
32
-
33
- for var in project_variables['operator_role']:
34
- if project_cc_yaml['operator_role'][f'{var}']['value']:
35
- project_variables['operator_role'][f'{var}'] = True
36
  operators += 1
37
 
38
  if ai_system and gpai_model:
39
- msg = ("Your project cannot be both an AI system and a GPAI model. Please revise your Project CC accordingly.")
40
  if operators != 1:
41
- msg = ("Please specify exactly one operator role.")
42
 
43
- return project_variables
44
 
45
- def set_eu_market_status(project_variables, project_cc_yaml):
46
 
47
  if project_cc_yaml['eu_market_status']['placed_on_market']['value']:
48
- project_variables['eu_market_status']["placed_on_market"] = True
49
  if project_cc_yaml['eu_market_status']['put_into_service']['value']:
50
- project_variables['eu_market_status']["put_into_service"] = True
51
 
52
- if project_cc_yaml['operator_role']['output_used']['value']:
53
- project_variables['operator_role']["output_used"] = True
54
 
55
- return project_variables
56
 
 
57
 
58
- def check_within_scope(project_cc_yaml):
59
- if not check_excepted(project_cc_yaml):
60
- if provider and ((ai_system and (placed_on_market or put_into_service)) or (gpai_model and placed_on_market)): # Article 2.1(a)
61
- return True
62
- if deployer and eu_located: # Article 2.1(b)
63
- return True
64
- if (provider or deployer) and (ai_system and eu_located and output_used): # Article 2.1(c)
65
- return True
66
- if (importer or distributor) and ai_system: # Article 2.1(d)
 
 
 
67
  return True
68
- if product_manufacturer and ai_system and (placed_on_market or put_into_service): # Article 2.1(e)
69
  return True
70
  else:
 
71
  return False
72
 
73
- def check_excepted(project_cc_yaml):
74
- if project_cc_yaml['excepted']['scientific'] or project_cc_yaml['excepted']['pre_market'] or (ai_system and project_cc_yaml['excepted']['open_source_ai_system']) or (gpai_model and project_cc_yaml['excepted']['open_source_gpai_system']):
 
 
 
 
 
 
 
 
 
75
  return True
76
  else:
77
- return False
78
-
79
- # def check_prohibited (project_cc_yaml):
80
- # if ai_system:
81
- # for key in project_cc_yaml['prohibited_practice']['ai_system']:
82
- # if key[value]:
83
- # print("You are engaged in a prohibited practice and thus the project is non-compliant.")
84
- # return True
85
- # if project_cc_yaml['prohibited_practice']['biometric']['categorization']:
86
- # print("You are engaged in a prohibited practice and thus the project is non-compliant.")
87
- # return True
88
- # if project_cc_yaml['prohibited_practice']['biometric']['real_time'] and sum(map(bool, [project_cc_yaml['prohibited_practice']['biometric']['real_time_exception_victim'],project_cc['prohibited_practice']['biometric']['real_time_exception_threat'], project_cc_yaml['prohibited_practice']['biometric']['real_time_exception_investigation']])) == 0:
89
- # print("You are engaged in a prohibited practice and thus the project is non-compliant.")
90
- # return True
91
- # else:
92
- # print("You are not engaged in any prohibited practices.")
93
- # return False
94
 
95
- # def check_all_true(file_path):
96
- # data = yaml.safe_load(file_path)
97
 
98
- # # Iterate through top-level keys
99
- # for top_key, top_value in data.items():
100
- # if isinstance(top_value, dict):
101
- # # Iterate through second-level keys
102
- # for second_key, second_value in top_value.items():
103
- # if not second_value:
104
- # print("You are non-compliant with the Act")
105
- # break
106
- # else:
107
- # print("No problems here")
 
 
 
 
 
 
 
 
 
 
 
1
+ # We could probably combine set_type, set_operator_role_and_location, and set_eu_market_status into a single function that sets all project_variables
2
+ # We will have to add a couple other things to that function as well
 
3
 
4
+ def set_operator_role_and_location(dispositive_variables, project_cc_yaml):
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
5
  operators = 0
6
 
7
+ ai_system = project_cc_yaml['ai_system']['ai_system']['value']
8
+ gpai_model = project_cc_yaml['gpai_model']['gpai_model']['value']
9
+
10
+ for var in project_cc_yaml['operator_details']:
11
+ if project_cc_yaml['operator_details'][f'{var}']['value'] == True:
12
+ dispositive_variables['operator_details'][f'{var}'] = True
13
  operators += 1
14
 
15
  if ai_system and gpai_model:
16
+ dispositive_variables['msg'].append("Your project cannot be both an AI system and a GPAI model. Please revise your Project CC accordingly.")
17
  if operators != 1:
18
+ dispositive_variables['msg'].append("Please specify exactly one operator role.")
19
 
20
+ return dispositive_variables
21
 
22
+ def set_eu_market_status(dispositive_variables, project_cc_yaml):
23
 
24
  if project_cc_yaml['eu_market_status']['placed_on_market']['value']:
25
+ dispositive_variables['eu_market_status']["placed_on_market"] = True
26
  if project_cc_yaml['eu_market_status']['put_into_service']['value']:
27
+ dispositive_variables['eu_market_status']["put_into_service"] = True
28
 
29
+ if project_cc_yaml['operator_details']['output_used']['value']:
30
+ dispositive_variables['operator_details']["output_used"] = True
31
 
32
+ return dispositive_variables
33
 
34
+ def check_within_scope_act(dispositive_variables, project_cc_yaml):
35
 
36
+ # Check that the project is within the scope of the Act
37
+
38
+ ai_system = project_cc_yaml['ai_system']['ai_system']
39
+ gpai_model = project_cc_yaml['gpai_model']['gpai_model']
40
+ placed_on_market = project_cc_yaml['eu_market_status']['placed_on_market']
41
+ put_into_service = project_cc_yaml['eu_market_status']['put_into_service']
42
+
43
+ eu_located = project_cc_yaml['operator_details']['eu_located']
44
+ output_used = project_cc_yaml['operator_details']['output_used']
45
+
46
+ if not check_excepted(dispositive_variables, project_cc_yaml):
47
+ if ((ai_system and (placed_on_market or put_into_service)) or (gpai_model and placed_on_market)): # Article 2.1(a)
48
  return True
49
+ if (ai_system and eu_located and output_used): # Article 2.1(c)
50
  return True
51
  else:
52
+ print("Your project is not within the scope of the Act and its requirements.")
53
  return False
54
 
55
+ def check_excepted(dispositive_variables, project_cc_yaml):
56
+
57
+ if (project_cc_yaml['excepted']['scientific']['value'] or
58
+ project_cc_yaml['excepted']['pre_market']['value'] or
59
+ (project_cc_yaml['ai_system']['ai_system']['value'] == True and
60
+ project_cc_yaml['excepted']['open_source_ai_system']['value'] == True) or
61
+ (project_cc_yaml['gpai_model']['gpai_model']['value'] == True and
62
+ project_cc_yaml['excepted']['open_source_gpai_system']['value'] == True and
63
+ dispositive_variables['ai_project_type']['gpai_model_systemic_risk'] == False)
64
+ ):
65
+ dispositive_variables['msg'].append("Your project falls into one of the exemptions from the Act.")
66
  return True
67
  else:
68
+ return False
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
69
 
70
+ def check_prohibited(project_cc_yaml):
 
71
 
72
+ ai_system = project_cc_yaml['ai_system']['ai_system']['value']
73
+
74
+ if ai_system:
75
+ for key in project_cc_yaml['prohibited_practice']['ai_system']:
76
+ if project_cc_yaml['prohibited_practice']['ai_system'][f'{key}']['value'] == True:
77
+ print("You are engaged in a prohibited practice and thus the project is non-compliant.")
78
+ return True
79
+ if project_cc_yaml['prohibited_practice']['biometric']['categorization'] == True:
80
+ print("You are engaged in a prohibited practice and thus the project is non-compliant.")
81
+ return True
82
+ if project_cc_yaml['prohibited_practice']['biometric']['real_time'] and \
83
+ sum(map(bool, [project_cc_yaml['prohibited_practice']['biometric']['real_time_exception_victim'],
84
+ project_cc_yaml['prohibited_practice']['biometric']['real_time_exception_threat'],
85
+ project_cc_yaml['prohibited_practice']['biometric']['real_time_exception_investigation']])) == 0:
86
+ print("You are engaged in a prohibited practice and thus the project is non-compliant.")
87
+ return True
88
+ else:
89
+ print("You are not engaged in any prohibited practices.")
90
+ return False
91
+