prepare($s);$st->execute($a);} $NOW='2026-06-20 17:00:00'; $TODAY='2026-06-20'; $ORGID=996003; /* 1) Org: fatturato + adesione volontaria deliberata (sotto-soglia) */ ex($pdo,"UPDATE organizations SET annual_turnover_eur=900000, voluntary_compliance=1, designation_basis='voluntary', entity_type='important', updated_at=? WHERE id=?",[$NOW,$ORGID]); echo "ORG aggiornata: fatturato 900k, voluntary_compliance=1, designation_basis=voluntary, entity_type=important\n"; /* 2) DPO: consulente esterno deliberato (nominativo in corso) */ ex($pdo,"UPDATE org_roles SET holder_user_id=NULL, description='Presidio GDPR e ISO 27018 (dati personali nel cloud), DPIA, gestione richieste interessati. DPO affidato a CONSULENTE ESTERNO (deliberato dalla Direzione il 20/06/2026; acquisizione nominativo e lettera d\'incarico in corso). Coordinamento ad interim del RSGSI nelle more.', updated_at=? WHERE organization_id=? AND role_name LIKE 'Referente Protezione Dati%'",[$NOW,$ORGID]); echo "DPO role aggiornato (consulente esterno deliberato)\n"; /* 3) Manuale (id 37): sostituisci la sez. 11 'Caveat' con la Determinazione formalizzata + snapshot */ $new = '

11. Determinazione di applicabilità NIS2

' .'

Determinazione formalizzata dalla Direzione il 20/06/2026. Sulla base dei dati dimensionali (fatturato 2026 circa 0,9 M€, previsione 2027 circa 1,4 M€; 9 dipendenti e 2 collaboratori esterni a P.IVA), l\'Azienda è una impresa piccola/micro, SOTTO le soglie dimensionali NIS2 (soggetto obbligato = impresa media o grande: ≥50 addetti oppure fatturato/bilancio >10 M€). L\'attività rientra tra i fornitori di servizi di cloud computing (Allegato I — infrastrutture digitali); per i provider cloud vale comunque il cap dimensionale, pertanto un\'azienda sotto-soglia non è soggetto obbligato per legge. Un eventuale obbligo per un soggetto sotto-soglia potrebbe derivare unicamente da una designazione dell\'ACN ai sensi dell\'art. 3, comma 9, del D.Lgs. 138/2024 (es. unico fornitore nazionale, impatto sistemico), allo stato non riscontrata.

' .'

Decisione della Direzione: pur non essendo soggetto obbligato, l\'Azienda delibera l\'adozione VOLONTARIA e integrale delle misure di un soggetto “importante”, per rigore di sicurezza e per soddisfare i requisiti di supply chain dei clienti (alcuni dei quali soggetti NIS2 obbligati, art. 24 D.Lgs. 138/2024). La presente determinazione è riesaminata al superamento delle soglie dimensionali, al cambiamento della categoria di servizio o a fronte di una designazione ACN.

' .'

Quadro di riferimento: Direttiva (UE) 2022/2555 recepita dal D.Lgs. 138/2024 — art. 23 (governance e organi di gestione), art. 24 (misure di gestione del rischio), art. 25 (notifica al CSIRT: pre-allarme entro 24 ore, notifica entro 72 ore, relazione finale entro 1 mese). Le misure di dettaglio sono definite dalle Determinazioni ACN. Le norme ISO citate sono buone prassi, non obblighi di legge.

'; $b=$pdo->query("SELECT body_html FROM isms_documents WHERE id=37")->fetchColumn(); $nb=preg_replace('#

11\. Caveat sulla classificazione NIS2

.*?(?=

)#s',$new,$b,1,$cnt); if($cnt){ ex($pdo,"UPDATE isms_documents SET body_html=?, updated_at=? WHERE id=37",[$nb,$NOW]); $vid=$pdo->query("SELECT id FROM isms_document_versions WHERE document_id=37 AND version='2.0' ORDER BY id DESC LIMIT 1")->fetchColumn(); if($vid) ex($pdo,"UPDATE isms_document_versions SET body_html=? WHERE id=?",[$nb,$vid]); echo "MANUALE: sez.11 sostituita con la Determinazione formalizzata (+ snapshot)\n"; } else echo "!! sezione caveat non trovata nel Manuale (verificare)\n"; /* 4) Chiudi NC maggiore NCR-9001 + CAPA-1010 */ $rc='Determinazione di applicabilità formalizzata dalla Direzione il 20/06/2026: azienda SOTTO-SOGLIA (fatturato <10 M€, <50 addetti); cloud provider (Allegato I) soggetto al cap dimensionale → non obbligata per legge; la Direzione delibera l\'adozione volontaria integrale delle misure da soggetto "importante". Dati dimensionali acquisiti. Eventuale obbligo solo via designazione ACN (art.3 c.9), non riscontrata.'; ex($pdo,"UPDATE non_conformities SET status='closed', actual_close_date=?, root_cause_analysis=?, updated_at=? WHERE id=16",[$TODAY,$rc,$NOW]); ex($pdo,"UPDATE capa_actions SET status='completed', completion_date=?, is_effective=1, effectiveness_review='Determinazione formalizzata e documentata nel Manuale (sez.11); classificazione allineata (adesione volontaria deliberata).', updated_at=? WHERE id=3",[$TODAY,$NOW]); echo "NCR-9001 (maggiore) CHIUSA + CAPA-1010 completata\n"; /* 5) NC DPO NCR-9005: decisione presa (esterno), nominativo in corso → resta in correzione */ ex($pdo,"UPDATE non_conformities SET root_cause_analysis='Ruolo DPO non coperto da figura formalmente nominata. Decisione della Direzione (20/06/2026): affidamento a CONSULENTE ESTERNO; acquisizione nominativo e lettera d\'incarico in corso. Coordinamento ad interim del RSGSI.', updated_at=? WHERE id=20",[$NOW]); ex($pdo,"UPDATE capa_actions SET title='Nominare formalmente il DPO esterno (deliberato): acquisire nominativo e lettera d\'incarico', updated_at=? WHERE id=7",[$NOW]); echo "NCR-9005 (DPO) aggiornata: esterno deliberato, nomina in corso\n"; echo "\nFASE 10 (determinazione) OK\n";