ファイルが見えない仕組み。
ほとんどの変換ツールは信頼してほしいと言います。これは試してほしいと言います。あなたのファイルは、あなた自身のブラウザ内で動くコードが変換します。だから、それを保存・閲覧・流出させられるサーバーはありません。約1分で自分で確かめられる三つの方法があります。
インターネットを切って変換する。
これは一つのテストに約束のすべてが詰まっています。まず写真を一度変換してブラウザにアプリを保存させ、次に接続を切ってもう一度やってみてください。ファイルをアップロードする必要があるツールなら動かなくなります。これは動きます。
- 1 下に写真を追加して一度変換し、ブラウザにアプリを保存させます。
- 2 機内モードにするか、単にWi-Fiを切ります。サインアウトするものは何もありません。
- 3 もう一度変換します。何も送られていなかったので、そのまま動作します。
接続が切れると、変換ツールは小さく「オフラインです」と表示します。その表示こそ朗報です。処理がここ、あなたのデバイス上で、オンラインのときとまったく同じように行われている証だからです。
「ネットワーク」タブが空のままなのを見る。
ブラウザは、ページが行うすべてのリクエストを表示できます。そのパネルを開き、ファイルを変換して見てください。アップロードは現れません。起きていないからです。
- 1 開発者ツールを開きます。Chrome、Edge、FirefoxではF12、MacではCommand+Option+Iを押します。Safariではまず「開発」メニューを有効にし、「Webインスペクタを表示」を選びます。
- 2 「ネットワーク」タブに切り替えて開いたままにします。ページを出入りするすべてのバイトを記録します。
- 3 ファイルを変換します。ページ自身のアセットが一度読み込まれ、そのあとはあなたのファイルを運ぶものは何もありません。POSTも、アップロードも、写真を含むリクエストもありません。
ブラウザが私たちの代わりにアップロードを止めます。
私たちは、ただアップロードしないと選んでいるだけではありません。ブラウザにそれを禁じるよう頼んでいます。ここのすべてのページは、ブラウザが私たちの代わりに強制するルール、Content Security Policyとともに配信されます。肝心な部分は短いです。
connect-src 'self' connect-srcは、ページがどこにデータを送れるかを制御します。これを'self'に設定すると、ページは自分自身のオリジンとしか通信できません。他のどのサーバーも、どこであれ、何も受け取れません。唯一の例外は、ページビューを数えるだけでファイルを決して見ない、Cookieなしの解析エンドポイントです。もし私たちのコードがあなたの写真をどこかへ送ろうとしても、ブラウザがそのリクエストを拒否します。私たちがこっそり開けられない鍵です。
公開中のページのヘッダーは、securityheaders.comのような独立したスキャナーで確認できます。あなたのブラウザと同じポリシーを読み取ります。
尋ねる価値のある質問。
コードは非公開です。なぜ信頼すべき?
信頼する必要はないからです。自分で確かめられる動作を信頼してください。Wi-Fiを切っても変換ツールは動き続けます。だからサーバーが関わっていないのは明らかです。「ネットワーク」タブを開いても空のままです。だから何も送られていません。非公開のエンジンでも、ブラウザがウェブページに許すことは変えられませんし、このページは何も要求しません。証拠は、ソースが公開でも非公開でも同じです。
変換するとき、何か送られますか?
いいえ。ファイルも、その一部も、ファイル名も、ハッシュも送られません。ページは一度読み込まれ、あとはあなたのデバイスがすべての処理を行います。最初の訪問後は読み込み直す必要すらありません。アプリはオフライン利用のために保存されます。
アクセス解析に触れていますね。それは追跡では?
Cookieを使わないCloudflare Web Analyticsです。どのツールが使われているか把握するために匿名のページビューを数えるだけです。あなたのファイルを見ることは決してなく、プロフィールも作りません。ブロックしても変換ツールはまったく同じように動きます。
オフラインは本当に動く?それとも宣伝文句?
本当に動きます。まず接続ありでこのページを一度開き、次に機内モードにして変換してみてください。上の機内モードのテストは、約束の正直な形です。ネットワークを切って動くなら、ファイルは一度もデバイスを出ていなかったということです。
ファイルがデバイスから出ることはありません。