
セルフホスト型情報セキュリティマネジメントシステム — ISO 27001, NIS2, GDPR/DSGVO, BSI IT-Grundschutz
<!-- © 2026 Claude Hecker — ISMS Builder V 1.40.3 — AGPL-3.0 -->

# ISMS Builder
**セルフホスト型情報セキュリティマネジメントシステム — オープンソース、クラウド不要**
[](https://github.com/coolstartnow/isms-builder/actions/workflows/ci.yml)
[](https://github.com/coolstartnow/isms-builder/actions)
[](LICENSE)
[](https://nodejs.org)
[](CHANGELOG.md)
📖 **[Wiki](https://github.com/coolstartnow/isms-builder/wiki)** — Docker イメージの使用と
環境変数、アーキテクチャとモジュール、FAQ、コントリビューション (DE/EN)
<!-- GDPR NOTE: The four badges above (CI, Tests, License, Node.js) load resources
from external servers (github.com, shields.io/Cloudflare, img.shields.io).
When this README is rendered in a browser, these requests transmit the viewer's
IP address to third parties (incl. US-based servers — GDPR Art. 44 ff.).
For 100% GDPR-compliant self-hosted documentation, replace these four badge
lines with their local equivalents from docs/badges/ or remove them entirely. -->
---
> ## ⚠️ セキュリティ警告: マルウェアを配布する偽リポジトリとコピー
> ISMS Builder には**パッケージ化された「リリース」、インストーラー、ダウンロード可能な ZIP ファイルはありません** —
> 唯一の正規ソースはこのリポジトリであり、GitHub からプレーンなソースコードとして
> 直接クローンまたはダウンロードしたものです。少なくとも 1 つの**このプロジェクトを装った悪意のあるリポジトリ**
> (偽の README、スクリーンショットを装った ZIP にリンクする偽の「ダウンロード」ボタン、Windows マルウェアローダーを含む
> — `.cmd` → `.exe` → Lua-DLL ペイロードチェーン) を確認しています。**このリポジトリ以外の場所から
> 「isms_builder」の ZIP/インストーラー/exe をダウンロードしたり実行したりしないでください。**
> このプロジェクトを装った疑わしいリポジトリやサイトを見つけた場合は、
> [issue](https://github.com/coolstartnow/isms-builder/issues) または
> [discussion](https://github.com/coolstartnow/isms-builder/discussions) を開いて報告してください。そうすれば警告を出すことができます。
---
> **ステータス: 活発に開発中 — まだ完成品ではありません。**
> コアモジュールは機能しており使用されていますが、一部の機能は不完全であり、
> プラットフォームはまだ成長途上です。コントリビューション、フィードバック、実環境での
> テストを歓迎します — まさにそれがこのプロジェクトがオープンソース化された理由です。
---
> 🛡️ **関連プロジェクト: [NIS2 Quick-Check](https://github.com/coolstartnow/nis2-quickcheck)** —
> 無料のスタンドアロン NIS2 セルフチェック (10 ドメイン × 5 問、EU 全 27 加盟国、EU 全 24
> 公用語対応)。完全にブラウザ内で動作し、バックエンドもインストールも不要。ISMS Builder の一部ではなく、
> 使用するために必須でもありません — 素早い初期把握のための補助ツールです。
---
## ISMS Builder とは?
ISMS Builder は、情報セキュリティマネジメントシステム (ISMS) を管理するための**セルフホスト型 Web プラットフォーム**です。
ポリシーの作成から監査証跡まで、コンプライアンスのライフサイクル全体をカバーします — ISO 27001:2022、NIS2、GDPR/DSGVO、BSI IT-Grundschutz などのフレームワークに対応。
**クラウドなし。SaaS 費用なし。データはあなたのサーバーに留まります。**
> 5 桁のベンダー契約なしに本格的な ISMS ツールを必要とする中小企業、IT チーム、コンサルタント向けに設計されています。
---
## 想定用途と適用範囲
このプロジェクトは、一人の ISMS 実務者のための実用ツールとして始まり、そこから成長しました。
オープンソースである理由は、その成果が他の人の役に立つかもしれないからであり、商業製品の
偽装ではないからです。この点を明示することで、あなたの状況に合うかどうかを判断しやすくなります。
**何のために作られたか。** 小規模な ISMS チーム — 多くの場合一人、時には数人 — が、
マネジメントシステムの文書を作成・維持するためです: ポリシー、リスク、資産、
管理策、証跡。*アカウントを必要とする*人数は少ないままであることが想定されています。
多数の対象者への展開はアカウントなしで機能します: ポリシーの承認はトークンベースのリンクとして送信されるため、
受信者はログインすることなく文書を閲覧・確認でき、
ユーザーリストに表示されることもありません。
**あなたに求めるもの。** ISMS Builder はセルフホスト型であり、そこから生じるすべてはあなたの責任です:
デプロイ、TLS、ハードニング、バックアップ、更新、アクセス制御、そしてそこに保存するものに対する
データ保護義務。このプロジェクトが提供するのは妥当なデフォルト設定であり、マネージドサービスではありません。
**何ではないか。** ホスト型 SaaS の提供はなく、商用サポート契約もなく、
サービスレベル契約もありません。マルチテナントのホスティング製品ではありません。いかなる標準への
認証も行わず、法的助言でもありません — 作業を整理し証跡化する手助けをしますが、
評価はあなたとあなたの監査人に委ねられます。
**誰が維持しているか。** 本業のかたわら、一人で維持しています。Issue やディスカッションは読まれ、
通常は数日以内に回答されます。セキュリティ報告は優先されます。機能リクエストは歓迎され、
ロードマップを実際に形作りますが、限られた夜の時間を奪い合うことになります。あなたの組織が
固定されたスケジュールや保証された応答に依存しているなら、商用ベンダーが正直な推奨です —
そしてそれはこのプロジェクトを避ける理由ではなく、現実的に計画する理由にすぎません。
---
## スクリーンショット
| ログイン | ダッシュボード |
|---|---|
|  |  |
| 適用宣言書 | リスク管理 |
|---|---|
|  |  |
| GDPR & データ保護 | 資産管理 |
|---|---|
|  |  |
| ガイダンス & ドキュメント | レポート |
|---|---|
|  |  |
> `npm start` を実行し、`https://localhost:3000` を開くと、完全なデモデータセットをローカルで確認できます。
---
## 機能概要
| モジュール | 説明 | 標準規格 |
|---|---|---|
| **ポリシー管理** | テンプレートの CRUD、バージョン管理、ライフサイクル (ドラフト → レビュー → 承認 → アーカイブ)、スペース階層、添付ファイル | ISO 27001 §5 |
| **適用宣言書** | 8 つのフレームワークにわたる 313 の管理策、インライン編集、ギャップ分析、クロスマッピング | ISO 27001 A / BSI / NIS2 / EUCS / EUAI / ISO 9001 / CRA |
| **リスク管理** | リスク登録簿、対応計画、監査人ロール | ISO 27001 §6.1 |
| **セキュリティ目標** | プログレスバー付き KPI 追跡、カレンダー連携 | ISO 27001 §6.2 |
| **GDPR & プライバシー** | VVT、AV 契約、DSFA、TOMs、DSAR キュー、72 時間タイマー、メールアラート付き削除ログ | DSGVO Art. 13–35 |
| **資産管理** | 資産登録簿、編集可能な資産タイプ、依存関係の継承を伴う保護目標 (CIA + 真正性)、分類レベル、EoL 追跡 | ISO 27001 A.5.9–5.12 |
| **BCM / BCP** | 事業影響度分析、事業継続計画、演習 | ISO 27001 A.5.29–5.30 / NIS2 |
| **トレーニング記録** | トレーニングカタログ、完了追跡、証明書アップロード | ISO 27001 A.6.3 |
| **サプライヤー管理** | ベンダー登録簿、監査スケジューリング、リスク評価 | ISO 27001 A.5.19–5.22 |
| **法務 & 契約** | 契約、NDA、プライバシーポリシー、有効期限カレンダー | |
| **インシデント受信箱** | CISO 受信箱 + **公開報告フォーム** (ログイン不要) | NIS2 / BSI |
| **ガバナンス** | マネジメントレビュー、アクション追跡 | ISO 27001 §9.3 |
| **レポート** | コンプライアンスマトリクス (管理策 × エンティティ)、ギャップレポート、レビューサイクル、CSV エクスポート | |
| **監査所見** | 所見登録簿 (IST→SOLL→リスク→推奨事項)、アクションプラン、重大度/ステータス追跡、FIND-YYYY-NNNN 参照 | ISO 27001 §9.2 |
| **トレーサビリティ** | すべてのレコードが SoA 管理策 + ポリシー文書にリンク — 双方向 | |
| **セマンティック検索** | Ollama (nomic-embed-text) によるローカル AI 検索、キーワードフォールバック付き | |
| **マルチエンティティ** | 企業構造ツリー、管理策とポリシーのエンティティ別適用可否 | |
| **多言語 UI & デモデータ** | UI とデモコンテンツの完全対応 🇩🇪 DE / 🇬🇧 EN / 🇫🇷 FR / 🇳🇱 NL、管理者が利用可能言語を制御 | |
---
### ⚠ 重要: ISO 管理策は管理者による手動インストールが必要です
> **ISO 27001:2022、ISO 9000:2015、ISO 9001:2015** は、国際標準化機構 (ISO, © ISO) が発行する
> 著作権で保護された標準規格です。管理策の定義
> (タイトル、説明、要求事項の本文) は本ソフトウェアに**含まれておらず**、有効な ISO ライセンスなしに
> **再配布してはなりません**。
**これが実際に意味すること:**
ISO 27001、ISO 9000、ISO 9001 の SoA モジュールは、管理策の内容なしで提供されます。
管理者は、これらのフレームワークを使用可能にする前に、管理策を**手動でインポートする必要があります**:
1. [iso.org](https://www.iso.org/) または認可された国内標準機関から標準規格のライセンス版を入手する
2. 管理策の定義を含む JSON ファイルを準備する (形式は `scripts/import-iso-controls.sh` に記載)
3. インポートスクリプトを実行する: ```bash
bash scripts/import-iso-controls.sh path/to/iso-controls.json
```
4. ISMS Builder サーバーを再起動します
> **すぐに使える標準搭載フレームワーク(ISOライセンス不要):**
> BSI IT-Grundschutz、EU NIS2、EUCS、EU AI Act、CRA は公開されている
> EU法規およびドイツ連邦の刊行物に基づいており、完全にプリインストールされています。
それぞれの標準規格に対する有効なライセンスなしでISOフレームワークモジュールを運用することは、
運用者自身の責任です。ISMS Builderプロジェクトおよびその貢献者は、ISOで保護されたコンテンツの
無許可使用に対して一切の責任を負いません。
---
## クイックスタート```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
```
**`[email protected]` / `adminpass`** でログインします。初回ログイン時に、**デモデータの言語**(🇩🇪 DE / 🇬🇧 EN / 🇫🇷 FR / 🇳🇱 NL)を選択するか、空のシステムで開始するかを求められます。ログイン後すぐに管理者パスワードを変更してください。
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
```
**デモデータで評価した後に本番運用を開始しますか?** 新規インストールから始めるのではなく、対話型の本番準備ツールを実行してください — デモ/テストコンテンツをモジュールごとに(または一括で)クリアするため、すでに入力した実データ(例: リスク、資産)を再入力する必要がありません:```bash
bash stop.sh
node scripts/prepare-production.js
bash start.sh
```
何かを変更する前に必ずバックアップ(`data.bak.<timestamp>/`、`data/` ディレクトリの隣)を作成し、`STORAGE_BACKEND` には決して触れません — アプリ内の「Demo Reset」管理アクションとは異なり、これはデモインスタンス向けであり、歴史的な理由から依然として `sqlite` に切り替わります([Issue #42](https://github.com/coolstartnow/isms-builder/issues/42) を参照)。
---
## Docker
すべてのリリースは GitHub Container Registry の GitHub Package として公開され、`linux/amd64` と `linux/arm64` 向けに提供されています — タグは `:latest` と `:<version>`(例: `:1.37.5.2`)です:```bash
docker compose up -d
# App runs at http://localhost:3000
```
またはComposeを使用しない場合(`data/`はバインドマウントである必要があります — データはイメージに焼き込まれることはありません):```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
```
これはデフォルトで、データを `./data` 内のプレーンな JSON ファイルとして保存します — データベースコンテナはまったく不要です。小規模チームに推奨される構成であり、上記の 2 つのコマンドが使用するのもこれです。
**JSON の代わりに PostgreSQL(または MariaDB)を使用する。** イメージはこれをすぐにサポートしていますが、上記の JSON 構成とは異なり、2 つ目のコンテナ(実際のデータベース)と、アプリがそこに接続する方法を伝えるいくつかの環境変数が必要です。このリポジトリをクローンせずにイメージ自体だけをプルした場合(`docker pull ghcr.io/coolstartnow/isms-builder`)、それらの変数名はデフォルトではどこにも表示されません — それらが文書化されている `docker-compose.yml` と `.env.example` は、この Git リポジトリ内のファイルであり、イメージの一部ではありません。このセクションは、その情報がリポジトリ限定の秘密にならないようにするために存在します。
`isms-builder` イメージ自体はデータベースサーバーを同梱することは決してありません — `postgres:17`(または `mariadb:11`)は Docker Hub からの完全に汎用的な空のデータベースエンジンであり、このプロジェクトのテーブルについて何も知りません。それらのテーブル(リスク、資産、SoA コントロールなど)は、アプリケーションが起動して空のデータベースを検出した瞬間に、アプリケーション自身によって自動的に作成されます — 手動の SQL インポートも、実行しなければならない別個のマイグレーション手順もありません。完全な仕組みを知りたい場合は、以下の「データベーススキーマはどのように作成されるのか?」を参照してください。
2 つのコンテナ、1 つの共有 Docker ネットワーク、そしてアプリにデータベースの場所を伝えます:```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
```
各変数の意味は次のとおりです。
| 変数 | 目的 |
|---|---|
| `STORAGE_BACKEND` | PostgreSQL の場合は `postgres`(または `pg`)、MariaDB/MySQL の場合は `mariadb`。デフォルトの JSON 構成を使用する場合は未設定(または `json`)のままにします。 |
| `DB_HOST` | データベースコンテナのホスト名。共有 Docker ネットワーク上では、これは単にコンテナの `--name` であり、Docker が自動的に解決します。 |
| `DB_PORT` | PostgreSQL の場合は `5432`、MariaDB の場合は `3306`。 |
| `DB_USER` / `DB_PASS` / `DB_NAME` | データベースコンテナで設定した値(上記の `POSTGRES_USER`/`POSTGRES_PASSWORD`/`POSTGRES_DB`、または MariaDB の同等の変数)と一致している必要があります。 |
MariaDB の場合は、`postgres:17-alpine` を `mariadb:11` に置き換え、手順 2 でその `MARIADB_DATABASE` /
`MARIADB_USER` / `MARIADB_PASSWORD` 変数を使用し、手順 3 で `STORAGE_BACKEND=mariadb` /
`DB_PORT=3306` を使用します。このプロジェクトが理解するすべての環境変数の完全な相互参照リスト
(ここで扱っていない SSL、リバースプロキシの信頼、SMTP、
2FA などを含む)は、このリポジトリの [`.env.example`](https://github.com/coolstartnow/isms-builder/blob/main/.env.example) にあります。
Compose ユーザーはこれを無料で利用できます。`docker-compose.yml` にはすでに `mariadb` と `postgres`
のサービスプロファイルが同梱されており(デフォルトではコメントアウトされ、同等の環境変数の説明も併記されています)—
`docker compose --profile postgres up -d` を実行すると、両方のコンテナが自動的に接続された状態で起動し、
手動でのネットワーク設定やパスワードのコピー&ペーストは不要です。
**データベーススキーマはどのように作成されるのですか?** `postgres:17` も `mariadb:11`
イメージも、このプロジェクトについて何も知りません — これらは Docker Hub からそのまま取得した汎用の空のデータベースエンジンです。
インポートする SQL ダンプファイルも、手動で実行する別個のマイグレーションコマンドもありません。
代わりに、`isms-builder` コンテナが起動して空のデータベースに接続した瞬間に、
そのアプリケーションコード自体(データベースイメージではなく)が必要なすべてのテーブルをその場で作成します —
[`server/db/knexDatabase.js`](https://github.com/coolstartnow/isms-builder/blob/main/server/db/knexDatabase.js) を参照してください。テーブル定義のリストがあり、それぞれが
`hasTable()` でチェックされ、存在しない場合は `createTable()` で作成されます。これはすべて、アプリが
HTTP リクエストを受け付け始める前に行われます。これにより冪等になります — 最初の起動で完全なスキーマが
ゼロから構築され、同じデータベースに対する以降の再起動はテーブルがすでに存在するため、すべてサイレントな no-op になります。
これは、SQLite、MariaDB 11、PostgreSQL 17 に対してライブ検証されたものと同一の、変更されていないメカニズムです([#70](https://github.com/coolstartnow/isms-builder/issues/70) を参照)。
代わりにソースからビルドするには、`docker-compose.yml` の `build:` ブロックをコメント解除し、
`docker compose up -d --build` を実行します。
イメージには署名済みのビルド来歴証明が付属しています:```bash
gh attestation verify oci://ghcr.io/coolstartnow/isms-builder:latest --owner coolstartnow
```
---
## 要件
- **Node.js 18+**(テスト済み: 18、20、22)
- npm 9+
- (オプション)Docker + Docker Compose
- (オプション)ローカル AI セマンティック検索用の [Ollama](https://ollama.ai)
---
## 設定(`.env`)
| 変数 | デフォルト | 説明 |
|---|---|---|
| `JWT_SECRET` | *(必須)* | JWT 署名用のシークレット — 32 文字以上のランダムな文字列を使用してください |
| `PORT` | `3000` | HTTP/HTTPS 待ち受けポート |
| `STORAGE_BACKEND` | `json` | `json`(開発/デモ)または `sqlite`(本番) |
| `SSL_CERT_FILE` | — | TLS 証明書へのパス → HTTPS を有効化 |
| `SSL_KEY_FILE` | — | TLS 秘密鍵へのパス |
| `DATA_DIR` | `./data` | データディレクトリを上書き(Docker ボリューム) |
| `SMTP_HOST` | — | メールアラート用の SMTP サーバー |
| `SMTP_PORT` | `587` | SMTP ポート |
| `SMTP_USER` | — | SMTP ユーザー名 |
| `SMTP_PASS` | — | SMTP パスワード |
| `SMTP_FROM` | — | 通知の送信元アドレス |
---
## アーキテクチャ```
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)
```
- **認証:** JWT Cookie(`sm_session`)、bcrypt パスワード、TOTP 2FA(組織全体で強制可能)
- **RBAC:** `reader` → `editor` / `dept_head` → `contentowner` / `auditor` → `admin`
- **永続化:** JSON ファイル(デフォルト/デモ)または `better-sqlite3` による SQLite
- **AI:** オプションのローカル Ollama(nomic-embed-text)。キーワード検索は常にフォールバックとして利用可能
- **監査ログ:** すべての作成/更新/削除/ログイン操作を記録、フィルタリング可能、エクスポート可能
C4 図、完全なデータモデル、OpenAPI 3.0.3 仕様(80 以上のエンドポイント)については [`docs/architecture/`](https://github.com/coolstartnow/isms-builder/blob/main/docs/architecture) を参照してください。
---
## テストの実行
> **注記:** `tests/` 配下のテストスイートは作者個人の開発用テストであり、
> 透明性のためにプロジェクトと共に提供されています。これはアプリケーション自体の
> 一部では**なく**、アプリの実行に**必須ではありません**。テストは内部 API の
> 動作を対象としており、分離されたテスト環境にのみ存在するハードコードされた
> テスト認証情報を使用しています — これらは本番データやデモデータとは
> 一切関係ありません。```bash
npm test # runs all 423 tests
npm run preflight # exactly what CI gates on (tests + pinning + audit)
npm test -- --verbose # with test names
```
テストは隔離された一時ディレクトリを使用します — 本番データには一切触れません。
---
## コントリビューション
コントリビューションを大歓迎します!詳細は [CONTRIBUTING.md](https://github.com/coolstartnow/isms-builder/blob/main/CONTRIBUTING.md) をご覧ください:
- 開発環境のセットアップ(最初のテスト実行まで5分)
- コードスタイルと規約
- 良い issue や PR の作成方法
**セキュリティ問題を発見しましたか?** 公開 issue は作成しないでください —
[非公開の脆弱性報告](https://github.com/coolstartnow/isms-builder/security/advisories/new)をご利用ください。
[SECURITY.md](https://github.com/coolstartnow/isms-builder/blob/main/SECURITY.md) に範囲、セーフハーバー、現実的に期待できる対応が記載されています。
**Good first issues** は issue トラッカーで [`good first issue`](https://github.com/coolstartnow/isms-builder/issues?q=label%3A%22good+first+issue%22) とラベル付けされています。
---
## ロードマップ
| ステータス | 機能 |
|---|---|
| ✅ 完了 | セマンティック検索(Ollama / nomic-embed-text) |
| ✅ 完了 | SQLite バックエンド、Docker、CI/CD |
| ✅ 完了 | GDPR 削除ログのメールアラート |
| ✅ 完了 | 多言語デモバンドル(DE / EN / FR / NL) |
| ✅ 完了 | アクションプラン付き監査所見モジュール(V 1.37.2.0) |
| ✅ 完了 | FR/NL ガイダンス翻訳 + 管理者言語設定(V 1.37.2.0) |
| ✅ 完了 | MariaDB/MySQL バックエンド(`STORAGE_BACKEND=mariadb`、V 1.37.2.1) |
| ✅ 完了 | スキャナー → リスクドラフト(Greenbone/OpenVAS XML + PDF インポート、V 1.37.2.0) |
| ✅ 完了 | ポリシー承認 — スタッフが監査証跡付きでポリシーをデジタル確認(V 1.37.2.0) |
| ✅ 完了 | ガイダンス CRUD — 独自ドキュメントの作成、編集、アップロード(V 1.37.2.0) |
| ✅ 完了 | ガイダンス検索 — 抜粋付きカテゴリ横断全文検索(V 1.37.2.0) |
| ✅ 完了 | 資産保護目標 — CIA + 真正性(1〜4)、依存関係、BSI 最大原則の継承(V 1.37.2.0) |
| ✅ 完了 | NIS2 第21条ガバナンスチェックリスト(30項目)および第23条報告期限と自動アラート(V 1.37.2.0) |
| ✅ 完了 | PostgreSQL バックエンド(`STORAGE_BACKEND=pg`)— MariaDB と同じ Knex ストア層、実際の PostgreSQL 17 インスタンスに対して検証済み(完全な `docker compose` パスを含む)(V 1.37.5) |
| ✅ 完了 | ownCloud / Nextcloud 連携 — 承認済みポリシーを WebDAV 経由で PDF として自動公開、お気に入り/公開リンクの可視性はオプション、実際の NextcloudPi インスタンスに対してライブ検証済み(#66、V 1.37.5.1) |
| ✅ 完了 | リリースごとに GitHub Container Registry へ公開される Docker イメージ(`ghcr.io/coolstartnow/isms-builder`、`linux/amd64` + `linux/arm64`、署名付きビルド来歴)— @bucherfa によるコントリビューション(#71、V 1.40.0)。メンテナンス工数の試験運用:想定より維持コストが大きい場合は再び廃止します。 |
| 🔜 次 | AI ポリシーアシスタント — Ollama がタイトル + フレームワークからポリシー内容を起草 |
| 🔜 次 | スケジュールレポート — 週次/月次のコンプライアンスレポートをメールで配信 |
| 🔜 次 | 監査ログの異常検知(LLM バッチ) |
| 🚀 将来 | 定量的リスクスコアリング(€ 値、FAIR に着想) |
| 🚀 将来 | 監査人コラボレーションポータル — 監査人向けの外部読み取り専用アクセス |
| 🚀 将来 | ポリシーギャップ分析(LLM) |
| 🏁 V 2.x | 設定可能なガイダンスカテゴリ — 管理者がカスタムカテゴリを定義(例:ワークフロー、組織ドキュメント) |
---
## 著者について
**Claude Hecker** は IT 業界で35年以上の経験を持ちます。約15年間 CIO を務めた後、CISO およびデータ保護責任者(DSO/DSB)の役割に移行しました。そのキャリアの中で、大手ヨーロッパ企業向けに全社規模の IT インフラストラクチャと広域ネットワーク接続(VPN、MPLS)を設計・実装し、複数の拠点と法域にわたる信頼性の高い安全な運用を担当しました。
ISMS Builder は、まさにその経験から直接生まれました。現実の世界で、実際の監査を経て、実際の規制圧力の中で、コンプライアントな ISMS を構築し維持すること。このツールは、実務者が実際に必要とするものを反映しています — プロダクトマネージャーが必要だと思い込んでいるものではありません。
**なぜオープンソースなのか?**
中小企業は5桁のライセンス費用を払わずに、適切な ISMS プラットフォームにアクセスできるべきです。どのツールを選んでもオンボーディングの手間は現実に存在します — しかしそのコストは、ベンダーロックインや自社インフラからデータが出ていくことによってさらに膨らむべきではありません。このプロジェクトはソフトウェアの自由と、あなたのコンプライアンスデータはあなたに帰属するという原則を支持します。
---
## 標準規格参照に関する注意
本ソフトウェアは、相互運用性およびコンプライアンス管理の目的に限り、公開された標準規格の管理策識別子および短縮タイトルを参照しています。
- **ISO/IEC 27001、ISO 9000、ISO 9001** は、国際標準化機構(ISO)が発行する標準規格です。これらの標準規格の管理策定義は、本ソフトウェア配布物には**含まれていません** — ISO の著作権は管理策テキストの再配布を許可していません。ユーザーは自身で JSON ファイルを用意する必要があります(上記セクションおよび `scripts/import-iso-controls.sh` を参照)。標準規格は [ISO](https://www.iso.org/) または認可された各国の販売代理店から入手する必要があります。
- **BSI IT-Grundschutz** の資料は、ドイツ連邦情報セキュリティ庁(BSI)が発行しており、[bsi.bund.de](https://www.bsi.bund.de) で無償公開されています。
- **NIS2、CRA、EUCS、EU AI Act** は EU の法令であり、[eur-lex.europa.eu](https://eur-lex.europa.eu) を通じて公開されています。
---
## ライセンス
Copyright (C) 2026 Claude Hecker
本プログラムは [GNU Affero General Public License v3.0](https://github.com/coolstartnow/isms-builder/blob/main/LICENSE) の下でライセンスされるフリーソフトウェアです。
改変版をネットワークサービスとして運用する場合、そのサービスの利用者に対して完全なソースコードを提供する必要があります(AGPL §13)。
本プロジェクトには MIT、BSD-2-Clause、Apache-2.0 ライセンスのサードパーティコンポーネントが含まれています。完全な帰属表示およびライセンス全文については [THIRD-PARTY-LICENSES.md](https://github.com/coolstartnow/isms-builder/blob/main/THIRD-PARTY-LICENSES.md) をご覧ください。