セキュリティ
外部に通信しないことの確認方法
対象: usagii(Windows 版)/ 想定読者: 導入を検討される企業の管理者の方
usagii は、予定データ・設定・テレメトリを含む一切の情報を外部へ送信しない設計です。本ページは、それを宣言だけで終わらせず、導入側の検証環境で実際に確認していただくための手順をまとめたものです。
A通信モニタで実測する(約 10 分)
- 検証用の PC または VM に usagii をインストールします
- Microsoft 純正の TCPView(Sysinternals)を起動します(より厳密に確認する場合は Wireshark でパケットキャプチャしてください)
- usagii を起動し、予定の登録・編集・検索・テーマ切替・アプリ再起動など一通り操作します
- usagii.exe、および usagii が起動する WebView2 プロセスからの外部宛て接続が 1 件も発生しないことを確認します
補足: Windows 自体や WebView2 ランタイム(Microsoft 製の OS コンポーネント)は、usagii とは無関係に Microsoft のサーバーと更新確認等の通信を行うことがあります。検証の際は「usagii のプロセスを起点とする接続」に注目してください。
Bファイアウォールで遮断したまま運用する(恒久的な保証)
usagii はネットワークを一切必要としないため、送信(アウトバウンド)を遮断した状態でも全機能が動作します。開発者を信頼する必要すらない、最も確実な担保です。
- 「セキュリティが強化された Windows Defender ファイアウォール」を開く
- 「送信の規則」→「新しい規則」→ プログラムに usagii.exe(既定では
%LOCALAPPDATA%\usagii\usagii.exe)を指定し、「接続をブロックする」で作成 - 遮断状態のまま、すべての機能が正常に動作することを確認
技術的根拠
- ネットワーク系ライブラリ不使用 — usagii は HTTP クライアント等の通信ライブラリを一切組み込んでいません。使用ライブラリの一覧(SBOM)はお問い合わせいただければ提出できます
- コンテンツセキュリティポリシー(CSP)による遮断 — アプリの UI 層には「アプリ内部以外への接続を許可しない」ポリシーを焼き込んでおり、仮に将来の改修で通信コードが紛れ込んでも実行層でブロックされます
- 自動更新機構なし — 更新確認のために外部へ接続する仕組み自体が存在しません。更新は管理者がバージョンを指定してインストーラを実行したときだけ行われます(導入にあたって)
- 依存ライブラリの脆弱性検査 — リリースビルド時に Rust / JavaScript の依存ライブラリを既知脆弱性データベース(RustSec / npm advisory)と突合し、検出された場合は公開を中止します
お問い合わせ
検証中に不明な点があれば GitHub の Issues からご連絡ください。