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

ISMS Builder
Sistema di gestione della sicurezza delle informazioni self-hosted — open source, nessun cloud richiesto
📖 Wiki — Utilizzo delle immagini Docker e variabili d'ambiente, architettura e moduli, FAQ, contributi (DE/EN)
⚠️ Avviso di sicurezza: repository falsi e copie che distribuiscono malware
ISMS Builder non dispone di "release" impacchettate, installer o file ZIP scaricabili — l'unica fonte legittima è questo repository, clonato o scaricato direttamente da GitHub come codice sorgente semplice. Siamo a conoscenza di almeno un repository dannoso che si spaccia per questo progetto (README falso, pulsante "Download" fittizio che collega a uno ZIP camuffato da screenshot, contenente un loader malware per Windows — catena di payload
.cmd→.exe→ DLL Lua). Non scaricare né eseguire alcuno ZIP/installer/exe "isms_builder" da fonti diverse da questo repository. Se trovi un repository o un sito sospetto che si spaccia per questo progetto, apri un 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 nel mondo reale sono molto graditi — è esattamente il motivo per cui questo progetto è stato reso open source.
🛡️ Progetto correlato: NIS2 Quick-Check — un autotest NIS2 gratuito e autonomo (10 domini × 5 domande, tutti i 27 Stati membri UE, tutte le 24 lingue ufficiali UE). Funziona interamente nel browser, senza backend, senza installazione. Non fa parte di ISMS Builder e non è necessario per utilizzarlo — è solo uno strumento complementare per un rapido primo orientamento.
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 costi SaaS. I tuoi dati restano sul tuo server.
Progettato per PMI, team IT e consulenti che necessitano di un vero strumento ISMS senza un contratto con vendor a cinque cifre.
Uso previsto e ambito
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 creato. 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. Il numero di persone che necessitano di un account dovrebbe rimanere contenuto. Raggiungere un vasto pubblico funziona senza account: le conferme delle policy vengono inviate tramite link basati su token, così i destinatari leggono e confermano un documento senza mai accedere, e senza comparire in alcun elenco utenti.
Cosa si aspetta da te. ISMS Builder è self-hosted, e tutto ciò che ne consegue è di tua competenza: 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 è consulenza legale — ti aiuta a organizzare e documentare il lavoro, ma la valutazione resta tua e del tuo auditor.
Chi lo mantiene. Una persona, oltre a un lavoro a tempo pieno. Issue e discussioni vengono lette e risposte, di solito entro pochi giorni; i report di sicurezza hanno priorità. Le richieste di funzionalità sono benvenute e plasmano realmente la roadmap, ma competono per serate limitate. Se la tua organizzazione dipende da una tempistica fissa o da una risposta garantita, un vendor commerciale è la raccomandazione onesta — e questo non è un motivo per evitare il progetto, solo un motivo per pianificare in modo realistico.
Screenshot
| Login | Dashboard |
|---|---|
![]() | ![]() |
| Dichiarazione di applicabilità | Gestione dei rischi |
|---|---|
![]() | ![]() |
| GDPR e protezione dei dati | Gestione degli asset |
|---|---|
![]() | ![]() |
| Guida e documentazione | Report |
|---|---|
![]() | ![]() |
Esegui
npm starte aprihttps://localhost:3000per esplorare localmente il set completo di dati demo.
Panoramica delle funzionalità
| Modulo | Descrizione | Standard |
|---|---|---|
| Gestione delle policy | CRUD di modelli, versioning, ciclo di vita (bozza → revisione → approvata → archiviata), gerarchia degli spazi, allegati | ISO 27001 §5 |
| Dichiarazione di applicabilità | 313 controlli su 8 framework, modifica inline, analisi delle lacune, mappatura incrociata | ISO 27001 A / BSI / NIS2 / EUCS / EUAI / ISO 9001 / CRA |
| Gestione dei rischi | Registro dei rischi, piani di trattamento, ruolo auditor | ISO 27001 §6.1 |
| Obiettivi di sicurezza | Monitoraggio KPI con barre di avanzamento, integrazione calendario | ISO 27001 §6.2 |
| GDPR e privacy | VVT, contratti AV, DPIA, TOM, coda DSAR, timer 72h, registro delle cancellazioni con avvisi email | DSGVO Art. 13–35 |
| Gestione degli asset | Registro degli asset, tipi di asset modificabili, obiettivi di protezione (CIA + autenticità) con ereditarietà delle dipendenze, livelli di classificazione, monitoraggio EoL | ISO 27001 A.5.9–5.12 |
| BCM / BCP | Analisi dell'impatto sul business, piani di continuità, esercitazioni | ISO 27001 A.5.29–5.30 / NIS2 |
| Registri di formazione | Catalogo della formazione, monitoraggio del completamento, caricamento certificati | ISO 27001 A.6.3 |
| Gestione fornitori | Registro fornitori, pianificazione audit, valutazione del rischio | ISO 27001 A.5.19–5.22 |
| Legale e contratti | Contratti, NDA, informative sulla privacy, calendario scadenze | |
| Inbox incidenti | Inbox CISO + modulo di segnalazione pubblico (nessun login richiesto) | NIS2 / BSI |
| Governance | Revisioni della direzione, monitoraggio delle azioni | ISO 27001 §9.3 |
| Report | Matrice di conformità (Controllo × Entità), report sulle lacune, cicli di revisione, esportazione CSV | |
| Risultati di audit | Registro dei risultati (IST→SOLL→Rischio→Raccomandazione), piani d'azione, monitoraggio gravità/stato, rif. FIND-YYYY-NNNN | ISO 27001 §9.2 |
| Tracciabilità | Ogni record collega i controlli SoA + i documenti di policy — bidirezionale | |
| Ricerca semantica | Ricerca AI locale tramite Ollama (nomic-embed-text) con fallback per parole chiave | |
| Multi-entità | Albero della struttura aziendale, applicabilità per entità di controlli e policy | |
| UI multilingue e dati demo | UI completa e contenuti demo in 🇩🇪 DE / 🇬🇧 EN / 🇫🇷 FR / 🇳🇱 NL; lingue disponibili controllabili dall'amministratore |
⚠ 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 contenuto dei controlli. L'amministratore deve importare manualmente i controlli prima che questi framework siano utilizzabili:
- Ottieni una copia con licenza dello standard da iso.org o da un organismo nazionale autorizzato
- Prepara un file JSON con le definizioni dei tuoi controlli (formato documentato in
scripts/import-iso-controls.sh) - Esegui lo script di importazione: ```bash
bash scripts/import-iso-controls.sh path/to/iso-controls.json
- Riavvia il server ISMS Builder
Framework inclusi di serie (nessuna licenza ISO richiesta): BSI IT-Grundschutz, EU NIS2, EUCS, EU AI Act e CRA si basano su legislazione pubblica dell'UE e pubblicazioni federali tedesche e sono completamente preinstallati.
L'utilizzo dei moduli framework ISO senza una licenza valida per il rispettivo standard è di esclusiva responsabilità dell'operatore. Il progetto ISMS Builder e i suoi contributori non accettano alcuna responsabilità per l'uso non autorizzato di contenuti protetti da ISO.
Avvio rapido```bash
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) o di iniziare con un sistema vuoto. Cambia subito la password di amministratore.
Per l'uso in produzione con HTTPS:```bash
# .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
Passi in produzione dopo la valutazione con dati demo? Esegui lo strumento interattivo di preparazione alla produzione invece di partire da un'installazione pulita: elimina i contenuti demo/test modulo per modulo (o tutti in una volta), così i dati reali che hai già inserito (es. rischi, asset) non devono essere reinseriti:```bash 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" integrata nell'app,
che è pensata per l'istanza demo e passa comunque a `sqlite` per ragioni storiche
(vedi [Issue #42](https://github.com/coolstartnow/isms-builder/issues/42)).
---
## Docker
Ogni release viene pubblicata come pacchetto GitHub nel GitHub Container Registry, per
`linux/amd64` e `linux/arm64` — con tag `:latest` e `:<version>` (es. `:1.37.5.2`):```bash
docker compose up -d
# App runs at http://localhost:3000
Oppure senza Compose (data/ deve essere un bind mount — i dati non vengono mai incorporati nell'immagine):```bash
docker run -d --name isms-builder -p 3000:3000
-e JWT_SECRET="$(openssl rand -hex 32)"
-v "$PWD/data:/app/data"
ghcr.io/coolstartnow/isms-builder:latest
Questa è l'impostazione predefinita, che memorizza i dati come semplici file JSON in `./data` — non serve alcun container per il database
affatto. È la configurazione consigliata per piccoli team ed è ciò che usano i due comandi sopra.
**Usare PostgreSQL (o MariaDB) al posto di JSON.** L'immagine supporta questa opzione fin da subito, ma —
a differenza della configurazione JSON sopra — richiede un secondo container (il database vero e proprio) oltre a una manciata di
variabili d'ambiente che indicano all'app come raggiungerlo. Se hai scaricato solo l'immagine stessa
(`docker pull ghcr.io/coolstartnow/isms-builder`) senza mai clonare questo repository, quei
nomi di variabile non sono visibili da nessuna parte per impostazione predefinita — `docker-compose.yml` e `.env.example`, dove
sono documentati, sono file in questo repository Git, non parte dell'immagine. Questa sezione esiste
così che quella informazione non sia un segreto riservato solo al repository.
L'immagine `isms-builder` di per sé non include mai un server di database — `postgres:17` (o `mariadb:11`)
è un motore di database completamente generico e vuoto proveniente da Docker Hub, senza alcuna conoscenza delle
tabelle di questo progetto. Quelle tabelle (rischi, asset, controlli SoA e così via) vengono create automaticamente
dall'applicazione stessa nel momento in cui si avvia e trova un database vuoto — nessun import SQL manuale,
nessun passaggio di migrazione separato da eseguire. Vedi "Come viene creato lo schema del database?"
più sotto se vuoi conoscere tutti i dettagli tecnici.
Due container, una rete Docker condivisa, poi all'app viene detto dove trovare il database:```bash
# 1) An isolated network so the two containers can reach each other by name
docker network create isms-net
# 2) The database — empty until the app first connects and creates its tables
docker run -d --name isms-postgres --network isms-net \
-e POSTGRES_DB=isms_builder \
-e POSTGRES_USER=isms \
-e POSTGRES_PASSWORD="$(openssl rand -hex 16)" \
-v isms-postgres-data:/var/lib/postgresql/data \
postgres:17-alpine
# 3) The app, pointed at that database by container name (isms-postgres) via
# Docker's built-in DNS on the shared network — no host/port juggling needed
docker run -d --name isms-builder --network isms-net -p 3000:3000 \
-e JWT_SECRET="$(openssl rand -hex 32)" \
-e STORAGE_BACKEND=postgres \
-e DB_HOST=isms-postgres \
-e DB_PORT=5432 \
-e DB_USER=isms \
-e DB_PASS="<same password as POSTGRES_PASSWORD above>" \
-e DB_NAME=isms_builder \
ghcr.io/coolstartnow/isms-builder:latest
Cosa significa ogni variabile:
| Variabile | Scopo |
|---|---|
STORAGE_BACKEND | postgres (o pg) per PostgreSQL, mariadb per MariaDB/MySQL. Lascia non impostato (o json) per la configurazione JSON predefinita. |
DB_HOST | Hostname del container del database. Su una rete Docker condivisa, è semplicemente il --name del container — Docker lo risolve automaticamente. |
DB_PORT | 5432 per PostgreSQL, 3306 per MariaDB. |
DB_USER / DB_PASS / DB_NAME | Devono corrispondere a ciò che imposti sul container del database (POSTGRES_USER/POSTGRES_PASSWORD/POSTGRES_DB sopra, o gli equivalenti MariaDB). |
Per MariaDB, sostituisci postgres:17-alpine con mariadb:11, usa le sue variabili MARIADB_DATABASE /
MARIADB_USER / MARIADB_PASSWORD nel passaggio 2, e STORAGE_BACKEND=mariadb /
DB_PORT=3306 nel passaggio 3. L'elenco completo e incrociato di ogni variabile d'ambiente che questo
progetto comprende — incluse quelle non trattate qui (SSL, trust del reverse proxy, SMTP,
2FA, …) — si trova in .env.example in questo repository.
Gli utenti di Compose ottengono tutto questo gratuitamente: docker-compose.yml include già i profili di servizio mariadb e postgres
(commentati di default, insieme alle spiegazioni equivalenti delle variabili d'ambiente) —
docker compose --profile postgres up -d avvia entrambi i container collegati automaticamente,
senza networking manuale o copia-incolla di password.
Come viene creato lo schema del database? Né l'immagine postgres:17 né la mariadb:11
sanno nulla di questo progetto — sono motori di database generici e vuoti direttamente da
Docker Hub. Non c'è un file di dump SQL da importare né un comando di migrazione separato da eseguire manualmente.
Invece, nel momento in cui il container isms-builder si avvia e si connette a un database vuoto, il
suo codice applicativo (non l'immagine del database) crea ogni tabella necessaria al momento — vedi
server/db/knexDatabase.js: un elenco di definizioni di tabelle, ciascuna
verificata con hasTable() e creata con createTable() se mancante, tutto prima che l'app inizi ad accettare
richieste HTTP. Questo lo rende idempotente — il primo avvio costruisce l'intero schema
dal nulla, e ogni riavvio successivo sullo stesso database è un no-op silenzioso perché le
tabelle esistono già. Questo è lo stesso meccanismo, non modificato, che è stato verificato dal vivo contro
SQLite, MariaDB 11 e PostgreSQL 17 (vedi #70).
Per compilare dal sorgente invece, decommenta il blocco build: in docker-compose.yml ed esegui
docker compose up -d --build.
Le immagini includono un'attestazione di provenienza della build firmata:```bash gh attestation verify oci://ghcr.io/coolstartnow/isms-builder:latest --owner coolstartnow
---
## Requisiti
- **Node.js 18+** (testato: 18, 20, 22)
- npm 9+
- (Opzionale) Docker + Docker Compose
- (Opzionale) [Ollama](https://ollama.ai) per ricerca semantica AI locale
---
## Configurazione (`.env`)
| Variabile | Predefinito | Descrizione |
|---|---|---|
| `JWT_SECRET` | *(obbligatorio)* | Segreto per la firma JWT — usa 32+ caratteri casuali |
| `PORT` | `3000` | Porta di ascolto HTTP/HTTPS |
| `STORAGE_BACKEND` | `json` | `json` (dev/demo) o `sqlite` (produzione) |
| `SSL_CERT_FILE` | — | Percorso del certificato TLS → abilita HTTPS |
| `SSL_KEY_FILE` | — | Percorso della chiave privata TLS |
| `DATA_DIR` | `./data` | Sostituisce la directory dati (volumi Docker) |
| `SMTP_HOST` | — | Server SMTP per avvisi email |
| `SMTP_PORT` | `587` | Porta SMTP |
| `SMTP_USER` | — | Nome utente SMTP |
| `SMTP_PASS` | — | Password SMTP |
| `SMTP_FROM` | — | Indirizzo 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, 2FA TOTP (applicabile a livello di organizzazione) - RBAC:
reader→editor/dept_head→contentowner/auditor→admin - Persistenza: File JSON (predefinito/demo) o SQLite tramite
better-sqlite3 - AI: Opzionale Ollama locale (nomic-embed-text); la ricerca per parole chiave è sempre disponibile come fallback
- Registro di controllo: Ogni azione di creazione/aggiornamento/eliminazione/accesso viene registrata, filtrata ed esportabile
Consulta docs/architecture/ per i diagrammi C4, il modello dati completo e la specifica OpenAPI 3.0.3 (oltre 80 endpoint).
Esecuzione dei test
Nota: La suite di test in
tests/è costituita dai test di sviluppo personali dell'autore ed è inclusa nel progetto per trasparenza. Non fa parte dell'applicazione stessa e non è necessaria per eseguire l'app. I test coprono il comportamento interno dell'API e utilizzano credenziali di test hardcoded che esistono solo nell'ambiente di test isolato — non hanno alcuna relazione con dati di produzione o demo.```bash 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 utilizzano una directory temporanea isolata — nessun dato di produzione viene toccato.
---
## Contribuire
I contributi sono molto graditi! Vedi [CONTRIBUTING.md](https://github.com/coolstartnow/isms-builder/blob/main/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à](https://github.com/coolstartnow/isms-builder/security/advisories/new).
[SECURITY.md](https://github.com/coolstartnow/isms-builder/blob/main/SECURITY.md) descrive l'ambito, la clausola di salvaguardia e cosa aspettarsi in modo realistico.
**Buone prime issue** sono etichettate con [`good first issue`](https://github.com/coolstartnow/isms-builder/issues?q=label%3A%22good+first+issue%22) nel tracker delle issue.
---
## Roadmap
| Stato | Funzionalità |
|---|---|
| ✅ Fatto | Ricerca semantica (Ollama / nomic-embed-text) |
| ✅ Fatto | Backend SQLite, Docker, CI/CD |
| ✅ Fatto | Avvisi email per il registro di cancellazione GDPR |
| ✅ Fatto | Bundle demo multilingue (DE / EN / FR / NL) |
| ✅ Fatto | Modulo Audit Findings con piani d'azione (V 1.37.2.0) |
| ✅ Fatto | Traduzioni delle linee guida FR/NL + configurazione della lingua admin (V 1.37.2.0) |
| ✅ Fatto | Backend MariaDB/MySQL (`STORAGE_BACKEND=mariadb`, V 1.37.2.1) |
| ✅ Fatto | Scanner → bozza di rischio (importazione XML + PDF Greenbone/OpenVAS, V 1.37.2.0) |
| ✅ Fatto | Policy Acknowledgement — il personale conferma le policy digitalmente con traccia di audit (V 1.37.2.0) |
| ✅ Fatto | CRUD delle linee guida — crea, modifica e carica la propria documentazione (V 1.37.2.0) |
| ✅ Fatto | Ricerca nelle linee guida — ricerca full-text tra le categorie con estratto (V 1.37.2.0) |
| ✅ Fatto | Obiettivi di protezione degli asset — CIA + autenticità (1–4), dipendenze ed ereditarietà del principio massimo BSI (V 1.37.2.0) |
| ✅ Fatto | Checklist di governance NIS2 Art. 21 (30 elementi) e scadenze di segnalazione Art. 23 con avvisi automatici (V 1.37.2.0) |
| ✅ Fatto | Backend PostgreSQL (`STORAGE_BACKEND=pg`) — stesso livello di archiviazione Knex di MariaDB, verificato su un'istanza reale PostgreSQL 17 incl. percorso completo `docker compose` (V 1.37.5) |
| ✅ Fatto | Integrazione ownCloud / Nextcloud — le policy approvate vengono pubblicate automaticamente come PDF via WebDAV, visibilità opzionale preferiti/link pubblico, verificato dal vivo su un'istanza reale NextcloudPi (#66, V 1.37.5.1) |
| ✅ Fatto | Immagine Docker pubblicata su GitHub Container Registry dopo ogni release (`ghcr.io/coolstartnow/isms-builder`, `linux/amd64` + `linux/arm64`, provenienza di build firmata) — contributo di @bucherfa (#71, V 1.40.0). Prova a basso sforzo di manutenzione: rimossa di nuovo se si rivela più onerosa del previsto. |
| 🔜 Prossimo | AI Policy Assistant — Ollama redige contenuti delle policy da titolo + framework |
| 🔜 Prossimo | Report programmati — report di conformità settimanale/mensile consegnato via email |
| 🔜 Prossimo | Rilevamento anomalie nel registro di audit (batch LLM) |
| 🚀 In seguito | Punteggio del rischio quantitativo (valori in €, ispirato a FAIR) |
| 🚀 In seguito | Portale di collaborazione per revisori — accesso esterno in sola lettura per i revisori |
| 🚀 In seguito | Analisi dei gap delle policy (LLM) |
| 🏁 V 2.x | Categorie di linee guida configurabili — gli admin definiscono categorie personalizzate (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 (RPD/DSB). Durante la sua carriera
ha progettato e implementato infrastrutture IT a livello aziendale e connettività WAN
(VPN, MPLS) per una grande azienda europea — responsabile di operazioni affidabili e sicure su
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 realmente bisogno — non ciò che un product manager pensa che serva.
**Perché open source?**
Le PMI meritano l'accesso a una piattaforma ISMS adeguata senza licenze a cinque cifre. Lo sforzo
di onboarding è reale indipendentemente dallo strumento scelto — ma quel costo non dovrebbe essere
aggravato dal vendor lock-in o dai dati che lasciano la propria infrastruttura. Questo progetto sostiene
la libertà del software e il principio che i tuoi dati di conformità ti appartengono.
---
## Avviso sui Riferimenti agli Standard
Questo software fa riferimento a identificatori di controllo e titoli brevi di standard
pubblicati esclusivamente per scopi 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
per 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 sezione precedente e `scripts/import-iso-controls.sh`).
Gli standard devono essere ottenuti da [ISO](https://www.iso.org/) o da un
distributore nazionale autorizzato.
- **BSI IT-Grundschutz** è pubblicato dall'Ufficio Federale Tedesco
per la Sicurezza delle Informazioni (BSI) ed è liberamente disponibile su
[bsi.bund.de](https://www.bsi.bund.de).
- **NIS2, CRA, EUCS, EU AI Act** sono atti legislativi dell'UE e sono pubblicamente
disponibili via [eur-lex.europa.eu](https://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](https://github.com/coolstartnow/isms-builder/blob/main/LICENSE).
Se esegui una versione modificata come servizio di rete, devi rendere disponibile il
codice sorgente completo agli utenti di quel servizio (AGPL §13).
Questo progetto include componenti di terze parti sotto licenze MIT, BSD-2-Clause e
Apache-2.0. Vedi [THIRD-PARTY-LICENSES.md](https://github.com/coolstartnow/isms-builder/blob/main/THIRD-PARTY-LICENSES.md)
per l'attribuzione completa e i testi delle licenze.






