← 一覧へ戻る

Web ツールが本当にファイルをアップロードしていないか検証する方法(DevTools 実践)

2026-05-30

*結論から:*ブラウザの DevTools を開き、Network(ネットワーク)タブに切り替え、クリアしてからツールでファイルを処理します。ファイルがブラウザから出ていなければ、ツールのコードがダウンロード*されるのは見えますが、あなたのファイルのバイトがアップロード*されるのは見えません。以下が 60 秒版と、見えたものの読み方です。

「ファイルは保存しません」では足りない理由

ほとんどの「無料」オンラインファイルツールは、ファイルをサーバーにアップロードし、そこで処理し、結果を返します。プライバシーポリシーで後から削除すると約束しているかもしれませんが、それはあなたに確認できない約束です。「ファイルを保存しません」でも、あなたのファイルは送信され、暗号化を解かれた状態で他人のマシンに置かれたということです。検証できない保証はプライバシーではなく、マーケティングです。

良い知らせ:現代のブラウザは自分で本物の処理ができます——画像処理、PDF レンダリング、WebAssembly による動画エンコード、さらには WebGPU によるニューラルネットワークまで。ツールがローカルで動くとき、あなたのファイルはブラウザタブのメモリに読み込まれ、処理され、ダウンロードとして返されます。ネットワークには一切触れません。そして約束と違い、これは 1 分以内に自分で確認できます。

60 秒チェック(Network タブ)

  1. 新しいタブでツールを開きます(例:画像圧縮画像から文字)。
  2. DevTools を開きます——F12、または右クリック → 検証。(Mac は Cmd+Opt+I、Windows/Linux は Ctrl+Shift+I。)
  3. **Network(ネットワーク)**タブをクリック。
  4. クリア(🚫)アイコンで既存のリクエストを消し、**Preserve log(ログを保持)**にチェックを入れて消えないようにします。
  5. ファイルをツールにドロップして実行します。
  6. リクエスト一覧を見て、**Size(サイズ)**で並べ替えます。

探すもの:あなたのファイルをアップロードするリクエストは POST(または PUT)で、リクエストボディがファイルとほぼ同じサイズです。5 MB の写真をアップロードすれば、約 5 MB のペイロードが外へ出ます。大きな転送がツール自身のコードと .wasm ファイルが内へ入ってくるだけで、しかも初回後はキャッシュされて止まるなら、あなたのファイルは動いていません。

アップロードと通常の通信の見分け方

すべてのリクエストが危険信号ではありません。100% ローカルのツールでもこれは正常です:

  • コードと素材の読み込み——JavaScript バンドル、.wasm バイナリ(FFmpeg、Tesseract など)、フォント、ページ自体。これらはダウンロードで、レスポンスにサイズがあり、リクエストボディは空、初回訪問後はキャッシュされます。
  • 解析と広告——Google Analytics や AdSense への小さな ping。とても小さく、あなたのファイルは決して含みません(含められません——あなたのファイルは広告が到達できる変数の中にないからです)。

これこそが危険信号です:

  • リクエストペイロードがファイルとほぼ同じサイズの POST/PUT。そのリクエストの Payload/Request タブを開くと、バイト列そのものか、ファイル名を含む multipart フォームが見えます。
  • 「処理」を押した瞬間に、予期しないストレージドメイン(S3 バケット、どこかの CDN)へのアップロード。

経験則:入ってくるダウンロードあり、大きなアップロードが出ていかない = ローカル処理。

最終手段:回線を抜く

リクエストログを読みたくないなら、誰でもできるもっと荒い方法があります:

  1. まずツールのページを一度読み込んでコードをダウンロードさせます。
  2. 機内モードをオン / Wi-Fi をオフ——または DevTools の Network スロットリングを **Offline(オフライン)**に設定します。
  3. ツールを実行します。

オフラインでも動くなら、物理的にファイルをアップロードできません。アップロードする回線がないからです。(一部のツールは必要時に大きなエンジンファイルを取得します——動画ツールは初回に FFmpeg を取りに行きます。その 1 回のダウンロードを終わらせてから、オフラインにして処理してください。)

では、なぜこれほど多くのツールがアップロードするのか

正直に言えば、サーバー側のほうが収益化しやすいからです。アップロードすれば、機能をサブスクの裏に隠し、利用状況を記録し、最悪の場合はあなたのファイルをモデルの学習に使えます。ローカル処理にはより多くの工学が要ります——C ライブラリを WebAssembly にコンパイルし、ブラウザのメモリ予算に収め、そのレバレッジを手放す。それでも割に合う理由は一つ——あなたのファイルはどこにも行かず、しかも私を信じる必要はありません。Network タブを見ればいいのです。

それが ToolKoala の根本の考えです:すべてのツールはあなたのブラウザで動きます。どれでも DevTools を開いて、自分で確かめてください。

よくある質問

「アップロードなし」はオフラインで動くという意味ですか? 初回読み込み後は、たいていそうです。コードがキャッシュされるので、ほとんどのツールは接続なしで動きます。必要時に大きなエンジンを取得する一部(動画ツール)は、その 1 回のダウンロードが先に必要です。

WebSocket やバックグラウンドでこっそりファイルを送られませんか? Network タブは WebSocket やバックグラウンドの fetch/XHR の通信も、ペイロードごと表示します。あなたのファイルのバイトが出ていけば、そこに現れます。それが要点です——アップロードは Network タブから隠れられません。

解析や広告はプライバシー上の問題ですか? それらが見るのは標準的な訪問シグナル——おおまかな位置、デバイス種別——であって、あなたのファイルではありません。あなたのファイルは広告スクリプトが到達できる変数に入らず、ブロックしてもツールは動きます。

これは ToolKoala 専用ですか? いいえ。このチェックはどんな Web ツールにも使えます。機密ファイルを「無料オンライン変換ツール」に預ける前に、毎回これで確かめてください。

— Milo 🐨