オンラインツールがファイルをアップロードしていないか確認する方法
現在のバージョンの証拠とする前に、測定日、実行環境、リリースとの対応を確認してください。
なぜ信じるのではなく検証するのか
処理に関する主張は検証可能です。どのツールも「ファイルがデバイスから出ません」と言えますが、実際のタスク中のネットワーク通信が観察でき、繰り返し再現できるときに初めて、その主張は証拠になります。このガイドは 1 つの方法——ツールが動く間、ブラウザーが何を送信しているかを見る——を教え、その後で同じ方法が恒常的な公開アーティファクトとして動いている様子を示します。Toolars に関する主張を信じるのでなく、確認できるようにするためです。
- 約束と証拠ラベルは約束、キャプチャは証拠です。違いは、キャプチャであれば再生でき、検査でき、異議を唱えられることです。
- 1 つの方法、どのツールでもこの方法はツールに依存しません。ブラウザー付属のネットワークパネルで約 1 分、テストしたいサイトならどこでも使えます。
- まず自分自身で検証このガイドは他のサービスを名指しせず、他のサイトの動作について何も断定しません。確認の方法を教え、続いて Toolars 自身が公開する証拠で実演します。
60 秒の DevTools チェック
ネットワークパネルでテスト中のリクエストを調べられます。証拠の範囲は、実際に記録したブラウザのコンテキスト、通信経路、時間帯に限られます。
処理とダウンロードが終わるまで記録し、バージョン、ブラウザの状態、記録範囲を残します。DevTools のログだけでは、あらゆる通信経路を記録できたとは保証できません。
- 先に開いて消すツールのページとネットワークパネル(開発者ツール→ネットワークタブ)を先に開き、ログを消去して記録を続けます。ページの読み込みでは必ず HTML・スクリプト・スタイルのリクエストが発生します。そのシェルの通信は想定内です。
- 捨てられるファイルで試す専用のテストファイルを使い、確認したい操作だけを実行します。バックグラウンド通信も発生し得るため、操作に由来するかはペイロードを調べて判断します。
- アクションを見るツールのアクションを押して一覧を見ます。ローカルツールは初回にコード・フォント・エンジンを取得することがあります。ウォームアップ実行の後は、理想的には何も発生しません。
ログの読み方:シェルの通信はあなたのファイルではない
必要なスキルは、ページの通信とデータの通信を見分けることです。シェルの通信はアプリケーションをブラウザーへ届け、データの通信はコンテンツをどこかへ運びます。見分け方を知れば、2 つはまったく違って見えます。
- シェルのリクエストスクリプト、スタイル、フォント、エンジンは通常のページ資源です。ただし、見慣れたパスや拡張子、小さなリクエストだけではユーザーデータが含まれない証明になりません。送信先とペイロードを確認します。
- アップロードの兆候ファイルデータは同一オリジンにも別オリジンにも送信できます。POST、PUT、multipart の本文や他の通信経路を調べます。メソッド、送信先、サイズだけではアップロードの有無を判定できません。
- 開いて確認サイズだけではどちらの証明にもなりません。圧縮チャンク、再開可能なセッション、WebSocket は転送を分割します。証拠になるのはリクエストのメソッド・宛先・本文です。開いて確認しましょう。
キャッシュとサービスワーカーは見えるものを変える
ネットワークログは、このブラウザー状態でのこの実行を測ります。そしてブラウザー状態は、キャッシュとサービスワーカーが変えるために存在するものです。ログを正しく読むには、その状態を制御することが必要です。
- ウォームアップは普通再訪時には、ウォームアップ済みのサイトがシェルをディスクやサービスワーカーから供給し、パネルには初回よりはるかに少ないリクエストしか表示されません。ウォームアップ後の少数のリクエストは健全なローカルツールの姿であり、それ自体は何の証明にもなりません。
- きれいな状態からきれいに読むには、新しいブラウザープロファイルかシークレットウィンドウから始め、パネルのキャッシュ無効オプションを有効にします。シークレットモードがどのブラウザーでもサービスワーカーを止めるわけではないことに注意してください。
- ワーカーをブロック公開スクリプトは各シナリオで新しいブラウザコンテキストを作り、Service Worker をブロックして過去の状態の影響を減らします。どの資源を事前に読み込み、測定をいつ始めたかも記録します。
カナリアチェック:ファイルに印を付けて検索する
テストファイルに一意のマーカーを埋め、記録したリクエストを検索します。完全一致がなくても、マーカーが見つからなかったというだけです。エンコード、圧縮、暗号化、一部だけの転送、記録漏れで検出できない場合があります。
マーカー検索をペイロードの確認と組み合わせ、記録範囲を明記します。今回観測できたことと、否定できない可能性を示します。
- 印を付ける捨てられるファイルを作り、自分で生成してどこにも公開したことのない印を埋め込みます。テキストレイヤーや画像コメント、PDF のノートにランダムな UUID を。一意性が、一致の意味を作ります。
- 通信を検索する記録した URL、クエリ文字列、本文を検索します。一致は、記録された送信リクエストにマーカーが含まれていることを示します。リクエストの状態も確認してください。これだけではファイル全体の転送は証明できず、不一致もファイルデータが端末外に送られていない証明にはなりません。
- 繰り返すカナリアが覆うのは観察したセッションだけです。だからこそ、一度きりの丁寧な手作りチェックより、繰り返される定期キャプチャが重要です。
Toolars が自身について公開する証拠
Toolars は同じ手法を恒常的な公開アーティファクトとして運用しています。すべてのツールに型付きの処理宣言、キャプチャ済みの通信を載せたトラストセンターページ、そして結果と同じくらい率直に限界を述べる機械可読のレシートです。
- 開示されたホストトラストセンターページには、サイトのシェルが到達しうる外部ホストの一覧、応答とともに返されるセキュリティヘッダー、そして同じネットワークパネルで手作業実行できるセルフ検証手順があります。
- 機械可読レシート/privacy-proof/verification-receipt.json の機械可読レシートには、検証コマンド、測定済みシナリオの結果、開示済みの外部ホスト、サイトの X-Toolars-Release レスポンスヘッダーと照合するリリースリビジョンが公開されています。
- 率直な限界そのレシートは証明しないことを、証明することと同じくらい明確に述べています。測定されたウィンドウはその実行を対象とし、サービスが将来何をするかの監査ではありません。
公開検証スクリプトに設定された 6 つのシナリオ
公開リポジトリには本番サイト向けの検証スクリプトがあります。検査対象はスクリプトが記録したリクエストと測定時間帯です。各実行の結果と限界は対応するレシートで確認します。
ハーネスは公開リポジトリ https://github.com/aixtral/toolars-open の evidence-harness/ にあります。MIT ライセンスで公開され、プライベートなステージングコピーではなく、主張の実際の対象である公開中のサイトを検証します。
- 設定済みの 6 シナリオ設定されているのは 6 シナリオです。画像変換とダウンロード、HEIC 変換、OCR、PDF 回転、CSV の引き渡し、カスタムツールチェーンです。設定済みでも合格とは限りません。レシートで各状態、測定時間帯、リリースリビジョンを確認します。
- 3 つの不変条件検査は検出したアップロード、カナリアマーカーの一致、想定外のクロスオリジン通信を報告します。開示済みのファーストパーティ分析プロキシは別集計です。合格が示すのは測定時間帯の検査結果であり、あらゆるデータ転送を排除するものではありません。
- リリースを確認公開サイトを記録する定期ワークフローが設定されています。最新の完了した実行、その結果とリリース識別子を確認してください。サイトのレシートは保存済みのサンプルで、このワークフローでは自動更新されません。記録の失敗や未完了だけでプライバシー漏えいとは判断できません。
自分で証明を再実行する
レシートの価値は再現性と同じくらいです。ハーネスは誰でも、公開中のサイトを対象に、結果が 1 行ずつ検査できるファイルに書き出されるよう設計されています。
リクエストがゼロとは、その測定時間帯に記録機構がリクエストを観測しなかったという意味です。別途記載した事前読み込みの通信は含まず、記録対象の経路、バージョン、セッション以外の挙動を証明しません。
- クローンして検証リポジトリをクローンし、evidence-harness/ に入り、依存関係と Playwright の Chromium をインストールしてから、verify スクリプトを公開サイトを対象に実行します。
- 終了コードが判定実行は privacy-proof-receipt.json を書き出し、予期しないものが境界を越えた場合——本文を持つリクエスト、URL 内のカナリア文字列、サイトの公開リストにないホスト——にはゼロ以外で終了します。
- メタデータのみレシートが記録するのはリクエストのメタデータ——メソッド、ホスト、パス、リソースタイプ、本文の有無——だけで、ファイルの内容、リクエスト本文、レスポンス本文は決して記録しません。
この方法が証明できないこと
誠実な検証には自身の境界が含まれます。その境界を知っておけば、きれいなネットワークトレースを、そもそも保証ではないものへと読み過ぎることを防げます。
- 1 つの窓きれいなトレースは観察したセッション——その実行、そのブラウザー、そのファイル——を対象とします。プロバイダーのサーバーや担当者、将来のコードを監査するものではありません。
- デバイスが要因デバイスから何が出るかはデバイスにも依存します。侵害されたブラウザー、悪意のある拡張機能、共有プロファイルは、ツールのアーキテクチャとは独立にデータを動かしえます。
- 恒常的な証拠どのプライバシー主張も——このサイトが行う主張も含め——再採取される恒常的な証拠として扱い、一生の保証としては扱わないでください。ハーネスが 1 回の良いキャプチャに安心せずスケジュールで再実行されるのはまさにそのためです。
よくある質問
サイトのツールがファイルをアップロードするかどうかはどう確認しますか?
カナリア文字列とは何ですか?
クリーンなネットワークトレースはツールがプライバシーを守る保証になりますか?
恒常的な証拠を見る。
現在のバージョンの証拠とする前に、測定日、実行環境、リリースとの対応を確認してください。