﻿========================================================================
  中間サーバ連携基盤  Version 1.0.0
========================================================================

  ソフト名     : 中間サーバ連携基盤
  バージョン   : 1.0.0
  作 者        : highdefinitionaudiodriver
  動作環境     : Windows 10/11, macOS 12+, Linux (Ubuntu 20.04+) / Node.js 20 以上
  ライセンス   : MIT License（フリーソフト／オープンソース）
  種 別        : フリーソフト
  作成日       : 2026-06-15

------------------------------------------------------------------------
■ ソフトの説明 / 使用方法（README より）
------------------------------------------------------------------------

中間サーバ連携基盤（参照実装）

地方公共団体情報システムの標準化において、各標準準拠システムは単独で完結せず、中間サーバを介して情報連携します。本パッケージは、その中間サーバが担う中核機能を学習・検証用に再現した参照実装です。

体現しているモデル

- 宛名番号による名寄せ — 住民を宛名番号で一意に識別し、どの機関（システム）がその人の記録を保有しているかを束ねます。
- 機関別符号 — 宛名番号と機関から導出した不可逆の符号で連携します。マイナンバーは保持も伝送もしません（符号同士の突合で名寄せ）。
- 別表に基づく情報照会 — 事務ごとに照会できる特定個人情報の範囲（別表）を定義し、許可された組合せのみ提供。範囲外は拒否します。
- 連携ログ — 照会・提供・拒否のすべてを時系列で記録（監査）。

起動


npm start          # → http://localhost:4290


ブラウザでダッシュボードを開くと、名寄せ／情報照会デモ／別表／連携ログを確認できます。
「情報照会デモ」では、たとえば *国民健康保険資格賦課事務* が *地方税* の所得金額を照会する流れと、範囲外要求が拒否される様子を実演できます。

API（抜粋）

| メソッド | パス | 説明 |
|---|---|---|
| GET | /api/health | ヘルスチェック |
| GET | /api/v1/residents | 宛名番号一覧（名寄せ） |
| GET | /api/v1/residents/:atena | 名寄せ詳細（保有機関・機関別符号・保有情報） |
| GET | /api/v1/link-definitions | 別表（事務×照会可能情報） |
| POST | /api/v1/query | 情報照会（別表で可否判定→提供／拒否、ログ記録） |
| POST | /api/v1/provide | 副本登録（機関が保有情報を中間サーバへ提供） |
| GET | /api/v1/audit | 連携ログ |

機関認証

照会（/api/v1/query）と副本登録（/api/v1/provide）は X-Agency-Token ヘッダ必須です（無し/不一致は 401）。
トークンは環境変数 CHUUKAN_AGENCY_TOKEN（既定 demo-linkage-token）。業務システム側はバックエンドだけがこのトークンを保持し、ブラウザには渡しません（参照実装では全機関共通の1トークン。実運用の機関ごとの証明書・専用線接続に相当する部分の簡易代替です）。

照会の例


curl -X POST http://localhost:4290/api/v1/query \
  -H 'content-type: application/json' -H 'x-agency-token: demo-linkage-token' \
  -d '{"requester":"kokuho","atena":"10000001","holder":"tax","item":"所得金額","purpose":"国民健康保険資格賦課事務"}'


業務システムからの実配線

国保・介護・後期高齢・児童手当・生活保護の各システムは、算定画面の「中間サーバ照会」パネルから本サーバへ実際に照会します（業務システムのバックエンドが CHUUKAN_BASE（既定 http://localhost:4290）へ転送）。取得値は算定フォームへ自動反映されます。

位置づけ・免責

参照実装（モック）です。実際の中間サーバ・情報提供ネットワークシステムの仕様・セキュリティ要件を満たすものではありません。マイナンバーや実在の個人情報は扱わず、収録データはすべて架空です。ライセンスは MIT。

------------------------------------------------------------------------
■ 動作環境
------------------------------------------------------------------------
  Windows 10/11, macOS 12+, Linux (Ubuntu 20.04+) / Node.js 20 以上
  ※ オンライン専用ソフトではありません（ローカル環境で動作します）。

------------------------------------------------------------------------
■ インストール / アンインストール
------------------------------------------------------------------------
  ・本アーカイブを任意のフォルダに展開してください。
  ・詳細な起動手順は上記「ソフトの説明」および同梱の README を参照してください。
  ・アンインストールは展開したフォルダを削除するだけです（レジストリ不使用）。

------------------------------------------------------------------------
■ 転載・再配布について
------------------------------------------------------------------------
  本ソフトは MIT License のオープンソースです。同梱の LICENSE 条文に
  従う限り、自由に利用・改変・再配布できます。
  なお Vector 以外の配布サイトへの無断転載はご遠慮ください。

------------------------------------------------------------------------
■ 免責事項
------------------------------------------------------------------------
  本ソフトの使用によって生じたいかなる損害についても、作者は一切の
  責任を負いません。利用者ご自身の責任においてご使用ください。

------------------------------------------------------------------------
■ 著作権
------------------------------------------------------------------------
  Copyright (c) 2026 highdefinitionaudiodriver
  本ソフトは MIT License の下で公開されています。

------------------------------------------------------------------------
■ 連絡先 / サポート
------------------------------------------------------------------------
  作 者        : highdefinitionaudiodriver
  E-mail       : highdefinitionaudiodriver@gmail.com
  GitLab       : https://gitlab.com/highdefinitionaudiodriver/chuukan-server
  不具合報告・ご要望は上記 E-mail もしくはリポジトリの Issues へ
  お願いいたします。

========================================================================
