
isms-builder v1.37.1
Système de management de la sécurité de l'information auto-hébergé — ISO 27001, NIS2, GDPR/DSGVO, BSI IT-Grundschutz

ISMS Builder
Système de gestion de la sécurité de l'information auto-hébergé — open source, sans cloud requis
📖 Wiki — Utilisation de l'image Docker & variables d'environnement, architecture & modules, FAQ, contribuer (DE/EN)
⚠️ Avertissement de sécurité : Dépôts et copies frauduleux distribuant des logiciels malveillants
ISMS Builder n'a aucune « version » packagée, aucun installateur ni fichier ZIP téléchargeable — la seule source légitime est ce dépôt, cloné ou téléchargé directement depuis GitHub sous forme de code source brut. Nous avons connaissance d'au moins un dépôt malveillant usurpant ce projet (faux README, faux bouton « Télécharger » menant à un ZIP déguisé en capture d'écran, contenant un chargeur de logiciel malveillant Windows — chaîne de charge
.cmd→.exe→ DLL Lua). Ne téléchargez et n'exécutez aucun ZIP/installateur/exe « isms_builder » provenant d'une autre source que ce dépôt. Si vous trouvez un dépôt ou un site suspect usurpant ce projet, veuillez ouvrir une issue ou une discussion afin que nous puissions le signaler.
Statut : Développement actif — pas encore un produit fini. Les modules principaux sont fonctionnels et utilisés, mais certaines fonctionnalités sont incomplètes et la plateforme est encore en pleine croissance. Les contributions, retours et tests en conditions réelles sont les bienvenus — c'est précisément pour cela que ce projet a été open-sourcé.
🛡️ Projet associé : NIS2 Quick-Check — un auto-test NIS2 gratuit et autonome (10 domaines × 5 questions, les 27 États membres de l'UE, les 24 langues officielles de l'UE). Fonctionne entièrement dans le navigateur, sans backend, sans installation. Ne fait pas partie d'ISMS Builder et n'est pas requis pour l'utiliser — simplement un outil complémentaire pour une première orientation rapide.
Qu'est-ce qu'ISMS Builder ?
ISMS Builder est une plateforme web auto-hébergée pour gérer un système de management de la sécurité de l'information (SMSI). Elle couvre l'ensemble du cycle de vie de la conformité — de la rédaction des politiques aux preuves d'audit — pour ISO 27001:2022, NIS2, RGPD/DSGVO, BSI IT-Grundschutz et d'autres référentiels.
Pas de cloud. Pas de frais SaaS. Vos données restent sur votre serveur.
Conçu pour les PME, les équipes informatiques et les consultants qui ont besoin d'un véritable outil SMSI sans contrat de fournisseur à cinq chiffres.
Utilisation prévue et périmètre
Ce projet a commencé comme un outil de travail pour un seul praticien SMSI et a grandi à partir de là. Il est open source parce que le travail peut être utile à d'autres — pas parce qu'il s'agit d'un produit commercial déguisé. Être explicite à ce sujet vous aide à décider s'il correspond à votre situation.
Ce pour quoi il est conçu. Une petite équipe SMSI — souvent une seule personne, parfois une poignée — qui rédige et maintient la documentation d'un système de management : politiques, risques, actifs, mesures, preuves. Le nombre de personnes qui ont besoin d'un compte devrait rester faible. Atteindre un large public fonctionne sans comptes : les accusés de réception des politiques sont envoyés sous forme de liens basés sur des jetons, afin que les destinataires lisent et confirment un document sans jamais se connecter, et sans apparaître dans aucune liste d'utilisateurs.
Ce qu'il attend de vous. ISMS Builder est auto-hébergé, et tout ce qui en découle vous appartient : déploiement, TLS, durcissement, sauvegardes, mises à jour, contrôle d'accès et obligations de protection des données pour tout ce que vous y stockez. Le projet fournit une configuration par défaut raisonnable, pas un service géré.
Ce qu'il n'est pas. Il n'existe aucune offre SaaS hébergée, aucun contrat de support commercial et aucun accord de niveau de service. Ce n'est pas un produit d'hébergement multi-locataire. Il ne vous certifie pas contre une norme quelconque, et ce n'est pas un conseil juridique — il vous aide à organiser et à prouver le travail, mais l'évaluation reste la vôtre et celle de votre auditeur.
Qui le maintient. Une personne, en plus d'un emploi à temps plein. Les issues et discussions sont lues et traitées, généralement en quelques jours ; les rapports de sécurité sont priorisés. Les demandes de fonctionnalités sont les bienvenues et façonnent réellement la feuille de route, mais elles rivalisent pour des soirées limitées. Si votre organisation dépend d'un calendrier fixe ou d'une réponse garantie, un fournisseur commercial est la recommandation honnête — et ce n'est pas une raison pour éviter le projet, seulement une raison pour planifier de manière réaliste.
Captures d'écran
| Connexion | Tableau de bord |
|---|---|
![]() | ![]() |
| Déclaration d'applicabilité | Gestion des risques |
|---|---|
![]() | ![]() |
| RGPD & Protection des données | Gestion des actifs |
|---|---|
![]() | ![]() |
| Conseils & Documentation | Rapports |
|---|---|
![]() | ![]() |
Exécutez
npm startet ouvrezhttps://localhost:3000pour explorer l'ensemble du jeu de données de démonstration localement.
Aperçu des fonctionnalités
| Module | Description | Normes |
|---|---|---|
| Gestion des politiques | CRUD de modèles, versionnage, cycle de vie (brouillon → revue → approuvé → archivé), hiérarchie d'espaces, pièces jointes | ISO 27001 §5 |
| Déclaration d'applicabilité | 313 mesures sur 8 référentiels, édition en ligne, analyse des écarts, mappage croisé | ISO 27001 A / BSI / NIS2 / EUCS / EUAI / ISO 9001 / CRA |
| Gestion des risques | Registre des risques, plans de traitement, rôle d'auditeur | ISO 27001 §6.1 |
| Objectifs de sécurité | Suivi des KPI avec barres de progression, intégration de calendrier | ISO 27001 §6.2 |
| RGPD & Confidentialité | VVT, contrats AV, AIPD, TOMs, file DSAR, minuteur 72 h, journal de suppression avec alertes e-mail | DSGVO art. 13–35 |
| Gestion des actifs | Registre des actifs, types d'actifs modifiables, objectifs de protection (CIA + authenticité) avec héritage de dépendances, niveaux de classification, suivi de fin de vie | ISO 27001 A.5.9–5.12 |
| BCM / BCP | Analyse d'impact sur l'activité, plans de continuité, exercices | ISO 27001 A.5.29–5.30 / NIS2 |
| Registres de formation | Catalogue de formations, suivi d'achèvement, téléchargement de certificats | ISO 27001 A.6.3 |
| Gestion des fournisseurs | Registre des fournisseurs, planification des audits, évaluation des risques | ISO 27001 A.5.19–5.22 |
| Juridique & Contrats | Contrats, NDA, politiques de confidentialité, calendrier d'expiration | |
| Boîte de réception des incidents | Boîte de réception CISO + formulaire de signalement public (aucune connexion requise) | NIS2 / BSI |
| Gouvernance | Revues de direction, suivi des actions | ISO 27001 §9.3 |
| Rapports | Matrice de conformité (Mesure × Entité), rapport d'écarts, cycles de revue, export CSV | |
| Constats d'audit | Registre des constats (ÉTAT→CIBLE→Risque→Recommandation), plans d'action, suivi de gravité/statut, réf FIND-AAAA-NNNN | ISO 27001 §9.2 |
| Traçabilité | Chaque enregistrement est lié aux mesures SoA + documents de politique — bidirectionnel | |
| Recherche sémantique | Recherche IA locale via Ollama (nomic-embed-text) avec repli sur mots-clés | |
| Multi-entités | Arborescence de structure d'entreprise, applicabilité par entité pour les mesures et politiques | |
| Interface multilingue & données de démonstration | Interface complète et contenu de démonstration en 🇩🇪 DE / 🇬🇧 EN / 🇫🇷 FR / 🇳🇱 NL ; langues disponibles contrôlées par l'administrateur |
⚠ IMPORTANT : Les mesures ISO nécessitent une installation manuelle par l'administrateur
ISO 27001:2022, ISO 9000:2015 et ISO 9001:2015 sont des normes protégées par le droit d'auteur publiées par l'Organisation internationale de normalisation (ISO, © ISO). Les définitions des mesures (titres, descriptions, texte des exigences) ne sont pas incluses dans ce logiciel et ne doivent pas être redistribuées sans une licence ISO valide.
Ce que cela signifie concrètement : Les modules SoA pour ISO 27001, ISO 9000 et ISO 9001 sont fournis sans contenu de mesures. L'administrateur doit importer manuellement les mesures avant que ces référentiels soient utilisables :
- Obtenez une copie sous licence de la norme auprès de iso.org ou d'un organisme national autorisé
- Préparez un fichier JSON avec vos définitions de mesures (format documenté dans
scripts/import-iso-controls.sh) - Exécutez le script d'importation : ```bash
bash scripts/import-iso-controls.sh path/to/iso-controls.json
- Redémarrez le serveur ISMS Builder
Frameworks inclus prêts à l’emploi (aucune licence ISO requise) : BSI IT-Grundschutz, EU NIS2, EUCS, EU AI Act et CRA sont basés sur des législations européennes et des publications fédérales allemandes publiquement disponibles et sont entièrement préinstallés.
L’exploitation des modules de framework ISO sans licence valide pour la norme respective relève de la seule responsabilité de l’opérateur. Le projet ISMS Builder et ses contributeurs déclinent toute responsabilité en cas d’utilisation non licenciée de contenu protégé par les normes ISO.
Démarrage rapide```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
Connectez-vous avec **`[email protected]` / `adminpass`**. Lors de la première connexion, il vous sera demandé de choisir la **langue des données de démonstration** (🇩🇪 DE / 🇬🇧 EN / 🇫🇷 FR / 🇳🇱 NL) ou de démarrer avec un système vide. Changez immédiatement le mot de passe administrateur après.
Pour une utilisation en production avec 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
Passer en production après une évaluation avec des données de démonstration ? Exécutez plutôt l'outil interactif de préparation à la production au lieu de repartir d'une installation vierge — il efface le contenu de démonstration/test module par module (ou tout d'un coup), afin que les données réelles que vous avez déjà saisies (ex. risques, actifs) n'aient pas à être ressaisies :```bash bash stop.sh node scripts/prepare-production.js bash start.sh
Il crée toujours une sauvegarde (`data.bak.<timestamp>/`, à côté de votre répertoire `data/`) avant de
modifier quoi que ce soit, et ne touche jamais à `STORAGE_BACKEND` — contrairement à l'action admin « Demo Reset » de l'application,
qui est destinée à l'instance de démonstration et bascule toujours vers `sqlite` pour des raisons historiques
(voir [Issue #42](https://github.com/coolstartnow/isms-builder/issues/42)).
---
## Docker
Chaque version est publiée en tant que package GitHub dans le GitHub Container Registry, pour
`linux/amd64` et `linux/arm64` — étiquetée `:latest` et `:<version>` (par ex. `:1.37.5.2`) :```bash
docker compose up -d
# App runs at http://localhost:3000
Ou sans Compose (data/ doit être un bind mount — les données ne sont jamais intégrées dans l'image) :```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
C'est le mode par défaut, qui stocke les données sous forme de fichiers JSON simples dans `./data` — aucun conteneur de base de données n'est nécessaire
du tout. C'est la configuration recommandée pour les petites équipes et c'est ce qu'utilisent les deux commandes ci-dessus.
**Utiliser PostgreSQL (ou MariaDB) au lieu de JSON.** L'image prend en charge cela nativement, mais —
contrairement à la configuration JSON ci-dessus — cela nécessite un second conteneur (la base de données proprement dite) ainsi qu'une poignée de
variables d'environnement indiquant à l'application comment y accéder. Si vous n'avez récupéré que l'image elle-même
(`docker pull ghcr.io/coolstartnow/isms-builder`) sans jamais cloner ce dépôt, ces
noms de variables ne sont visibles nulle part par défaut — `docker-compose.yml` et `.env.example`, où
ils sont documentés, sont des fichiers de ce dépôt Git, et non des éléments de l'image. Cette section existe
pour que cette information ne reste pas un secret propre au dépôt.
L'image `isms-builder` elle-même n'intègre jamais de serveur de base de données — `postgres:17` (ou `mariadb:11`)
est un moteur de base de données totalement générique et vide provenant de Docker Hub, sans aucune connaissance des
tables de ce projet. Ces tables (risques, actifs, mesures de la SoA, etc.) sont créées automatiquement
par l'application elle-même dès son démarrage lorsqu'elle trouve une base de données vide — aucune importation SQL manuelle,
aucune étape de migration séparée à exécuter. Consultez « Comment le schéma de base de données est-il
créé ? » ci-dessous si vous voulez le détail complet du mécanisme.
Deux conteneurs, un réseau Docker partagé, puis l'application est informée de l'emplacement de la base de données :```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
Voici la signification de chaque variable :
| Variable | Rôle |
|---|---|
STORAGE_BACKEND | postgres (ou pg) pour PostgreSQL, mariadb pour MariaDB/MySQL. Laissez non défini (ou json) pour la configuration JSON par défaut. |
DB_HOST | Nom d'hôte du conteneur de base de données. Sur un réseau Docker partagé, il s'agit simplement du --name du conteneur — Docker le résout automatiquement. |
DB_PORT | 5432 pour PostgreSQL, 3306 pour MariaDB. |
DB_USER / DB_PASS / DB_NAME | Doivent correspondre à ce que vous avez défini sur le conteneur de base de données (POSTGRES_USER/POSTGRES_PASSWORD/POSTGRES_DB ci-dessus, ou les équivalents MariaDB). |
Pour MariaDB, remplacez postgres:17-alpine par mariadb:11, utilisez ses variables MARIADB_DATABASE /
MARIADB_USER / MARIADB_PASSWORD à l'étape 2, et STORAGE_BACKEND=mariadb /
DB_PORT=3306 à l'étape 3. La liste complète et croisée de toutes les variables d'environnement que ce
projet comprend — y compris celles non couvertes ici (SSL, confiance du proxy inverse, SMTP,
2FA, …) — se trouve dans .env.example dans ce dépôt.
Les utilisateurs de Compose en profitent gratuitement : docker-compose.yml inclut déjà les profils de service mariadb et postgres
(commentés par défaut, avec les explications équivalentes des variables d'environnement) —
docker compose --profile postgres up -d démarre les deux conteneurs connectés automatiquement,
sans configuration réseau manuelle ni copier-coller de mots de passe.
Comment le schéma de base de données est-il créé ? Ni l'image postgres:17 ni la mariadb:11
ne connaissent ce projet — ce sont des moteurs de base de données génériques et vides directement issus de
Docker Hub. Il n'y a aucun fichier de dump SQL à importer ni aucune commande de migration distincte à exécuter manuellement.
Au lieu de cela, dès que le conteneur isms-builder démarre et se connecte à une base de données vide, son
propre code applicatif (et non l'image de base de données) crée toutes les tables nécessaires sur place — voir
server/db/knexDatabase.js : une liste de définitions de tables, chacune
vérifiée avec hasTable() et créée avec createTable() si absente, le tout avant que l'application ne commence
à accepter des requêtes HTTP. Cela rend le processus idempotent — le tout premier démarrage construit le schéma complet
à partir de rien, et chaque redémarrage ultérieur sur la même base de données est une opération silencieuse sans effet, car
les tables existent déjà. C'est le même mécanisme, non modifié, qui a été vérifié en conditions réelles contre
SQLite, MariaDB 11 et PostgreSQL 17 (voir #70).
Pour compiler à partir des sources à la place, décommentez le bloc build: dans docker-compose.yml et exécutez
docker compose up -d --build.
Les images portent une attestation de provenance de build signée :```bash gh attestation verify oci://ghcr.io/coolstartnow/isms-builder:latest --owner coolstartnow
---
## Prérequis
- **Node.js 18+** (testé : 18, 20, 22)
- npm 9+
- (Optionnel) Docker + Docker Compose
- (Optionnel) [Ollama](https://ollama.ai) pour la recherche sémantique IA locale
---
## Configuration (`.env`)
| Variable | Défaut | Description |
|---|---|---|
| `JWT_SECRET` | *(requis)* | Secret pour la signature JWT — utilisez 32+ caractères aléatoires |
| `PORT` | `3000` | Port d'écoute HTTP/HTTPS |
| `STORAGE_BACKEND` | `json` | `json` (dev/démo) ou `sqlite` (production) |
| `SSL_CERT_FILE` | — | Chemin vers le certificat TLS → active HTTPS |
| `SSL_KEY_FILE` | — | Chemin vers la clé privée TLS |
| `DATA_DIR` | `./data` | Remplace le répertoire de données (volumes Docker) |
| `SMTP_HOST` | — | Serveur SMTP pour les alertes par e-mail |
| `SMTP_PORT` | `587` | Port SMTP |
| `SMTP_USER` | — | Nom d'utilisateur SMTP |
| `SMTP_PASS` | — | Mot de passe SMTP |
| `SMTP_FROM` | — | Adresse d'expéditeur pour les notifications |
---
## Architecture```
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), mots de passe bcrypt, TOTP 2FA (imposable à l’échelle de l’organisation) - RBAC :
reader→editor/dept_head→contentowner/auditor→admin - Persistance : Fichiers JSON (par défaut/démo) ou SQLite via
better-sqlite3 - IA : Ollama local optionnel (nomic-embed-text) ; la recherche par mots-clés reste toujours disponible en secours
- Journal d’audit : Chaque action de création/modification/suppression/connexion est enregistrée, filtrable et exportable
Voir docs/architecture/ pour les diagrammes C4, le modèle de données complet et la spécification OpenAPI 3.0.3 (plus de 80 points de terminaison).
Exécution des tests
Remarque : La suite de tests sous
tests/correspond aux tests de développement personnels de l’auteur et est fournie avec le projet par souci de transparence. Elle ne fait pas partie de l’application elle-même et n’est pas requise pour exécuter l’application. Les tests couvrent le comportement interne de l’API et utilisent des identifiants de test codés en dur qui n’existent que dans l’environnement de test isolé — ils n’ont aucun lien avec les données de production ou de démonstration.```bash npm test # runs all 423 tests npm run preflight # exactly what CI gates on (tests + pinning + audit) npm test -- --verbose # with test names
Les tests utilisent un répertoire temporaire isolé — aucune donnée de production n'est touchée.
---
## Contribuer
Les contributions sont les bienvenues ! Voir [CONTRIBUTING.md](https://github.com/coolstartnow/isms-builder/blob/main/CONTRIBUTING.md) pour :
- Configuration de développement (5 minutes jusqu'au premier test)
- Style de code et conventions
- Comment ouvrir un bon ticket ou une bonne PR
**Vous avez trouvé un problème de sécurité ?** Merci de ne pas ouvrir de ticket public — utilisez
[la divulgation privée de vulnérabilités](https://github.com/coolstartnow/isms-builder/security/advisories/new).
[SECURITY.md](https://github.com/coolstartnow/isms-builder/blob/main/SECURITY.md) décrit le périmètre, la clause de non-responsabilité et ce à quoi vous attendre raisonnablement.
**Premières issues idéales** sont étiquetées [`good first issue`](https://github.com/coolstartnow/isms-builder/issues?q=label%3A%22good+first+issue%22) dans le suivi des issues.
---
## Feuille de route
| Statut | Fonctionnalité |
|---|---|
| ✅ Terminé | Recherche sémantique (Ollama / nomic-embed-text) |
| ✅ Terminé | Backend SQLite, Docker, CI/CD |
| ✅ Terminé | Alertes e-mail du journal de suppression RGPD |
| ✅ Terminé | Packs de démonstration multilingues (DE / EN / FR / NL) |
| ✅ Terminé | Module de constats d'audit avec plans d'action (V 1.37.2.0) |
| ✅ Terminé | Traductions des guides FR/NL + configuration linguistique admin (V 1.37.2.0) |
| ✅ Terminé | Backend MariaDB/MySQL (`STORAGE_BACKEND=mariadb`, V 1.37.2.1) |
| ✅ Terminé | Scanner → brouillon de risque (import XML + PDF Greenbone/OpenVAS, V 1.37.2.0) |
| ✅ Terminé | Accusé de réception des politiques — le personnel confirme numériquement les politiques avec piste d'audit (V 1.37.2.0) |
| ✅ Terminé | CRUD des guides — créer, modifier et téléverser sa propre documentation (V 1.37.2.0) |
| ✅ Terminé | Recherche dans les guides — recherche plein texte inter-catégories avec extrait (V 1.37.2.0) |
| ✅ Terminé | Objectifs de protection des actifs — CIA + authenticité (1–4), dépendances et héritage du principe du maximum BSI (V 1.37.2.0) |
| ✅ Terminé | Liste de contrôle de gouvernance NIS2 Art. 21 (30 éléments) et délais de notification Art. 23 avec alertes automatiques (V 1.37.2.0) |
| ✅ Terminé | Backend PostgreSQL (`STORAGE_BACKEND=pg`) — même couche de stockage Knex que MariaDB, vérifié sur une instance réelle PostgreSQL 17 incl. chemin complet `docker compose` (V 1.37.5) |
| ✅ Terminé | Intégration ownCloud / Nextcloud — politiques approuvées publiées automatiquement en PDF via WebDAV, visibilité optionnelle favori/lien public, vérifié en direct sur une instance réelle NextcloudPi (#66, V 1.37.5.1) |
| ✅ Terminé | Image Docker publiée sur GitHub Container Registry après chaque version (`ghcr.io/coolstartnow/isms-builder`, `linux/amd64` + `linux/arm64`, provenance de build signée) — contribution de @bucherfa (#71, V 1.40.0). Essai limité en effort de maintenance : abandonné à nouveau s'il s'avère plus coûteux que prévu. |
| 🔜 Prochain | Assistant politique IA — Ollama rédige le contenu des politiques à partir du titre + du cadre |
| 🔜 Prochain | Rapports planifiés — rapport de conformité hebdomadaire/mensuel envoyé par e-mail |
| 🔜 Prochain | Détection d'anomalies dans le journal d'audit (traitement par lots LLM) |
| 🚀 Plus tard | Évaluation quantitative des risques (valeurs en €, inspiré de FAIR) |
| 🚀 Plus tard | Portail de collaboration auditeur — accès externe en lecture seule pour les auditeurs |
| 🚀 Plus tard | Analyse des écarts de politique (LLM) |
| 🏁 V 2.x | Catégories de guides configurables — les administrateurs définissent des catégories personnalisées (p. ex. flux de travail, documents organisationnels) |
---
## À propos de l'auteur
**Claude Hecker** travaille dans l'informatique depuis plus de 35 ans. Après environ 15 ans en tant que DSI,
il est passé aux rôles de RSSI et de délégué à la protection des données (DPO/DPD). Au cours de sa carrière,
il a conçu et mis en œuvre une infrastructure informatique d'entreprise et une connectivité réseau étendu
(VPN, MPLS) pour une grande entreprise européenne — responsable d'opérations fiables et sécurisées sur
plusieurs sites et juridictions.
ISMS Builder est né directement de cette expérience : construire et maintenir un SMSI conforme dans le
monde réel, à travers de véritables audits, avec une réelle pression réglementaire. L'outil reflète ce dont
les praticiens ont réellement besoin — pas ce qu'un chef de produit pense qu'ils ont besoin.
**Pourquoi l'open source ?**
Les PME méritent d'accéder à une véritable plateforme SMSI sans frais de licence à cinq chiffres. L'effort
d'intégration est réel quel que soit l'outil choisi — mais ce coût ne devrait pas être aggravé par un
verrouillage fournisseur ou par des données quittant votre propre infrastructure. Ce projet défend la liberté
logicielle et le principe que vos données de conformité vous appartiennent.
---
## Avis de référence aux normes
Ce logiciel référence des identifiants de contrôles et des titres courts issus de
normes publiées uniquement à des fins d'interopérabilité et de gestion de la conformité.
- **ISO/IEC 27001, ISO 9000, ISO 9001** sont des normes publiées par
l'Organisation internationale de normalisation (ISO). Les définitions de contrôles
pour ces normes **ne sont pas incluses** dans cette distribution logicielle —
le droit d'auteur de l'ISO n'autorise pas la redistribution du texte des contrôles. Les utilisateurs doivent
fournir leur propre fichier JSON (voir la section ci-dessus et `scripts/import-iso-controls.sh`).
Les normes doivent être obtenues auprès de l'[ISO](https://www.iso.org/) ou d'un
distributeur national autorisé.
- **BSI IT-Grundschutz** est publié par l'Office fédéral allemand de la sécurité
de l'information (BSI) et est librement disponible sur
[bsi.bund.de](https://www.bsi.bund.de).
- **NIS2, CRA, EUCS, EU AI Act** sont des actes législatifs de l'UE et sont
disponibles publiquement via [eur-lex.europa.eu](https://eur-lex.europa.eu).
---
## Licence
Copyright (C) 2026 Claude Hecker
Ce programme est un logiciel libre sous licence
[GNU Affero General Public License v3.0](https://github.com/coolstartnow/isms-builder/blob/main/LICENSE).
Si vous exécutez une version modifiée en tant que service réseau, vous devez rendre le
code source complet disponible aux utilisateurs de ce service (AGPL §13).
Ce projet inclut des composants tiers sous licences MIT, BSD-2-Clause et
Apache-2.0. Voir [THIRD-PARTY-LICENSES.md](https://github.com/coolstartnow/isms-builder/blob/main/THIRD-PARTY-LICENSES.md)
pour l'attribution complète et les textes de licence.






