Web ツールが本当にファイルをアップロードしていないか検証する方法(DevTools 実践)
2026-05-30
*結論から:*ブラウザの DevTools を開き、Network(ネットワーク)タブに切り替え、クリアしてからツールでファイルを処理します。ファイルがブラウザから出ていなければ、ツールのコードがダウンロード*されるのは見えますが、あなたのファイルのバイトがアップロード*されるのは見えません。以下が 60 秒版と、見えたものの読み方です。
「ファイルは保存しません」では足りない理由
ほとんどの「無料」オンラインファイルツールは、ファイルをサーバーにアップロードし、そこで処理し、結果を返します。プライバシーポリシーで後から削除すると約束しているかもしれませんが、それはあなたに確認できない約束です。「ファイルを保存しません」でも、あなたのファイルは送信され、暗号化を解かれた状態で他人のマシンに置かれたということです。検証できない保証はプライバシーではなく、マーケティングです。
良い知らせ:現代のブラウザは自分で本物の処理ができます——画像処理、PDF レンダリング、WebAssembly による動画エンコード、さらには WebGPU によるニューラルネットワークまで。ツールがローカルで動くとき、あなたのファイルはブラウザタブのメモリに読み込まれ、処理され、ダウンロードとして返されます。ネットワークには一切触れません。そして約束と違い、これは 1 分以内に自分で確認できます。
60 秒チェック(Network タブ)
- 新しいタブでツールを開きます(例:画像圧縮や画像から文字)。
- DevTools を開きます——F12、または右クリック → 検証。(Mac は Cmd+Opt+I、Windows/Linux は Ctrl+Shift+I。)
- **Network(ネットワーク)**タブをクリック。
- クリア(🚫)アイコンで既存のリクエストを消し、**Preserve log(ログを保持)**にチェックを入れて消えないようにします。
- ファイルをツールにドロップして実行します。
- リクエスト一覧を見て、**Size(サイズ)**で並べ替えます。
探すもの:あなたのファイルをアップロードするリクエストは POST(または PUT)で、リクエストボディがファイルとほぼ同じサイズです。5 MB の写真をアップロードすれば、約 5 MB のペイロードが外へ出ます。大きな転送がツール自身のコードと .wasm ファイルが内へ入ってくるだけで、しかも初回後はキャッシュされて止まるなら、あなたのファイルは動いていません。
アップロードと通常の通信の見分け方
すべてのリクエストが危険信号ではありません。100% ローカルのツールでもこれは正常です:
- コードと素材の読み込み——JavaScript バンドル、
.wasmバイナリ(FFmpeg、Tesseract など)、フォント、ページ自体。これらはダウンロードで、レスポンスにサイズがあり、リクエストボディは空、初回訪問後はキャッシュされます。 - 解析と広告——Google Analytics や AdSense への小さな ping。とても小さく、あなたのファイルは決して含みません(含められません——あなたのファイルは広告が到達できる変数の中にないからです)。
これこそが危険信号です:
- リクエストペイロードがファイルとほぼ同じサイズの
POST/PUT。そのリクエストの Payload/Request タブを開くと、バイト列そのものか、ファイル名を含む multipart フォームが見えます。 - 「処理」を押した瞬間に、予期しないストレージドメイン(S3 バケット、どこかの CDN)へのアップロード。
経験則:入ってくるダウンロードあり、大きなアップロードが出ていかない = ローカル処理。
最終手段:回線を抜く
リクエストログを読みたくないなら、誰でもできるもっと荒い方法があります:
- まずツールのページを一度読み込んでコードをダウンロードさせます。
- 機内モードをオン / Wi-Fi をオフ——または DevTools の Network スロットリングを **Offline(オフライン)**に設定します。
- ツールを実行します。
オフラインでも動くなら、物理的にファイルをアップロードできません。アップロードする回線がないからです。(一部のツールは必要時に大きなエンジンファイルを取得します——動画ツールは初回に FFmpeg を取りに行きます。その 1 回のダウンロードを終わらせてから、オフラインにして処理してください。)
では、なぜこれほど多くのツールがアップロードするのか
正直に言えば、サーバー側のほうが収益化しやすいからです。アップロードすれば、機能をサブスクの裏に隠し、利用状況を記録し、最悪の場合はあなたのファイルをモデルの学習に使えます。ローカル処理にはより多くの工学が要ります——C ライブラリを WebAssembly にコンパイルし、ブラウザのメモリ予算に収め、そのレバレッジを手放す。それでも割に合う理由は一つ——あなたのファイルはどこにも行かず、しかも私を信じる必要はありません。Network タブを見ればいいのです。
それが ToolKoala の根本の考えです:すべてのツールはあなたのブラウザで動きます。どれでも DevTools を開いて、自分で確かめてください。
よくある質問
「アップロードなし」はオフラインで動くという意味ですか? 初回読み込み後は、たいていそうです。コードがキャッシュされるので、ほとんどのツールは接続なしで動きます。必要時に大きなエンジンを取得する一部(動画ツール)は、その 1 回のダウンロードが先に必要です。
WebSocket やバックグラウンドでこっそりファイルを送られませんか? Network タブは WebSocket やバックグラウンドの fetch/XHR の通信も、ペイロードごと表示します。あなたのファイルのバイトが出ていけば、そこに現れます。それが要点です——アップロードは Network タブから隠れられません。
解析や広告はプライバシー上の問題ですか? それらが見るのは標準的な訪問シグナル——おおまかな位置、デバイス種別——であって、あなたのファイルではありません。あなたのファイルは広告スクリプトが到達できる変数に入らず、ブロックしてもツールは動きます。
これは ToolKoala 専用ですか? いいえ。このチェックはどんな Web ツールにも使えます。機密ファイルを「無料オンライン変換ツール」に預ける前に、毎回これで確かめてください。
— Milo 🐨