Skip to content

Latest commit

 

History

History
59 lines (38 loc) · 4.14 KB

File metadata and controls

59 lines (38 loc) · 4.14 KB

セキュリティ

このページでは、WebFileTools のセキュリティの考え方を日常の言葉で説明します。ファイルがどこへ行くか、静的ホスティングの役割、任意のサイト計測とツールの関係です。

なぜ変換のためにアップロードしないのか

あなたのファイル
   │
   ▼
端末上のブラウザ
   │  ローカルで処理
   ▼
結果をダウンロード

アップロード API はありません — ファイルは WebFileTools のサーバーへ送られません。
サイト計測(GA)とトップのアクセスカウンターはファイル処理とは別です。

変換や編集はブラウザ内で行います。ファイルを選び、ページが Web API とバンドルされたライブラリでローカル処理し、結果をダウンロードまたはコピーします。

変換用のアップロード API がないため、ツールのファイルは処理のために WebFileTools のサーバーへ送られません。

信頼の境界: ブラウザと静的ホスティング

GitHub Pages は静的サイト(スクリプト、スタイル、アセット)を配信します。ツールを動かすためにブラウザがダウンロードするのがこれらのファイルです。

ページ読み込み後、ツールで選んだファイルの中身は端末上のブラウザ内で扱われます。静的ホストは文書処理のバックエンドではありません。

公開されている JavaScript を信頼する点は、一般的なウェブサイトと同じです。ページが改ざんされたり依存関係が悪意あるものだったりすれば、ブラウザ内のコードは渡したデータを読めます。本プロジェクトの公式な GitHub Pages の URL を使い、ブラウザを最新に保つことをおすすめします。

計測との境界

任意の Google Analytics とトップのアクセスカウンターは、サイトのトラフィックを測るためのもので、ファイルツールとは別です。

ユーザーのファイルはそれらの計測に含まれません。 ファイルの中身や変換用ペイロードを、処理目的でアナリティクスやカウンターへ送ることはありません。

トップ読み込み時のカウンター画像リクエストでは、IP アドレスなど通常のリクエストメタデータがカウンター提供者に届く可能性があります。

脅威モデル(簡潔版)

ローカル処理は「見知らぬ変換サーバーへ文書をアップロードする」リスクを下げますが、ブラウザ上のリスクがすべてなくなるわけではありません。

  • クロスサイトスクリプティング(XSS)やページ内の悪意あるスクリプトは、そのタブ内のデータにアクセスし得ます。ブラウザを更新し、機密作業では信頼できない拡張機能を避けることが助けになります。
  • ほかのサイトや端末上のマルウェアは、本プロジェクトの管理外です。
  • 非常に大きなファイルはメモリを圧迫しタブを不安定にし得ます。信頼性の問題でもあり、安全面の注意点でもあります。

技術スタック

  • ホスティング: GitHub Pages(静的ファイルのみ。アプリ用バックエンドなし)
  • アプリ: TypeScript、React、Vite、Tailwind CSS
  • ブラウザ API: File、Canvas、Web Crypto などクライアント側 API
  • ライブラリ(例): pdf-lib、PDF.js、JSZip、js-tiktoken、markdown-it、qrcode / jsQR、js-yaml、diff
  • 任意の計測: Google Analytics、トップのアクセスカウンター(count.getloli.com)
  • ライセンス: MIT

脆弱性の報告

公開サイトやソースコードにセキュリティ上の問題があると思われる場合は、再現と修正に足る情報を添えて GitHub Issue を開いてください。可能なら責任ある開示を心がけ、修正前に利用者を直ちに危険にさらす詳細の公開は避けてください。