[FEAT] Epic C / C5.1 — Modulo Stakeholder: registro + matrice di Mendelow (mig.051)
Registro dedicato degli stakeholder (tabella `stakeholders`, NON una colonna su suppliers: gli interni non sono fornitori; gli esterni si COLLEGANO opzionalmente a un supplier esistente senza duplicare il dato). - mig.051: cfg_stakeholder_types (30 di sistema Stak.01-30 + org-added da Stak.31), cfg_stakeholder_quadrants (4, range corretti: Q4 potere 0-2), stakeholders, stakeholder_procedures (m2m -> policies). Seeder idempotente seed_stakeholders.php. - StakeholderController: list/create/update/delete + types/addType + quadrants + pickers. Quadrante CALCOLATO a read-time dai range config. Anti-IDOR su org_role/supplier/ policy/tipo; coerenza kind (interni->organigramma, esterni->fornitore); punteggi 0-5. - api.js: metodi stk*. stakeholders.html riscritta: registro + matrice di Mendelow in SVG dependency-free + modali (stakeholder, nuovo tipo). Voce sidebar V2 (common-bi.js). - Help aggiornato; cache-buster ?v=20260626 su tutte le pagine; version 1.19.0; sw cache v1.19.0. Ancoraggio GV.SC-02 (obbligo, art. 24 D.Lgs. 138/2024). La matrice di Mendelow e' etichettata come BUONA PRASSI, non obbligo NIS2 (regola fonti-certe). Additivo. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 4.8
parent
419162594d
commit
c782aa54fa
@@ -295,6 +295,20 @@ class NIS2API {
|
||||
// ═══════════════════════════════════════════════════════════════════
|
||||
stakeholderMap() { return this._acn(this.get('/supply-chain/stakeholder-map')); }
|
||||
|
||||
// ═══════════════════════════════════════════════════════════════════
|
||||
// Registro Stakeholder + matrice di Mendelow (Epic C / C5). Tutti _acn.
|
||||
// Tipo configurabile (Stak.01-30 + org-added), potere/interesse 0-5,
|
||||
// link organigramma (interni) / procedure (m2m). Quadrante calcolato lato API.
|
||||
// ═══════════════════════════════════════════════════════════════════
|
||||
stkList() { return this._acn(this.get('/stakeholders/list')); }
|
||||
stkTypes() { return this._acn(this.get('/stakeholders/types')); }
|
||||
stkAddType(d) { return this._acn(this.post('/stakeholders/types', d || {})); }
|
||||
stkQuadrants() { return this._acn(this.get('/stakeholders/quadrants')); }
|
||||
stkPickers() { return this._acn(this.get('/stakeholders/pickers')); }
|
||||
stkCreate(d) { return this._acn(this.post('/stakeholders/create', d || {})); }
|
||||
stkUpdate(id, d) { return this._acn(this.put(`/stakeholders/${id}`, d || {})); }
|
||||
stkDelete(id) { return this._acn(this.del(`/stakeholders/${id}`)); }
|
||||
|
||||
// ═══════════════════════════════════════════════════════════════════
|
||||
// Dashboard
|
||||
// ═══════════════════════════════════════════════════════════════════
|
||||
|
||||
@@ -77,6 +77,7 @@
|
||||
{ name: 'Incidenti', href: 'incidents.html', icon: iconBell(), i18nKey: 'nav.incidents' },
|
||||
{ name: 'Policy', href: 'policies.html', icon: iconDocumentText(), i18nKey: 'nav.policies' },
|
||||
{ name: 'Supply Chain', href: 'supply-chain.html', icon: iconLink(), i18nKey: 'nav.supply_chain' },
|
||||
{ name: 'Stakeholder', href: 'stakeholders.html', icon: '<svg viewBox="0 0 20 20" fill="currentColor"><path fill-rule="evenodd" d="M10 9a3 3 0 100-6 3 3 0 000 6zm-7 9a7 7 0 1114 0H3z" clip-rule="evenodd"/><path d="M5.5 7.5a2 2 0 11-2.999.001A2 2 0 015.5 7.5zM17.5 7.5a2 2 0 11-2.999.001A2 2 0 0117.5 7.5z"/></svg>', i18nKey: 'nav.stakeholders' },
|
||||
{ name: 'Segnalazioni', href: 'whistleblowing.html', icon: '<svg viewBox="0 0 20 20" fill="currentColor"><path fill-rule="evenodd" d="M5 9V7a5 5 0 0110 0v2a2 2 0 012 2v5a2 2 0 01-2 2H5a2 2 0 01-2-2v-5a2 2 0 012-2zm8-2v2H7V7a3 3 0 016 0z" clip-rule="evenodd"/></svg>' },
|
||||
{ name: 'Normative', href: 'normative.html', icon: '<svg viewBox="0 0 20 20" fill="currentColor"><path fill-rule="evenodd" d="M4 4a2 2 0 012-2h4.586A2 2 0 0112 2.586L15.414 6A2 2 0 0116 7.414V16a2 2 0 01-2 2H6a2 2 0 01-2-2V4zm2 6a1 1 0 011-1h6a1 1 0 110 2H7a1 1 0 01-1-1zm1 3a1 1 0 100 2h6a1 1 0 100-2H7z" clip-rule="evenodd"/></svg>' },
|
||||
{ name: 'AI Cross-Analysis', href: 'cross-analysis.html', icon: '<svg viewBox="0 0 20 20" fill="currentColor"><path d="M13 6a3 3 0 11-6 0 3 3 0 016 0zM18 8a2 2 0 11-4 0 2 2 0 014 0zM14 15a4 4 0 00-8 0v3h8v-3zM6 8a2 2 0 11-4 0 2 2 0 014 0zM16 18v-3a5.972 5.972 0 00-.75-2.906A3.005 3.005 0 0119 15v3h-3zM4.75 12.094A5.973 5.973 0 004 15v3H1v-3a3 3 0 013.75-2.906z"/></svg>' },
|
||||
|
||||
+17
-18
@@ -364,41 +364,40 @@ const HelpSystem = (function () {
|
||||
// ─── Stakeholder estesi (A4 Fase 4.5) ─────────────────────────
|
||||
'stakeholders': {
|
||||
title: 'Guida - Stakeholder',
|
||||
intro: 'La Mappa Stakeholder è una vista di sintesi delle parti interessate dell\'organizzazione, raggruppate in fornitori, clienti e partner. Riusa i dati del modulo Supply Chain (nessuna duplicazione): il dettaglio e la valutazione dei fornitori restano lì, mentre qui puoi avere il quadro d\'insieme e aggiungere o etichettare clienti e partner. È uno strumento di supporto organizzativo, non un parere legale.',
|
||||
intro: 'Il modulo Stakeholder è un registro delle parti interessate dell\'organizzazione (interne ed esterne). Per ognuna scegli un tipo dall\'elenco configurabile (Stak.01–30 di sistema, puoi aggiungerne altri), la colleghi all\'organigramma (se interna) o a un fornitore della Supply Chain (se esterna) e alle procedure, e ne valuti potere e interesse (0–5). In base a questi due valori il sistema colloca automaticamente lo stakeholder su una matrice a quattro quadranti. È uno strumento di supporto organizzativo, non un parere legale.',
|
||||
sections: [
|
||||
{
|
||||
heading: 'I tre gruppi',
|
||||
heading: 'Tipi di stakeholder',
|
||||
items: [
|
||||
'<strong>Fornitori</strong>: chi fornisce beni o servizi (inclusi i fornitori ICT). Il loro dettaglio e la valutazione di sicurezza si gestiscono nel modulo Supply Chain.',
|
||||
'<strong>Clienti</strong>: le parti a cui l\'organizzazione eroga servizi rilevanti per la continuità.',
|
||||
'<strong>Partner</strong>: soggetti con cui esistono accordi o collaborazioni rilevanti per la sicurezza.'
|
||||
'<strong>Interni</strong> (Stak.01–06): dipendenti, management, azionisti, collaboratori, sindacalisti, volontari/associati. Si collegano a un nodo dell\'<strong>organigramma</strong>.',
|
||||
'<strong>Esterni</strong> (Stak.07–30): clienti, fornitori, partner, autorità, banche, assicurazioni, comunità, media… Possono essere <strong>collegati a un fornitore</strong> già censito in Supply Chain (nessuna duplicazione del dato).',
|
||||
'Puoi <strong>aggiungere nuovi tipi</strong>: ricevono in automatico il codice successivo (da Stak.31). I 30 tipi di sistema non sono modificabili.'
|
||||
]
|
||||
},
|
||||
{
|
||||
heading: 'Come si usa',
|
||||
heading: 'Valutazione e matrice di Mendelow',
|
||||
items: [
|
||||
'<strong>Aggiungi stakeholder</strong>: registri nome, tipo (fornitore/cliente/partner), tipo di servizio o relazione, contatto e criticità.',
|
||||
'Per i fornitori, usa il modulo <strong>Supply Chain</strong> per il dettaglio completo, i questionari e la valutazione del rischio (qui niente duplicati).',
|
||||
'La vista raggruppata aiuta a documentare ruoli e responsabilità verso tutte le parti interessate, non solo i fornitori.'
|
||||
'Assegna <strong>potere</strong> (capacità di influenzare l\'azienda) e <strong>interesse</strong> (quanto è coinvolto) con valori da 0 a 5.',
|
||||
'La <strong>matrice di Mendelow</strong> (x = interesse, y = potere) colloca lo stakeholder in un quadrante: <strong>Q1 Tenere soddisfatti</strong>, <strong>Q2 Gestire attivamente</strong>, <strong>Q3 Tenere informati</strong>, <strong>Q4 Monitorare</strong>.',
|
||||
'La matrice è una <strong>buona prassi</strong> di gestione degli stakeholder, <strong>non un obbligo NIS2</strong>. Gli stakeholder non ancora valutati restano elencati a parte, da completare.'
|
||||
]
|
||||
},
|
||||
{
|
||||
heading: 'Riferimenti normativi',
|
||||
items: [
|
||||
'<strong>GV.SC-02</strong>: ruoli e responsabilità per la sicurezza della catena di fornitura sono stabiliti verso fornitori, <strong>clienti</strong> e <strong>partner</strong>.',
|
||||
'<strong>GV.SC-04</strong>: i fornitori sono noti e prioritizzati in base alla criticità (l\'estensione a clienti e partner è coperta da GV.SC-02).',
|
||||
'<strong>GV.SC-05</strong>: i requisiti di sicurezza sono integrati nei contratti e negli accordi con i fornitori e le altre terze parti rilevanti.',
|
||||
'<strong>GV.SC-07</strong>: i rischi e i rapporti con le parti interessate sono monitorati e rivisti nel tempo.'
|
||||
'<strong>GV.SC-02</strong> (obbligo): ruoli e responsabilità per la sicurezza sono stabiliti e comunicati verso fornitori, <strong>clienti</strong> e <strong>partner</strong>.',
|
||||
'<strong>GV.OC</strong>: comprensione del contesto organizzativo e delle parti interessate.',
|
||||
'<strong>GV.SC-04/05/07</strong>: fornitori prioritizzati per criticità, requisiti di sicurezza negli accordi, monitoraggio e revisione nel tempo.'
|
||||
]
|
||||
}
|
||||
],
|
||||
references: [
|
||||
'NIST CSF 2.0 / GV.SC-02 - Ruoli e responsabilità verso fornitori, clienti e partner',
|
||||
'NIST CSF 2.0 / GV.SC-04 - Fornitori noti e prioritizzati per criticità (clienti/partner: GV.SC-02)',
|
||||
'NIST CSF 2.0 / GV.SC-05 - Requisiti di sicurezza negli accordi',
|
||||
'NIST CSF 2.0 / GV.SC-07 - Monitoraggio e revisione delle parti interessate',
|
||||
'NIST CSF 2.0 / GV.SC-02 - Ruoli e responsabilità verso fornitori, clienti e partner (obbligo)',
|
||||
'NIST CSF 2.0 / GV.OC - Contesto organizzativo e parti interessate',
|
||||
'NIST CSF 2.0 / GV.SC-04/05/07 - Prioritizzazione, accordi e monitoraggio delle terze parti',
|
||||
'Obblighi: la gestione della supply chain è prevista dall\'art. 24 del D.Lgs. 138/2024.',
|
||||
'NOTA: gli obblighi normativi in Italia derivano dal D.Lgs. 138/2024; la mappa stakeholder e i framework NIST CSF/ACN sono strumenti di supporto, non un parere legale.'
|
||||
'La matrice di Mendelow (potere/interesse) è una buona prassi di gestione, NON un requisito NIS2.',
|
||||
'NOTA: gli obblighi normativi in Italia derivano dal D.Lgs. 138/2024; la matrice e i framework NIST CSF/ACN sono strumenti di supporto, non un parere legale.'
|
||||
]
|
||||
},
|
||||
|
||||
|
||||
Reference in New Issue
Block a user