Volver a actualizaciones
Nuevo releaseAug 12, 2026

isms-builder v1.37.2

Sistema de Gestión de Seguridad de la Información auto-alojado — ISO 27001, NIS2, GDPR/DSGVO, BSI IT-Grundschutz

Compartir

ISMS Builder Banner

ISMS Builder

Sistema de gestión de seguridad de la información autoalojado: código abierto, sin necesidad de nube

CI Tests License: AGPL-3.0 Node.js Version


⚠️ Advertencia de seguridad: repositorios falsos y copias que distribuyen malware

ISMS Builder no tiene «lanzamientos» empaquetados, instaladores ni archivos ZIP descargables: la única fuente legítima es este repositorio, clonado o descargado directamente desde GitHub como código fuente. Somos conscientes de al menos un repositorio malicioso que suplanta a este proyecto (README falso, botón de «Descargar» falso que enlaza a un ZIP disfrazado de captura de pantalla, que contiene un cargador de malware para Windows — cadena de carga .cmd.exe → DLL de Lua). No descargue ni ejecute ningún ZIP/instalador/exe de «isms_builder» desde ningún sitio que no sea este repositorio. Si encuentra un repositorio o sitio sospechoso que suplante a este proyecto, abra un issue o una discusión para que podamos marcarlo.


Estado: desarrollo activo: aún no es un producto terminado. Los módulos principales son funcionales y están en uso, pero algunas funciones están incompletas y la plataforma sigue creciendo. Las contribuciones, los comentarios y las pruebas en entornos reales son muy bienvenidos; precisamente por eso se publicó como código abierto.


¿Qué es ISMS Builder?

ISMS Builder es una plataforma web autoalojada para gestionar un Sistema de Gestión de Seguridad de la Información (ISMS). Cubre todo el ciclo de vida del cumplimiento normativo — desde la redacción de políticas hasta la evidencia de auditoría — para ISO 27001:2022, NIS2, GDPR/DSGVO, BSI IT-Grundschutz y otros marcos.

Sin nube. Sin cuotas SaaS. Sus datos permanecen en su servidor.

Diseñado para pymes, equipos de TI y consultores que necesitan una herramienta ISMS real sin un contrato de proveedor de cinco cifras.


Uso Previsto y Alcance

Este proyecto comenzó como una herramienta de trabajo para un solo profesional del ISMS y creció a partir de ahí. Es de código abierto porque el trabajo puede ser útil para otros — no porque sea un producto comercial encubierto. Ser explícito al respecto le ayuda a decidir si se ajusta a su situación.

Para qué está hecho. Un equipo pequeño de ISMS — a menudo una sola persona, a veces unas pocas — que redacta y mantiene la documentación de un sistema de gestión: políticas, riesgos, activos, controles, evidencia. Se espera que el número de personas que necesitan una cuenta siga siendo reducido. Llegar a un público amplio funciona sin cuentas: los acuses de recibo de políticas se envían como enlaces basados en tokens, de modo que los destinatarios leen y confirman un documento sin iniciar sesión y sin aparecer en ninguna lista de usuarios.

Qué espera de usted. ISMS Builder es autoalojado y todo lo que ello conlleva es suyo: despliegue, TLS, endurecimiento, copias de seguridad, actualizaciones, control de acceso y las obligaciones de protección de datos de todo lo que almacene en él. El proyecto incluye una configuración predeterminada razonable, no un servicio gestionado.

Qué no es. No existe una oferta SaaS alojada, ni contrato de soporte comercial, ni acuerdo de nivel de servicio. No es un producto de alojamiento multiinquilino. No le certifica frente a ningún estándar y no es asesoramiento legal — le ayuda a organizar y evidenciar el trabajo, pero la evaluación sigue siendo suya y de su auditor.

Quién lo mantiene. Una persona, además de un trabajo a tiempo completo. Los issues y las discusiones se leen y responden, normalmente en pocos días; los informes de seguridad tienen prioridad. Las solicitudes de funciones son bienvenidas y de verdad moldean la hoja de ruta, pero compiten por unas noches limitadas. Si su organización depende de un calendario fijo o de una respuesta garantizada, lo honesto es recomendar un proveedor comercial — y eso no es un motivo para evitar el proyecto, solo un motivo para planificar con realismo.


Capturas de Pantalla

Inicio de sesiónPanel de control
Inicio de sesiónPanel de control
Declaración de AplicabilidadGestión de Riesgos
Declaración de AplicabilidadGestión de Riesgos
GDPR y Protección de DatosGestión de Activos
GDPR y Protección de DatosGestión de Activos
Guidance y DocumentaciónInformes
Guidance y DocumentaciónInformes

Ejecute npm start y abra https://localhost:3000 para explorar localmente el conjunto completo de datos de demostración.


Resumen de Funcionalidades

MóduloDescripciónEstándares
Gestión de PolíticasCRUD de plantillas, versionado, ciclo de vida (borrador → revisión → aprobado → archivado), jerarquía de espacios, adjuntosISO 27001 §5
Declaración de Aplicabilidad313 controles en 8 marcos, edición en línea, análisis de brechas, mapeo cruzadoISO 27001 A / BSI / NIS2 / EUCS / EUAI / ISO 9001 / CRA
Gestión de RiesgosRegistro de riesgos, planes de tratamiento, rol de auditorISO 27001 §6.1
Objetivos de SeguridadSeguimiento de KPI con barras de progreso, integración de calendarioISO 27001 §6.2
GDPR y PrivacidadVVT, contratos AV, DSFA, TOMs, cola DSAR, temporizador de 72 h, registro de borrado con alertas de correoDSGVO Art. 13–35
Gestión de ActivosRegistro de activos, tipos de activos editables, objetivos de protección (CIA + autenticidad) con herencia por dependencias, niveles de clasificación, seguimiento de fin de vida útil (EoL)ISO 27001 A.5.9–5.12
BCM / BCPAnálisis de Impacto en el Negocio, planes de continuidad, ejerciciosISO 27001 A.5.29–5.30 / NIS2
Registros de FormaciónCatálogo de formación, seguimiento de finalización, carga de certificadosISO 27001 A.6.3
Gestión de ProveedoresRegistro de proveedores, programación de auditorías, evaluación de riesgosISO 27001 A.5.19–5.22
Legal y ContratosContratos, NDAs, políticas de privacidad, calendario de vencimientos
Buzón de IncidentesBandeja de entrada del CISO + formulario público de notificación (sin inicio de sesión)NIS2 / BSI
GobernanzaRevisiones de la dirección, seguimiento de accionesISO 27001 §9.3
InformesMatriz de cumplimiento (Control × Entidad), informe de brechas, ciclos de revisión, exportación CSV
Hallazgos de AuditoríaRegistro de hallazgos (IST→SOLL→Riesgo→Recomendación), planes de acción, seguimiento de gravedad/estado, ref. FIND-YYYY-NNNNISO 27001 §9.2
TrazabilidadCada registro enlaza con controles SoA y documentos de políticas: bidireccional
Búsqueda SemánticaBúsqueda local con IA mediante Ollama (nomic-embed-text) con respaldo por palabras clave
Multi-EntidadÁrbol de estructura corporativa, aplicabilidad por entidad para controles y políticas
Interfaz Multilingüe y Datos de DemoInterfaz y contenido de demostración completos en 🇩🇪 DE / 🇬🇧 EN / 🇫🇷 FR / 🇳🇱 NL; el administrador controla los idiomas disponibles

⚠ IMPORTANTE: Los controles ISO requieren instalación manual por parte del administrador

ISO 27001:2022, ISO 9000:2015 e ISO 9001:2015 son estándares protegidos por derechos de autor publicados por la Organización Internacional de Normalización (ISO, © ISO). Las definiciones de controles (títulos, descripciones, texto de requisitos) no están incluidas en este software y no deben redistribuirse sin una licencia ISO válida.

Qué significa esto en la práctica: Los módulos SoA de ISO 27001, ISO 9000 e ISO 9001 se distribuyen sin contenido de controles. El administrador debe importar manualmente los controles antes de que estos marcos sean utilizables:

  1. Obtenga una copia con licencia del estándar en iso.org o en un organismo nacional autorizado
  2. Prepare un archivo JSON con sus definiciones de controles (formato documentado en scripts/import-iso-controls.sh)
  3. Ejecute el script de importación:
    bash scripts/import-iso-controls.sh path/to/iso-controls.json
    
  4. Reinicie el servidor de ISMS Builder

Marcos incluidos de serie (sin licencia ISO): BSI IT-Grundschutz, EU NIS2, EUCS, EU AI Act y CRA se basan en legislación de la UE disponible públicamente y en publicaciones federales alemanas, y están totalmente preinstalados.

Operar los módulos de marcos ISO sin una licencia válida del estándar correspondiente es responsabilidad exclusiva del operador. El proyecto ISMS Builder y sus colaboradores no aceptan ninguna responsabilidad por el uso sin licencia de contenido protegido por ISO.


Inicio Rápido

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

Inicie sesión con [email protected] / adminpass. En el primer inicio de sesión se le pedirá que elija el idioma de los datos de demostración (🇩🇪 DE / 🇬🇧 EN / 🇫🇷 FR / 🇳🇱 NL) o que comience con un sistema vacío. Cambie la contraseña del administrador inmediatamente después.

Para uso en producción 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

¿Va a pasar a producción después de evaluar con datos de demostración? Ejecute la herramienta interactiva de preparación para producción en lugar de empezar desde una instalación nueva: elimina el contenido de demostración/prueba módulo por módulo (o todo a la vez), de modo que los datos reales que ya haya introducido (p. ej. riesgos, activos) no tengan que volver a introducirse:

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

Siempre crea una copia de seguridad (data.bak.<timestamp>/, junto a su directorio data/) antes de cambiar nada, y nunca toca STORAGE_BACKEND — a diferencia de la acción de administración "Demo Reset" de la aplicación, que está pensada para la instancia de demostración y sigue cambiando a sqlite por razones históricas (ver Issue #42).


Docker

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

Requisitos

  • Node.js 18+ (probado: 18, 20, 22)
  • npm 9+
  • (Opcional) Docker + Docker Compose
  • (Opcional) Ollama para la búsqueda semántica local con IA

Configuración (.env)

VariablePredeterminadoDescripción
JWT_SECRET(obligatorio)Secreto para la firma JWT: use 32+ caracteres aleatorios
PORT3000Puerto de escucha HTTP/HTTPS
STORAGE_BACKENDjsonjson (dev/demo) o sqlite (producción)
SSL_CERT_FILERuta al certificado TLS → habilita HTTPS
SSL_KEY_FILERuta a la clave privada TLS
DATA_DIR./dataSobrescribe el directorio de datos (volúmenes Docker)
SMTP_HOSTServidor SMTP para alertas de correo
SMTP_PORT587Puerto SMTP
SMTP_USERNombre de usuario SMTP
SMTP_PASSContraseña SMTP
SMTP_FROMDirección del remitente para notificaciones

Arquitectura

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)
  • Autenticación: cookie JWT (sm_session), contraseñas bcrypt, 2FA TOTP (exigible en toda la organización)
  • RBAC: readereditor / dept_headcontentowner / auditoradmin
  • Persistencia: archivos JSON (predeterminado/demo) o SQLite mediante better-sqlite3
  • IA: Ollama local opcional (nomic-embed-text); la búsqueda por palabras clave está siempre disponible como alternativa
  • Registro de auditoría: cada acción de creación/actualización/eliminación/inicio de sesión queda registrada, es filtrable y exportable

Consulte docs/architecture/ para los diagramas C4, el modelo de datos completo y la especificación OpenAPI 3.0.3 (más de 80 endpoints).


Ejecución de Pruebas

Nota: El conjunto de pruebas en tests/ son las pruebas de desarrollo personales del autor y se incluyen junto al proyecto por transparencia. No forman parte de la aplicación en sí y no son necesarias para ejecutar la aplicación. Las pruebas cubren el comportamiento interno de la API y utilizan credenciales de prueba fijas que solo existen en el entorno de pruebas aislado — no guardan relación con ningún dato de producción ni de demostración.

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

Las pruebas usan un directorio temporal aislado: no se toca ningún dato de producción.


Contribuciones

¡Las contribuciones son muy bienvenidas! Consulte CONTRIBUTING.md para:

  • Configuración de desarrollo (5 minutos hasta la primera ejecución de pruebas)
  • Estilo de código y convenciones
  • Cómo abrir un buen issue o PR

¿Ha encontrado un problema de seguridad? Por favor, no abra un issue público: utilice la notificación privada de vulnerabilidades. SECURITY.md describe el alcance, la protección de buena fe y qué esperar de forma realista.

Los buenos primeros issues están etiquetados como good first issue en el rastreador de issues.


Hoja de Ruta

EstadoFuncionalidad
✅ CompletadoBúsqueda semántica (Ollama / nomic-embed-text)
✅ CompletadoBackend SQLite, Docker, CI/CD
✅ CompletadoAlertas de correo del registro de borrado GDPR
✅ CompletadoPaquetes de demostración multilingües (DE / EN / FR / NL)
✅ CompletadoMódulo de Hallazgos de Auditoría con planes de acción (V 1.37.2.0)
✅ CompletadoTraducciones de Guidance FR/NL + configuración de idioma por el administrador (V 1.37.2.0)
✅ CompletadoBackend MariaDB/MySQL (STORAGE_BACKEND=mariadb, V 1.37.2.1)
✅ CompletadoEscáner → borrador de riesgo (importación XML + PDF de Greenbone/OpenVAS, V 1.37.2.0)
✅ CompletadoAcuse de recibo de políticas — el personal confirma las políticas digitalmente con rastro de auditoría (V 1.37.2.0)
✅ CompletadoCRUD de Guidance — crear, editar y subir documentación propia (V 1.37.2.0)
✅ CompletadoBúsqueda en Guidance — búsqueda de texto completo entre categorías con extracto (V 1.37.2.0)
✅ CompletadoObjetivos de protección de activos — CIA + autenticidad (1–4), dependencias y herencia por el principio del máximo de BSI (V 1.37.2.0)
✅ CompletadoLista de verificación de gobernanza NIS2 Art. 21 (30 elementos) y plazos de notificación del Art. 23 con alertas automáticas (V 1.37.2.0)
🔜 SiguienteAsistente de políticas con IA: Ollama redacta el contenido de la política a partir del título + marco
🔜 SiguienteInformes programados: informe de cumplimiento semanal/mensual enviado por correo
🔜 SiguienteBackend PostgreSQL
🔜 SiguienteDetección de anomalías en el registro de auditoría (lote LLM)
🚀 Más adelantePuntuación de riesgo cuantitativa (valores en €, inspirada en FAIR)
🚀 Más adelantePortal de colaboración para auditores: acceso externo de solo lectura para auditores
🚀 Más adelanteIntegración con ownCloud / Nextcloud
🚀 Más adelanteAnálisis de brechas de políticas (LLM)
🏁 V 2.xCategorías de Guidance configurables: los administradores definen categorías personalizadas (p. ej. flujos de trabajo, documentos de la organización)

Sobre el Autor

Claude Hecker lleva más de 35 años trabajando en TI. Tras unos 15 años como CIO, pasó a desempeñar los roles de CISO y Delegado de Protección de Datos (DSO/DSB). Durante su carrera ha diseñado e implementado infraestructura de TI a nivel empresarial y conectividad de red de área amplia (VPN, MPLS) para una gran corporación europea — responsable de operaciones fiables y seguras en múltiples sedes y jurisdicciones.

ISMS Builder surgió directamente de esa experiencia: construir y mantener un ISMS conforme en el mundo real, a través de auditorías reales, con presión regulatoria real. La herramienta refleja lo que los profesionales realmente necesitan — no lo que un gestor de producto cree que necesitan.

¿Por qué código abierto? Las pymes merecen acceso a una plataforma ISMS adecuada sin cuotas de licencia de cinco cifras. El esfuerzo de puesta en marcha es real independientemente de la herramienta que elija — pero ese coste no debería verse agravado por la dependencia del proveedor ni por la salida de sus datos de su propia infraestructura. Este proyecto defiende la libertad del software y el principio de que sus datos de cumplimiento le pertenecen.


Aviso de Referencia a Estándares

Este software hace referencia a identificadores de controles y títulos abreviados de estándares publicados únicamente con fines de interoperabilidad y gestión del cumplimiento normativo.

  • ISO/IEC 27001, ISO 9000, ISO 9001 son estándares publicados por la Organización Internacional de Normalización (ISO). Las definiciones de controles de estos estándares no están incluidas en esta distribución de software — los derechos de autor de ISO no permiten la redistribución del texto de los controles. Los usuarios deben aportar su propio archivo JSON (consulte la sección anterior y scripts/import-iso-controls.sh). Los estándares deben obtenerse en ISO o en un distribuidor nacional autorizado.
  • El material de BSI IT-Grundschutz es publicado por la Oficina Federal Alemana de Seguridad de la Información (BSI) y está disponible gratuitamente en bsi.bund.de.
  • NIS2, CRA, EUCS, EU AI Act son actos legislativos de la UE y están disponibles públicamente a través de eur-lex.europa.eu.

Licencia

Copyright (C) 2026 Claude Hecker

Este programa es software libre licenciado bajo la GNU Affero General Public License v3.0.

Si ejecuta una versión modificada como servicio de red, debe poner el código fuente completo a disposición de los usuarios de ese servicio (AGPL §13).

Este proyecto incluye componentes de terceros bajo licencias MIT, BSD-2-Clause y Apache-2.0. Consulte THIRD-PARTY-LICENSES.md para ver la atribución completa y los textos de licencia.

Categorías