FOR IT DEPARTMENTS

情報システム部門の方へ:LocalTools Dashboard の技術説明

対象: LocalTools Dashboard 1.6.0 / 作成: 2026年9月5日 / 社内利用の可否判断に必要な情報をまとめています。

1. 何をするソフトか

手元の CSV・Excel を読み込み、売上・数量・粗利・件数を集計してグラフと表で確認する Windows 用のデスクトップアプリです。Excel で行っている月次の集計作業を置き換えることが目的で、データは PC の中だけで処理され、外部には送信されません。

OSWindows 10/11(64bit)
メモリ4GB 以上(8GB 推奨)
ディスクインストールに約 300MB+データ量に応じた領域
ネットワーク不要(オフラインで全機能が動作します)
管理者権限不要(ユーザー領域へインストール)
追加ランタイム不要(.NET・Java・Python 等は不要)

2. データの取り扱い

読み込ませた元の CSV・Excel は読み取りのみで、変更・移動・削除・複製を行いません。文字コード変換の一時ファイルは取り込み完了後に自動削除されます。取り込んだデータは暗号化されたデータベースとして、ログインユーザー個人のプロファイル領域に保存されます。共有フォルダ、ネットワークドライブ、クラウド同期フォルダには保存しません。ログファイルは出力しません。

取り込んだデータ%APPDATA%\LocalToolsDashboard\projects\<ID>\data.duckdb(暗号化)
復号鍵同フォルダの key.bin(Windows DPAPI で保護)
設定同フォルダの project.json(列名・会計年度・指標の割り当て等の設定のみ。データの値は含みません)
差分取り込み前の自動バックアップ同フォルダの data.backup.duckdb(取り消しに使用。次回取り込みで上書き)
一時ファイル%TEMP%\localtools-dashboard\(取り込み後および起動時に自動削除)

%APPDATA%C:\Users\<ユーザー名>\AppData\Roaming を指します。

3. 外部通信

ソースコード内に外部通信の実装が一切ありません。

HTTP/HTTPS リクエスト実装なし
外部 API・クラウドサービス連携なし
外部 AI(ChatGPT・Gemini 等)へのデータ送信なし
テレメトリ・利用状況の送信なし
自動更新・クラッシュレポートなし
ログイン・アカウント登録不要
ライセンス認証PC 内で完結(第5章)。認証サーバーへの通信はありません

検証方法(貴部門で実施いただけます)

  1. ネットワークを切断した状態で全機能を操作する → 制限なく動作します
  2. ファイアウォールで本アプリの通信を全遮断する → 動作に影響しません
  3. パケットキャプチャで観測する → 本アプリ由来の送信は発生しません

4. データの暗号化

暗号化対象データベースファイル全体(値・列名を含む)
暗号化方式DuckDB 標準の暗号化機能(AES)
鍵の保護Windows DPAPI(Electron safeStorage 経由)。平文の鍵はディスク上に存在しません
利用者の操作不要(パスワード入力なしで透過的に開きます)

この方式で防げること

  • データベースファイルを直接開いても中身が読めません(テキストエディタ・他の DB ツール等)
  • 同じ PC の別の Windows ユーザーは開けません
  • ディスクを取り出して別の PC に接続しても、ファイルだけをコピーして持ち出しても開けません(鍵は元のユーザーに紐づくため)

防げないこと(正直な限界)

  • そのユーザー本人がログインした状態での操作は制限できません(画面表示・CSV 出力を含む)
  • 本アプリはファイルの保護であり、利用者の権限管理を行うものではありません

5. ライセンス認証(オフライン)

  • 初回起動時にライセンスキーを入力します。キーの署名を公開鍵で検証し、その PC・その Windows ユーザーに束縛した認証記録をユーザー領域に保存します(Windows DPAPI で保護)
  • 認証も検証もインターネット接続を使いません。認証記録を別の PC へコピーしても起動しません
  • 1 ライセンスにつき PC 1 台。PC を交換する際は、旧 PC で「このPCの認証を解除」を実行してから、新 PC で同じキーを入力します
  • 未認証の間はホーム画面の代わりに認証画面だけを表示し、データ処理は受け付けません

6. 権限

実行時の権限標準ユーザー権限
インストール時の権限標準ユーザー権限(ユーザー領域へ配置)
レジストリの変更アンインストール情報のみ(HKCU 配下)
常駐・自動起動・システム設定の変更なし

7. コード署名について

本アプリにはコード署名証明書が付与されていません。インストール時に Windows SmartScreen が「発行元不明」の警告を表示します。これは証明書を購入していないためで、内容の危険性を示すものではありません。改ざんの有無は、配布ファイルのハッシュ値で確認できます。

ファイル名: LocalToolsDashboard-Setup-1.6.0.exe
SHA-256: eeb824819fe6a54c25c7c5e7143f0f82393e733e52d062def0e5013f6bde5a47

確認コマンド(コマンドプロンプト): certutil -hashfile LocalToolsDashboard-Setup-1.6.0.exe SHA256

ソースコードの開示や、社内証明書で署名して配布する運用については、法人でのご検討時にご相談ください。

8. 使用している技術

すべてオープンソースで、商用ライセンスの購入や利用料は発生しません。

Electronデスクトップアプリの土台(MIT)
DuckDBデータの保存と集計(MIT)
React画面表示(MIT)
Apache EChartsグラフ描画(Apache-2.0)
ExcelJSExcel ファイルの読み取り(MIT)
iconv-lite/jschardet文字コードの判定と変換(MIT)
@svg-maps/japan都道府県地図の形状(MIT)

9. AI 分析用プロンプト機能について

本アプリは AI を内蔵せず、AI に渡すための文章を作成するだけの機能を備えています。アプリから AI サービスへの通信は行いません。生成された文章を、利用者が任意の AI サービスへ手動で貼り付けて使います。明細データは含めず、集計済みの数値(KPI・推移・ランキング)だけを出力します。

匿名化を既定で有効にしており、得意先名・商品名は「得意先名A」「商品名A」のような置き換えで出力されます。対応表は手元でのみ確認でき、生成される文章には含まれません。

生成した文章を社外の AI サービスへ入力する行為は本アプリの外側で発生します。社外 AI の利用可否や、匿名化しても社外に出せない情報の範囲は、社内規程に基づくご判断をお願いします。匿名化を解除できないよう固定する設定はご相談ください。

10. 導入・削除

  1. LocalToolsDashboard-Setup-1.6.0.exe を実行し、SmartScreen の警告が出た場合は「詳細情報」→「実行」(第7章)
  2. インストール先を選択(既定はユーザー領域)して完了。初回起動時にライセンスキーを入力
  3. アンインストールは Windows の「アプリと機能」から。取り込んだデータは %APPDATA%\LocalToolsDashboard\ に残るため、必要に応じて手動で削除してください。アプリ内の「削除」ボタンでプロジェクト単位(データベースと鍵の両方)を削除することもできます

11. 品質管理

自動テスト 578 項目を整備し、変更のたびに全件実行しています。検証範囲は、文字コード判定、型変換、集計の正確性、期間計算、マスタ紐付け、暗号化、ライセンス検証、画面描画、操作です。暗号化については「平文が残らないこと」「鍵なしで開けないこと」を毎回検証しています。

12. 想定される質問と回答

Q. データが社外に出ることはありませんか。
A. 通信機能自体を実装していません。ネットワークを遮断した状態でも全機能が動作することで確認いただけます。

Q. 他の社員の PC からデータを見られませんか。
A. データは個人のプロファイル領域に暗号化して保存され、鍵は Windows アカウントに紐づきます。ファイルをコピーして持ち出しても他者は開けません。

Q. PC を紛失した場合はどうなりますか。
A. ディスク暗号化(BitLocker 等)が有効であればディスク自体が保護されます。加えて本アプリのデータは、その Windows アカウントの資格情報がなければ復号できません。

Q. サーバーや月額費用は必要ですか。
A. 不要です。サーバー構築、月額費用、アカウント登録はいずれも発生しません。

Q. 誰が作ったソフトですか。
A. 個人事業(屋号 LocalTools)が開発・販売しています。販売者の表示は特定商取引法に基づく表記をご覧ください。

Q. 動作しなくなった場合のサポートは。
A. メールのサポート窓口が対応します(返信の目安 2 営業日)。データは元の CSV から再作成できるため、復旧不能な状態にはなりません。