@ansvar/eu-regulations-mcp 1.0.0 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (58) hide show
  1. package/README.md +60 -22
  2. package/data/regulations.db +0 -0
  3. package/dist/database/sqlite-adapter.d.ts +2 -2
  4. package/dist/database/sqlite-adapter.d.ts.map +1 -1
  5. package/dist/database/sqlite-adapter.js.map +1 -1
  6. package/dist/http-server.js +27 -5
  7. package/dist/http-server.js.map +1 -1
  8. package/dist/index.js +27 -4
  9. package/dist/index.js.map +1 -1
  10. package/dist/tools/about.d.ts +40 -0
  11. package/dist/tools/about.d.ts.map +1 -0
  12. package/dist/tools/about.js +61 -0
  13. package/dist/tools/about.js.map +1 -0
  14. package/dist/tools/list.d.ts +7 -0
  15. package/dist/tools/list.d.ts.map +1 -1
  16. package/dist/tools/list.js +73 -8
  17. package/dist/tools/list.js.map +1 -1
  18. package/dist/tools/registry.d.ts +11 -1
  19. package/dist/tools/registry.d.ts.map +1 -1
  20. package/dist/tools/registry.js +56 -4
  21. package/dist/tools/registry.js.map +1 -1
  22. package/dist/worker.d.ts.map +1 -1
  23. package/dist/worker.js +17 -5
  24. package/dist/worker.js.map +1 -1
  25. package/package.json +6 -5
  26. package/scripts/add-cross-references.sql +0 -200
  27. package/scripts/analyze-survey-responses.ts +0 -285
  28. package/scripts/build-db.ts +0 -421
  29. package/scripts/bulk-reingest-all.ts +0 -331
  30. package/scripts/check-updates.ts +0 -294
  31. package/scripts/extract-eprivacy-recitals.ts +0 -98
  32. package/scripts/ingest-eurlex-browser.ts +0 -113
  33. package/scripts/ingest-eurlex.ts +0 -349
  34. package/scripts/ingest-unece.ts +0 -382
  35. package/scripts/migrate-postgres.ts +0 -445
  36. package/scripts/migrate-to-postgres.ts +0 -353
  37. package/scripts/reingest-all-with-recitals.sh +0 -81
  38. package/scripts/sync-versions.ts +0 -206
  39. package/scripts/test-cross-refs.js +0 -26
  40. package/scripts/test-postgres-adapter.ts +0 -146
  41. package/scripts/update-dora-rts-metadata.ts +0 -112
  42. package/src/database/postgres-adapter.ts +0 -84
  43. package/src/database/sqlite-adapter.ts +0 -44
  44. package/src/database/types.ts +0 -10
  45. package/src/http-server.ts +0 -149
  46. package/src/index.ts +0 -61
  47. package/src/middleware/rate-limit.ts +0 -104
  48. package/src/tools/applicability.ts +0 -167
  49. package/src/tools/article.ts +0 -81
  50. package/src/tools/compare.ts +0 -217
  51. package/src/tools/definitions.ts +0 -49
  52. package/src/tools/evidence.ts +0 -84
  53. package/src/tools/list.ts +0 -124
  54. package/src/tools/map.ts +0 -86
  55. package/src/tools/recital.ts +0 -60
  56. package/src/tools/registry.ts +0 -311
  57. package/src/tools/search.ts +0 -297
  58. package/src/worker.ts +0 -708
@@ -8,6 +8,27 @@ import { mapControls } from './map.js';
8
8
  import { checkApplicability } from './applicability.js';
9
9
  import { getDefinitions } from './definitions.js';
10
10
  import { getEvidenceRequirements } from './evidence.js';
11
+ import { getAbout } from './about.js';
12
+ const READ_ONLY_ANNOTATIONS = {
13
+ readOnlyHint: true,
14
+ destructiveHint: false,
15
+ };
16
+ function toTitle(name) {
17
+ return name
18
+ .split('_')
19
+ .map(part => part.charAt(0).toUpperCase() + part.slice(1))
20
+ .join(' ');
21
+ }
22
+ function annotateTools(tools) {
23
+ return tools.map((tool) => ({
24
+ ...tool,
25
+ annotations: tool.annotations ?? {
26
+ title: toTitle(tool.name),
27
+ readOnlyHint: READ_ONLY_ANNOTATIONS.readOnlyHint,
28
+ destructiveHint: READ_ONLY_ANNOTATIONS.destructiveHint,
29
+ },
30
+ }));
31
+ }
11
32
  /**
12
33
  * Centralized registry of all MCP tools.
13
34
  * Single source of truth for both stdio and HTTP servers.
@@ -94,7 +115,7 @@ export const TOOLS = [
94
115
  },
95
116
  {
96
117
  name: 'list_regulations',
97
- description: 'List available regulations and their structure. Without parameters, lists all regulations. With a regulation specified, shows chapters and articles.',
118
+ description: 'List available regulations, optionally filtered by category. Without parameters, lists all regulations grouped by category. With a regulation specified, shows chapters and articles.',
98
119
  inputSchema: {
99
120
  type: 'object',
100
121
  properties: {
@@ -102,6 +123,10 @@ export const TOOLS = [
102
123
  type: 'string',
103
124
  description: 'Optional: specific regulation to get detailed structure for',
104
125
  },
126
+ category: {
127
+ type: 'string',
128
+ description: 'Optional: filter by category (e.g., "cybersecurity", "financial_services", "data_protection", "ai_and_technology", "product_safety", "sustainability", "healthcare", "critical_infrastructure", "digital_services", "automotive")',
129
+ },
105
130
  },
106
131
  },
107
132
  handler: async (db, args) => {
@@ -245,23 +270,50 @@ export const TOOLS = [
245
270
  },
246
271
  },
247
272
  ];
273
+ /**
274
+ * Create the about tool with captured startup context.
275
+ * Uses a closure so the handler signature stays compatible with ToolDefinition.
276
+ */
277
+ function createAboutTool(context) {
278
+ return {
279
+ name: 'about',
280
+ description: 'Server metadata, dataset statistics, freshness, and provenance. ' +
281
+ 'Call this to verify data coverage, currency, and content basis before relying on results.',
282
+ inputSchema: {
283
+ type: 'object',
284
+ properties: {},
285
+ required: [],
286
+ },
287
+ handler: async (db) => {
288
+ return await getAbout(db, context);
289
+ },
290
+ };
291
+ }
292
+ /**
293
+ * Build the full tools list including context-dependent tools.
294
+ */
295
+ export function buildTools(context) {
296
+ return [...TOOLS, createAboutTool(context)];
297
+ }
248
298
  /**
249
299
  * Register all tools with an MCP server instance.
250
300
  * Use this for both stdio and HTTP servers to ensure parity.
251
301
  */
252
- export function registerTools(server, db) {
302
+ export function registerTools(server, db, context) {
303
+ const allTools = annotateTools(context ? buildTools(context) : TOOLS);
253
304
  // List available tools
254
305
  server.setRequestHandler(ListToolsRequestSchema, async () => ({
255
- tools: TOOLS.map(tool => ({
306
+ tools: allTools.map(tool => ({
256
307
  name: tool.name,
257
308
  description: tool.description,
258
309
  inputSchema: tool.inputSchema,
310
+ annotations: tool.annotations,
259
311
  })),
260
312
  }));
261
313
  // Handle tool calls
262
314
  server.setRequestHandler(CallToolRequestSchema, async (request) => {
263
315
  const { name, arguments: args } = request.params;
264
- const tool = TOOLS.find(t => t.name === name);
316
+ const tool = allTools.find(t => t.name === name);
265
317
  if (!tool) {
266
318
  return {
267
319
  content: [{ type: 'text', text: `Unknown tool: ${name}` }],
@@ -1 +1 @@
1
- {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/tools/registry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/tools/registry.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"worker.d.ts","sourceRoot":"","sources":["../src/worker.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AAoBH,UAAU,GAAG;IACX,YAAY,EAAE,MAAM,CAAC;IACrB,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAoeD;;GAEG;;mBAEoB,OAAO,OAAO,GAAG,GAAG,OAAO,CAAC,QAAQ,CAAC;IA2J1D;;OAEG;;;AA9JL,wBAoKE"}
1
+ {"version":3,"file":"worker.d.ts","sourceRoot":"","sources":["../src/worker.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AA6BH,UAAU,GAAG;IACX,YAAY,EAAE,MAAM,CAAC;IACrB,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAweD;;GAEG;;mBAEoB,OAAO,OAAO,GAAG,GAAG,OAAO,CAAC,QAAQ,CAAC;IA2J1D;;OAEG;;;AA9JL,wBAoKE"}
package/dist/worker.js CHANGED
@@ -33,7 +33,7 @@
33
33
  import { createPostgresAdapter } from './database/postgres-adapter.js';
34
34
  import { RateLimiter } from './middleware/rate-limit.js';
35
35
  // Import tool registry (single source of truth for tools)
36
- import { TOOLS } from './tools/registry.js';
36
+ import { buildTools } from './tools/registry.js';
37
37
  // Import tool handlers
38
38
  import { searchRegulations } from './tools/search.js';
39
39
  import { getArticle } from './tools/article.js';
@@ -44,6 +44,14 @@ import { mapControls } from './tools/map.js';
44
44
  import { checkApplicability } from './tools/applicability.js';
45
45
  import { getDefinitions } from './tools/definitions.js';
46
46
  import { getEvidenceRequirements } from './tools/evidence.js';
47
+ import { getAbout } from './tools/about.js';
48
+ // Worker about context (no filesystem access — uses static values)
49
+ const WORKER_VERSION = '1.0.0';
50
+ const WORKER_ABOUT_CONTEXT = {
51
+ version: WORKER_VERSION,
52
+ fingerprint: 'postgres',
53
+ dbBuilt: 'live',
54
+ };
47
55
  // Global instances (initialized on first request)
48
56
  let db = null;
49
57
  let rateLimiter = null;
@@ -139,13 +147,14 @@ function handleListTools(origin) {
139
147
  if (headers instanceof Response) {
140
148
  return headers;
141
149
  }
150
+ const allTools = buildTools(WORKER_ABOUT_CONTEXT);
142
151
  return new Response(JSON.stringify({
143
- tools: TOOLS.map(tool => ({
152
+ tools: allTools.map(tool => ({
144
153
  name: tool.name,
145
154
  description: tool.description,
146
155
  inputSchema: tool.inputSchema,
147
156
  })),
148
- count: TOOLS.length,
157
+ count: allTools.length,
149
158
  timestamp: new Date().toISOString(),
150
159
  }), {
151
160
  status: 200,
@@ -172,7 +181,7 @@ async function handleHealthCheck(env, origin) {
172
181
  return new Response(JSON.stringify({
173
182
  status: 'healthy',
174
183
  server: 'eu-regulations-mcp',
175
- version: '0.6.5',
184
+ version: WORKER_VERSION,
176
185
  database: 'connected',
177
186
  timestamp: new Date().toISOString(),
178
187
  }), {
@@ -357,6 +366,9 @@ async function handleToolCall(request, env) {
357
366
  case 'get_evidence_requirements':
358
367
  result = await getEvidenceRequirements(database, body.params);
359
368
  break;
369
+ case 'about':
370
+ result = await getAbout(database, WORKER_ABOUT_CONTEXT);
371
+ break;
360
372
  default:
361
373
  const baseHeaders = {
362
374
  'Content-Type': 'application/json',
@@ -495,7 +507,7 @@ export default {
495
507
  }
496
508
  return new Response(JSON.stringify({
497
509
  server: 'eu-regulations-mcp',
498
- version: '0.6.5',
510
+ version: WORKER_VERSION,
499
511
  description: 'HTTP API for EU cybersecurity regulations (ChatGPT/Copilot compatible)',
500
512
  endpoints: {
501
513
  '/': 'API documentation (this page)',
@@ -1 +1 @@
1
- {"version":3,"file":"worker.js","sourceRoot":"","sources":["../src/worker.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"worker.js","sourceRoot":"","sources":["../src/worker.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ansvar/eu-regulations-mcp",
3
- "version": "1.0.0",
3
+ "version": "1.1.0",
4
4
  "mcpName": "eu.ansvar/eu-regulations-mcp",
5
5
  "description": "The first open-source MCP server for European cybersecurity regulations. Query DORA, NIS2, GDPR, EU AI Act, and more directly from Claude.",
6
6
  "main": "dist/index.js",
@@ -43,9 +43,7 @@
43
43
  },
44
44
  "files": [
45
45
  "dist",
46
- "data",
47
- "scripts",
48
- "src"
46
+ "data"
49
47
  ],
50
48
  "devDependencies": {
51
49
  "@types/better-sqlite3": "^7.6.13",
@@ -54,6 +52,8 @@
54
52
  "@types/jsdom": "^27.0.0",
55
53
  "@types/node": "^25.0.10",
56
54
  "@types/pg": "^8.11.10",
55
+ "@vercel/node": "^5.6.3",
56
+ "better-sqlite3": "^12.6.2",
57
57
  "glob": "^13.0.0",
58
58
  "puppeteer": "^24.36.0",
59
59
  "tsx": "^4.21.0",
@@ -62,8 +62,9 @@
62
62
  "wrangler": "^4.61.0"
63
63
  },
64
64
  "dependencies": {
65
+ "@ansvar/mcp-sqlite": "^1.0.3",
65
66
  "@modelcontextprotocol/sdk": "^1.26.0",
66
- "better-sqlite3": "^12.6.2",
67
+ "ajv": "^8.18.0",
67
68
  "jsdom": "^27.4.0",
68
69
  "pg": "^8.13.2"
69
70
  },
@@ -1,200 +0,0 @@
1
- -- Cross-references for EU Regulations MCP
2
- -- Adds explicit article-to-article links for related requirements
3
-
4
- -- ============================================================================
5
- -- 1. INCIDENT MANAGEMENT & BREACH NOTIFICATION
6
- -- ============================================================================
7
-
8
- -- DORA Article 17: ICT-related incident management process
9
- -- Links to: NIS2 Art 23 (incident reporting), GDPR Art 33 (breach notification)
10
- UPDATE articles
11
- SET cross_references = '["NIS2:23", "GDPR:33", "DORA:18", "DORA:19"]'
12
- WHERE regulation = 'DORA' AND article_number = '17';
13
-
14
- -- DORA Article 18: Classification of ICT-related incidents
15
- -- Links to: DORA Art 17 (incident process), DORA Art 19 (reporting)
16
- UPDATE articles
17
- SET cross_references = '["DORA:17", "DORA:19", "NIS2:23"]'
18
- WHERE regulation = 'DORA' AND article_number = '18';
19
-
20
- -- DORA Article 19: Reporting of major ICT-related incidents
21
- -- Links to: NIS2 Art 23 (reporting timelines), GDPR Art 33 (breach notification)
22
- UPDATE articles
23
- SET cross_references = '["NIS2:23", "GDPR:33", "DORA:17", "DORA:18"]'
24
- WHERE regulation = 'DORA' AND article_number = '19';
25
-
26
- -- NIS2 Article 23: Reporting obligations
27
- -- Links to: DORA Art 19 (incident reporting), GDPR Art 33 (personal data breaches)
28
- UPDATE articles
29
- SET cross_references = '["DORA:19", "GDPR:33", "NIS2:21"]'
30
- WHERE regulation = 'NIS2' AND article_number = '23';
31
-
32
- -- GDPR Article 33: Notification of a personal data breach
33
- -- Links to: GDPR Art 34 (notify subjects), DORA Art 19, NIS2 Art 23
34
- UPDATE articles
35
- SET cross_references = '["GDPR:34", "DORA:19", "NIS2:23"]'
36
- WHERE regulation = 'GDPR' AND article_number = '33';
37
-
38
- -- GDPR Article 34: Communication of breach to data subject
39
- -- Links to: GDPR Art 33 (notify authority)
40
- UPDATE articles
41
- SET cross_references = '["GDPR:33", "DORA:19"]'
42
- WHERE regulation = 'GDPR' AND article_number = '34';
43
-
44
- -- ============================================================================
45
- -- 2. RISK MANAGEMENT FRAMEWORKS
46
- -- ============================================================================
47
-
48
- -- DORA Article 6: ICT risk management framework
49
- -- Links to: NIS2 Art 21 (cybersecurity risk management), DORA Art 8 (identification)
50
- UPDATE articles
51
- SET cross_references = '["NIS2:21", "DORA:8", "DORA:9", "DORA:11"]'
52
- WHERE regulation = 'DORA' AND article_number = '6';
53
-
54
- -- NIS2 Article 21: Cybersecurity risk-management measures
55
- -- Links to: DORA Art 6 (ICT risk framework), NIS2 Art 23 (incident reporting)
56
- UPDATE articles
57
- SET cross_references = '["DORA:6", "NIS2:23", "CRA:10"]'
58
- WHERE regulation = 'NIS2' AND article_number = '21';
59
-
60
- -- GDPR Article 32: Security of processing
61
- -- Links to: DORA Art 9 (protection), NIS2 Art 21 (risk management)
62
- UPDATE articles
63
- SET cross_references = '["GDPR:33", "DORA:9", "NIS2:21"]'
64
- WHERE regulation = 'GDPR' AND article_number = '32';
65
-
66
- -- ============================================================================
67
- -- 3. THIRD-PARTY / SUPPLY CHAIN RISK
68
- -- ============================================================================
69
-
70
- -- DORA Article 28: General principles on ICT third-party risk
71
- -- Links to: DORA Art 30 (contractual arrangements), NIS2 Art 21 (supply chain)
72
- UPDATE articles
73
- SET cross_references = '["DORA:30", "DORA:31", "NIS2:21"]'
74
- WHERE regulation = 'DORA' AND article_number = '28';
75
-
76
- -- DORA Article 30: Key contractual provisions
77
- -- Links to: DORA Art 28 (general principles), DORA Art 31 (critical providers)
78
- UPDATE articles
79
- SET cross_references = '["DORA:28", "DORA:31", "GDPR:28"]'
80
- WHERE regulation = 'DORA' AND article_number = '30';
81
-
82
- -- GDPR Article 28: Processor obligations
83
- -- Links to: DORA Art 30 (ICT third-party contracts), GDPR Art 32 (security)
84
- UPDATE articles
85
- SET cross_references = '["GDPR:32", "DORA:30", "GDPR:5"]'
86
- WHERE regulation = 'GDPR' AND article_number = '28';
87
-
88
- -- ============================================================================
89
- -- 4. AI SYSTEMS & DATA PROTECTION
90
- -- ============================================================================
91
-
92
- -- AI Act Article 10: Data and data governance
93
- -- Links to: GDPR Art 5 (data principles), AI Act Art 9 (risk management)
94
- UPDATE articles
95
- SET cross_references = '["GDPR:5", "GDPR:25", "AI_ACT:9"]'
96
- WHERE regulation = 'AI_ACT' AND article_number = '10';
97
-
98
- -- GDPR Article 22: Automated individual decision-making
99
- -- Links to: AI Act Art 5 (prohibited practices), GDPR Art 13-14 (information)
100
- UPDATE articles
101
- SET cross_references = '["AI_ACT:5", "GDPR:13", "GDPR:14"]'
102
- WHERE regulation = 'GDPR' AND article_number = '22';
103
-
104
- -- ============================================================================
105
- -- 5. IDENTITY & TRUST SERVICES
106
- -- ============================================================================
107
-
108
- -- eIDAS2 Article 19: Security requirements for trust service providers
109
- -- Links to: GDPR Art 32 (security of processing), NIS2 Art 21 (risk management)
110
- UPDATE articles
111
- SET cross_references = '["GDPR:32", "NIS2:21", "EIDAS2:24"]'
112
- WHERE regulation = 'EIDAS2' AND article_number = '19';
113
-
114
- -- ============================================================================
115
- -- 6. PRODUCT SECURITY (CRA, MDR, IVDR)
116
- -- ============================================================================
117
-
118
- -- CRA Article 10: Cybersecurity requirements
119
- -- Links to: CRA Art 14 (vulnerability reporting), NIS2 Art 21 (risk management)
120
- UPDATE articles
121
- SET cross_references = '["CRA:14", "NIS2:21", "CRA:11"]'
122
- WHERE regulation = 'CRA' AND article_number = '10';
123
-
124
- -- CRA Article 14: Notification of exploited vulnerabilities
125
- -- Links to: CRA Art 10 (security requirements), DORA Art 19 (incident reporting)
126
- UPDATE articles
127
- SET cross_references = '["CRA:10", "DORA:19", "NIS2:23"]'
128
- WHERE regulation = 'CRA' AND article_number = '14';
129
-
130
- -- MDR Article 87: Reporting of serious incidents
131
- -- Links to: IVDR Art 82 (same for IVDs), GDPR Art 33 (if personal data involved)
132
- UPDATE articles
133
- SET cross_references = '["IVDR:82", "GDPR:33", "MDR:88"]'
134
- WHERE regulation = 'MDR' AND article_number = '87';
135
-
136
- -- IVDR Article 82: Reporting of serious incidents
137
- -- Links to: MDR Art 87 (same for medical devices), GDPR Art 33
138
- UPDATE articles
139
- SET cross_references = '["MDR:87", "GDPR:33", "IVDR:83"]'
140
- WHERE regulation = 'IVDR' AND article_number = '82';
141
-
142
- -- ============================================================================
143
- -- 7. HEALTHCARE DATA (EHDS)
144
- -- ============================================================================
145
-
146
- -- EHDS Article 44: Handling of serious incidents
147
- -- Links to: GDPR Art 33 (breach notification), NIS2 Art 23 (incident reporting)
148
- UPDATE articles
149
- SET cross_references = '["GDPR:33", "NIS2:23", "MDR:87"]'
150
- WHERE regulation = 'EHDS' AND article_number = '44';
151
-
152
- -- ============================================================================
153
- -- 8. FINANCIAL SERVICES (PSD2, MiCA, MiFID)
154
- -- ============================================================================
155
-
156
- -- PSD2 Article 96: Incident reporting
157
- -- Links to: DORA Art 19 (major incidents), GDPR Art 33 (personal data breaches)
158
- UPDATE articles
159
- SET cross_references = '["DORA:19", "GDPR:33", "PSD2:95"]'
160
- WHERE regulation = 'PSD2' AND article_number = '96';
161
-
162
- -- MiCA Article 73: Incident reporting for crypto-asset service providers
163
- -- Links to: DORA Art 19 (incident reporting), GDPR Art 33
164
- UPDATE articles
165
- SET cross_references = '["DORA:19", "GDPR:33", "MICA:72"]'
166
- WHERE regulation = 'MICA' AND article_number = '73';
167
-
168
- -- ============================================================================
169
- -- 9. AUTOMOTIVE (UN R155/R156)
170
- -- ============================================================================
171
-
172
- -- UN_R155 Article 7: Cybersecurity Management System (CSMS)
173
- -- Links to: CRA Art 10 (product cybersecurity), UN_R156 Art 7 (software updates)
174
- UPDATE articles
175
- SET cross_references = '["CRA:10", "UN_R156:7", "NIS2:21"]'
176
- WHERE regulation = 'UN_R155' AND article_number = '7';
177
-
178
- -- UN_R156 Article 7: Software Update Management System (SUMS)
179
- -- Links to: UN_R155 Art 7 (CSMS), CRA Art 10 (security updates)
180
- UPDATE articles
181
- SET cross_references = '["UN_R155:7", "CRA:10", "CRA:11"]'
182
- WHERE regulation = 'UN_R156' AND article_number = '7';
183
-
184
- -- ============================================================================
185
- -- 10. CRITICAL INFRASTRUCTURE
186
- -- ============================================================================
187
-
188
- -- CER Article 15: Incident notification
189
- -- Links to: NIS2 Art 23 (incident reporting), DORA Art 19 (for financial entities)
190
- UPDATE articles
191
- SET cross_references = '["NIS2:23", "DORA:19", "CER:11"]'
192
- WHERE regulation = 'CER' AND article_number = '15';
193
-
194
- -- ============================================================================
195
- -- VERIFICATION QUERY
196
- -- ============================================================================
197
- -- SELECT regulation, article_number, title, cross_references
198
- -- FROM articles
199
- -- WHERE cross_references IS NOT NULL
200
- -- ORDER BY regulation, CAST(article_number AS INTEGER);