Torna agli aggiornamenti
New releaseAug 12, 2026

isms-builder v1.37.2

Sistema di Gestione della Sicurezza delle Informazioni self-hosted — ISO 27001, NIS2, GDPR/DSGVO, BSI IT-Grundschutz

Condividi

ISMS Builder Banner

ISMS Builder

Sistema di gestione della sicurezza delle informazioni self-hosted — open source, nessun cloud richiesto

CI Tests License: AGPL-3.0 Node.js Version


⚠️ Avviso di sicurezza: repository false e copie che distribuiscono malware

ISMS Builder non ha "release" impacchettate, installer o file ZIP scaricabili — l'unica fonte legittima è questo repository, clonato o scaricato direttamente da GitHub come semplice codice sorgente. Siamo a conoscenza di almeno un repository dannoso che si spaccia per questo progetto (README falso, pulsante fittizio "Download" che punta a uno ZIP camuffato da screenshot, contenente un loader di malware Windows — catena di payload .cmd.exe → Lua-DLL). Non scaricare né eseguire alcuno ZIP/installer/exe "isms_builder" da nessun luogo diverso da questo repository. Se trovi un repository o un sito sospetto che si spaccia per questo progetto, apri una issue o una discussion così possiamo segnalarlo.


Stato: sviluppo attivo — non ancora un prodotto finito. I moduli principali sono funzionanti e in uso, ma alcune funzionalità sono incomplete e la piattaforma è ancora in crescita. Contributi, feedback e test sul campo sono molto benvenuti — è esattamente per questo che il progetto è stato reso open source.


Cos'è ISMS Builder?

ISMS Builder è una piattaforma web self-hosted per la gestione di un Sistema di Gestione della Sicurezza delle Informazioni (ISMS). Copre l'intero ciclo di vita della conformità — dalla redazione delle policy alle evidenze di audit — per ISO 27001:2022, NIS2, GDPR/DSGVO, BSI IT-Grundschutz e altri framework.

Niente cloud. Niente canoni SaaS. I tuoi dati restano sul tuo server.

Progettato per PMI, team IT e consulenti che hanno bisogno di un vero strumento ISMS senza un contratto con un vendor a cinque cifre.


Scopo e ambito di utilizzo

Questo progetto è nato come strumento di lavoro per un singolo professionista ISMS e da lì è cresciuto. È open source perché il lavoro potrebbe essere utile ad altri — non perché sia un prodotto commerciale travestito. Essere espliciti su questo ti aiuta a decidere se si adatta alla tua situazione.

Per cosa è stato costruito. Un piccolo team ISMS — spesso una persona, a volte una manciata — che redige e mantiene la documentazione di un sistema di gestione: policy, rischi, asset, controlli, evidenze. Si prevede che il numero di persone che necessitano di un account rimanga contenuto. Raggiungere un pubblico ampio funziona anche senza account: le conferme di presa visione delle policy vengono inviate come link basati su token, così i destinatari leggono e confermano un documento senza mai effettuare il login, e senza comparire in alcun elenco di utenti.

Cosa richiede da te. ISMS Builder è self-hosted, e tutto ciò che ne consegue è a tuo carico: distribuzione, TLS, hardening, backup, aggiornamenti, controllo degli accessi e gli obblighi di protezione dei dati per tutto ciò che vi archivi. Il progetto fornisce una configurazione predefinita ragionevole, non un servizio gestito.

Cosa non è. Non esiste un'offerta SaaS ospitata, nessun contratto di supporto commerciale e nessun accordo sul livello di servizio. Non è un prodotto di hosting multi-tenant. Non ti certifica rispetto ad alcuno standard e non è una consulenza legale — ti aiuta a organizzare e documentare il lavoro, ma la valutazione rimane tua e del tuo auditor.

Chi lo mantiene. Una persona, oltre a un lavoro a tempo pieno. Issue e discussioni vengono lette e ricevono risposta, di solito entro pochi giorni; le segnalazioni di sicurezza sono prioritarie. Le richieste di funzionalità sono benvenute e plasmano davvero la roadmap, ma competono per serate limitate. Se la tua organizzazione dipende da una tempistica fissa o da una risposta garantita, un fornitore commerciale è la raccomandazione onesta — e questo non è un motivo per evitare il progetto, solo un motivo per pianificare in modo realistico.


Screenshot

LoginDashboard
LoginDashboard
Dichiarazione di applicabilitàGestione dei rischi
SoARischi
GDPR e protezione dei datiGestione degli asset
GDPRAsset
Guide e documentazioneReport
GuideReport

Esegui npm start e apri https://localhost:3000 per esplorare localmente l'intero dataset dimostrativo.


Panoramica delle funzionalità

ModuloDescrizioneStandard
Gestione delle policyCRUD basato su template, versioning, ciclo di vita (bozza → revisione → approvata → archiviata), gerarchia degli spazi, allegatiISO 27001 §5
Dichiarazione di applicabilità313 controlli su 8 framework, modifica inline, analisi dei gap, mappature incrociateISO 27001 A / BSI / NIS2 / EUCS / EUAI / ISO 9001 / CRA
Gestione dei rischiRegistro dei rischi, piani di trattamento, ruolo auditorISO 27001 §6.1
Obiettivi di sicurezzaMonitoraggio KPI con barre di avanzamento, integrazione con il calendarioISO 27001 §6.2
GDPR e privacyVVT, contratti AV, DSFA, TOMs, coda DSAR, timer 72h, registro delle cancellazioni con avvisi emailDSGVO Art. 13–35
Gestione degli assetRegistro degli asset, tipi di asset modificabili, obiettivi di protezione (CIA + autenticità) con ereditarietà dalle dipendenze, livelli di classificazione, monitoraggio fine vita (EoL)ISO 27001 A.5.9–5.12
BCM / BCPAnalisi di impatto sul business, piani di continuità, esercitazioniISO 27001 A.5.29–5.30 / NIS2
Registro della formazioneCatalogo corsi, monitoraggio del completamento, caricamento certificatiISO 27001 A.6.3
Gestione dei fornitoriRegistro fornitori, pianificazione degli audit, valutazione del rischioISO 27001 A.5.19–5.22
Legale e contrattiContratti, NDA, privacy policy, calendario delle scadenze
Inbox incidentiInbox CISO + modulo di segnalazione pubblico (login non richiesto)NIS2 / BSI
GovernanceRevisioni della direzione, monitoraggio delle azioniISO 27001 §9.3
ReportMatrice di conformità (Controllo × Entità), report dei gap, cicli di revisione, esportazione CSV
Rilievi di auditRegistro dei rilievi (IST→SOLL→Risk→Recommendation), piani d'azione, monitoraggio di gravità/stato, rif. FIND-YYYY-NNNNISO 27001 §9.2
TracciabilitàOgni record è collegato ai controlli SoA e ai documenti di policy — bidirezionale
Ricerca semanticaRicerca AI locale tramite Ollama (nomic-embed-text) con fallback su parole chiave
Multi-EntitàAlbero della struttura aziendale, applicabilità per entità di controlli e policy
UI e dati demo multilingueUI completa e contenuti demo in 🇩🇪 DE / 🇬🇧 EN / 🇫🇷 FR / 🇳🇱 NL; l'admin controlla le lingue disponibili

⚠ IMPORTANTE: i controlli ISO richiedono l'installazione manuale da parte dell'amministratore

ISO 27001:2022, ISO 9000:2015 e ISO 9001:2015 sono standard protetti da copyright pubblicati dall'Organizzazione internazionale per la normazione (ISO, © ISO). Le definizioni dei controlli (titoli, descrizioni, testo dei requisiti) non sono incluse in questo software e non devono essere ridistribuite senza una valida licenza ISO.

Cosa significa in pratica: I moduli SoA per ISO 27001, ISO 9000 e ISO 9001 vengono forniti senza contenuti dei controlli. L'amministratore deve importare manualmente i controlli prima che questi framework siano utilizzabili:

  1. Ottieni una copia con licenza dello standard da iso.org o da un organismo nazionale autorizzato
  2. Prepara un file JSON con le definizioni dei tuoi controlli (formato documentato in scripts/import-iso-controls.sh)
  3. Esegui lo script di importazione:
    bash scripts/import-iso-controls.sh path/to/iso-controls.json
    
  4. Riavvia il server ISMS Builder

Framework inclusi pronti all'uso (nessuna licenza ISO richiesta): BSI IT-Grundschutz, EU NIS2, EUCS, EU AI Act e CRA si basano su legislazione UE e pubblicazioni federali tedesche di pubblico dominio e sono completamente preinstallati.

L'utilizzo dei moduli dei framework ISO senza una licenza valida per lo standard corrispondente è di esclusiva responsabilità dell'operatore. Il progetto ISMS Builder e i suoi contributori non si assumono alcuna responsabilità per l'uso senza licenza di contenuti protetti da ISO.


Avvio rapido

git clone https://github.com/coolstartnow/isms-builder.git
cd isms-builder
npm install
cp .env.example .env          # set JWT_SECRET to a long random string
npm start                     # http://localhost:3000

Accedi con [email protected] / adminpass. Al primo accesso ti verrà chiesto di scegliere la lingua dei dati demo (🇩🇪 DE / 🇬🇧 EN / 🇫🇷 FR / 🇳🇱 NL) oppure di iniziare con un sistema vuoto. Cambia subito la password dell'amministratore.

Per l'uso in produzione con HTTPS:

# .env
JWT_SECRET=your-very-long-random-secret
STORAGE_BACKEND=json
SSL_CERT_FILE=/etc/ssl/certs/your.crt
SSL_KEY_FILE=/etc/ssl/private/your.key

Vuoi andare in produzione dopo la valutazione con i dati demo? Esegui lo strumento interattivo di preparazione alla produzione invece di partire da un'installazione nuova — cancella i contenuti demo/test modulo per modulo (o tutto in una volta), così i dati reali già inseriti (ad es. rischi, asset) non devono essere reinseriti:

bash stop.sh
node scripts/prepare-production.js
bash start.sh

Crea sempre un backup (data.bak.<timestamp>/, accanto alla tua directory data/) prima di modificare qualsiasi cosa, e non tocca mai STORAGE_BACKEND — a differenza dell'azione admin "Demo Reset" disponibile nell'app, pensata per l'istanza demo e che per ragioni storiche passa comunque a sqlite (vedi Issue #42).


Docker

docker compose up -d --build
# App runs at http://localhost:3000

Requisiti

  • Node.js 18+ (testato: 18, 20, 22)
  • npm 9+
  • (Opzionale) Docker + Docker Compose
  • (Opzionale) Ollama per la ricerca semantica AI locale

Configurazione (.env)

VariabilePredefinitoDescrizione
JWT_SECRET(obbligatorio)Segreto per la firma JWT — usa 32+ caratteri casuali
PORT3000Porta di ascolto HTTP/HTTPS
STORAGE_BACKENDjsonjson (dev/demo) o sqlite (produzione)
SSL_CERT_FILEPercorso del certificato TLS → abilita HTTPS
SSL_KEY_FILEPercorso della chiave privata TLS
DATA_DIR./dataSovrascrive la directory dei dati (volumi Docker)
SMTP_HOSTServer SMTP per gli avvisi email
SMTP_PORT587Porta SMTP
SMTP_USERNome utente SMTP
SMTP_PASSPassword SMTP
SMTP_FROMIndirizzo mittente per le notifiche

Architettura

server/
  index.js          — Express app setup, router mounts
  auth.js           — JWT auth, RBAC ranks, session
  routes/           — 17 Express route modules (one per domain)
  db/               — Data stores (jsonStore / sqliteStore / orgSettingsStore / …)
  ai/               — Semantic search (embedder, embeddingStore, lexicalSearch)
  reports.js        — Report generation logic
ui/
  index.html        — SPA shell (Atlassian Dark Theme)
  app.js            — All render functions, ~6000 lines vanilla JS
  style.css         — CSS variables, dark theme
data/               — JSON files / SQLite DB (gitignored)
docs/
  ISMS-build-documentation.md  — Full architecture reference
  architecture/                — C4 diagrams, data model, OpenAPI 3.0.3 spec
tests/              — Jest + Supertest (176 tests, --runInBand)
  • Auth: cookie JWT (sm_session), password bcrypt, TOTP 2FA (applicabile a livello di organizzazione)
  • RBAC: readereditor / dept_headcontentowner / auditoradmin
  • Persistenza: file JSON (predefinito/demo) o SQLite tramite better-sqlite3
  • AI: Ollama locale opzionale (nomic-embed-text); la ricerca per parole chiave è sempre disponibile come fallback
  • Audit Log: ogni operazione di creazione/aggiornamento/eliminazione/login viene registrata, filtrata ed esportabile

Vedi docs/architecture/ per i diagrammi C4, il modello dati completo e la specifica OpenAPI 3.0.3 (80+ endpoint).


Esecuzione dei test

Nota: la suite di test in tests/ contiene i test di sviluppo personali dell'autore e viene distribuita insieme al progetto per trasparenza. Non fa parte dell'applicazione stessa e non è necessaria per eseguire l'app. I test coprono il comportamento interno delle API e usano credenziali di test hardcoded che esistono solo nell'ambiente di test isolato — non hanno alcuna relazione con dati di produzione o demo.

npm test                  # runs all 423 tests
npm run preflight         # exactly what CI gates on (tests + pinning + audit)
npm test -- --verbose     # with test names

I test usano una directory temporanea isolata — nessun dato di produzione viene toccato.


Contribuire

I contributi sono molto benvenuti! Consulta CONTRIBUTING.md per:

  • Configurazione dell'ambiente di sviluppo (5 minuti al primo test)
  • Stile del codice e convenzioni
  • Come aprire una buona issue o PR

Hai trovato un problema di sicurezza? Per favore non aprire una issue pubblica — usa la segnalazione privata delle vulnerabilità. SECURITY.md descrive l'ambito, il safe harbour e cosa aspettarsi in modo realistico.

Buone prime issue sono etichettate good first issue nel tracker delle issue.


Roadmap

StatoFunzionalità
✅ FattoRicerca semantica (Ollama / nomic-embed-text)
✅ FattoBackend SQLite, Docker, CI/CD
✅ FattoAvvisi email per il registro delle cancellazioni GDPR
✅ FattoPacchetti demo multilingue (DE / EN / FR / NL)
✅ FattoModulo Rilievi di audit con piani d'azione (V 1.37.2.0)
✅ FattoTraduzioni delle guide FR/NL + configurazione delle lingue da admin (V 1.37.2.0)
✅ FattoBackend MariaDB/MySQL (STORAGE_BACKEND=mariadb, V 1.37.2.1)
✅ FattoScanner → bozza di rischio (importazione XML + PDF Greenbone/OpenVAS, V 1.37.2.0)
✅ FattoConferma delle policy — il personale conferma digitalmente le policy con audit trail (V 1.37.2.0)
✅ FattoCRUD delle guide — crea, modifica e carica la tua documentazione (V 1.37.2.0)
✅ FattoRicerca nelle guide — ricerca full-text tra le categorie con estratto (V 1.37.2.0)
✅ FattoObiettivi di protezione degli asset — CIA + autenticità (1–4), dipendenze ed ereditarietà secondo il principio del massimo BSI (V 1.37.2.0)
✅ FattoChecklist di governance NIS2 Art. 21 (30 voci) e scadenze di notifica Art. 23 con avvisi automatici (V 1.37.2.0)
🔜 ProssimoAssistente AI per le policy — Ollama redige i contenuti delle policy da titolo + framework
🔜 ProssimoReport pianificati — report di conformità settimanali/mensili consegnati via email
🔜 ProssimoBackend PostgreSQL
🔜 ProssimoRilevamento delle anomalie nell'audit log (batch LLM)
🚀 In seguitoValutazione quantitativa del rischio (valori in €, ispirata a FAIR)
🚀 In seguitoPortale di collaborazione per gli auditor — accesso esterno in sola lettura per gli auditor
🚀 In seguitoIntegrazione ownCloud / Nextcloud
🚀 In seguitoAnalisi dei gap delle policy (LLM)
🏁 V 2.xCategorie di guide configurabili — gli amministratori definiscono categorie personalizzate (ad es. flussi di lavoro, documenti organizzativi)

Informazioni sull'autore

Claude Hecker lavora nell'IT da oltre 35 anni. Dopo circa 15 anni come CIO, è passato ai ruoli di CISO e Responsabile della protezione dei dati (DSO/DSB). Durante la sua carriera ha progettato e implementato infrastrutture IT a livello aziendale e connettività di rete geografica (VPN, MPLS) per una grande multinazionale europea — con la responsabilità di operazioni affidabili e sicure in più sedi e giurisdizioni.

ISMS Builder è nato direttamente da quell'esperienza: costruire e mantenere un ISMS conforme nel mondo reale, attraverso audit reali, con una pressione normativa reale. Lo strumento riflette ciò di cui i professionisti hanno davvero bisogno — non ciò che un product manager pensa che serva.

Perché open source? Le PMI meritano l'accesso a una vera piattaforma ISMS senza canoni di licenza a cinque cifre. Lo sforzo di onboarding è reale qualunque strumento si scelga — ma quel costo non dovrebbe essere aggravato dal vendor lock-in o dai dati che escono dalla propria infrastruttura. Questo progetto rappresenta la libertà del software e il principio che i tuoi dati di conformità appartengono a te.


Nota di riferimento agli standard

Questo software fa riferimento a identificatori di controllo e titoli brevi di standard pubblicati esclusivamente a fini di interoperabilità e gestione della conformità.

  • ISO/IEC 27001, ISO 9000, ISO 9001 sono standard pubblicati dall' Organizzazione internazionale per la normazione (ISO). Le definizioni dei controlli di questi standard non sono incluse in questa distribuzione software — il copyright ISO non consente la ridistribuzione del testo dei controlli. Gli utenti devono fornire il proprio file JSON (vedi la sezione precedente e scripts/import-iso-controls.sh). Gli standard devono essere ottenuti da ISO o da un distributore nazionale autorizzato.
  • BSI IT-Grundschutz è un materiale pubblicato dall'Ufficio federale tedesco per la sicurezza delle informazioni (BSI) ed è liberamente disponibile su bsi.bund.de.
  • NIS2, CRA, EUCS, EU AI Act sono atti legislativi dell'UE e sono pubblicamente disponibili tramite eur-lex.europa.eu.

Licenza

Copyright (C) 2026 Claude Hecker

Questo programma è software libero concesso in licenza secondo la GNU Affero General Public License v3.0.

Se esegui una versione modificata come servizio di rete, devi rendere il codice sorgente completo disponibile agli utenti di quel servizio (AGPL §13).

Questo progetto include componenti di terze parti con licenze MIT, BSD-2-Clause e Apache-2.0. Vedi THIRD-PARTY-LICENSES.md per l'attribuzione completa e i testi delle licenze.

Categorie