プライバシーと送信データ
送るもの、送らないもの
AI を設定しない限り、外部への通信はありません。
送るのは次の場合だけです。ブラウザ内蔵 AI 以外のプロバイダを設定し、「JushoAI で入力」を押したときです。送るのは、ルールで判定できない欄の情報です。
- 欄を区別するための内部 ID(
jai-Nの形式で生成する ID で、HTML のid属性とは別のものです) type、maxLengthname、htmlId(HTML のid属性)、label、placeholder、見出し(nearby)。この 5 つは、それぞれ 80 文字までに切り詰めます。
次のものは送りません。
- プロファイルの値
- 欄に入っている値
- select の選択肢
autocomplete、pattern
label や見出しは、ページ上の文言です。ページに表示されている個人情報が含まれることがあります。
通信が起きるとき
通信は、「JushoAI で入力」を押したときだけです。ページを開いただけでは、AI プロバイダへの通信は起きません。バッジの状態の確認は、保存された設定と権限を見るだけで、通信しません。
送信先のホストは、保存時に名前解決の結果まで検証し、解決先が内部ネットワークのアドレスに解決される・解決を確認できないときは保存を拒否します。呼び出しの直前にも解決先を再確認し、内部アドレスへの解決や解決できない結果ではその呼び出しを行わず、残りの欄はルールだけで続けます。ホスト名の字句チェックは引き続き適用されます。解決結果は呼び出しごとに取り直し(per-call)、前の呼び出しの結果は次の呼び出しに持ち越しません。検証と実際の接続は別々の名前解決であるため、その間に解決結果が変わる(DNS rebinding)場合を完全には排除できません。
監査ログ
AI を呼び出すたびに、記録を端末内に残します。設定ページの「通信の監査ログ」で、一覧の確認、ダウンロード、削除ができます。ブラウザ内蔵 AI と接続テストも記録します。
| 列 | 内容 |
|---|---|
id |
連番 |
created_at |
記録した日時(ISO 8601) |
provider |
openai、gemini、built-in のいずれか |
host |
送信先のホスト。ブラウザ内蔵 AI は空 |
model |
モデル名。ブラウザ内蔵 AI は空 |
purpose |
classify(入力時の分類)または connection-test(接続テスト) |
page_url |
入力したページのアドレスとパス。クエリとフラグメントは含みません。接続テストは空 |
field_count |
送った欄の数 |
chunk_index / chunk_count |
20 欄ずつに分割して送ったときの位置。分割しないときは空 |
result |
success、auth-error、http-error、network-error、invalid-response、error |
http_status |
HTTP ステータス。通信できなかったときと内蔵 AI は空 |
retried |
互換リクエストへ再試行したか |
duration_ms |
呼び出しの所要時間(ミリ秒) |
request |
モデルに送ったプロンプトの全文。欄のメタデータだけを含む |
response |
モデルの応答。2,000 文字を超えるときは先頭だけを残し、末尾に … を付けます |
一覧は新しい順に並び、各記録の行には対象のページ URL が表示されます。各記録を開くと、モデルに送ったプロンプト、モデルの応答、システムプロンプト(全呼び出しで共通)を確認できます。設定ページを開いたまま AI を呼び出したときは、「最新のログを読み込む」で最新の記録を取り込めます。
プロンプトには欄のメタデータだけを入れます。そのためプロファイルの値、欄に入力された値、API キー、リクエストヘッダが記録に入ることはありません。
記録は 7 日間だけ保存し、期限を過ぎたものは自動で削除します。保存期間は変えられません。件数が 1,000 件を超えたとき、または記録の合計が大きくなりすぎたときは、古いものから削除します。合計の大きさは、ブラウザの保存サイズの課金単位と同じ UTF-8 のバイト数で数えます。「ログを削除」で、いつでもすべて削除できます。AI を使わない設定のときは、記録は増えません。
「TSV でダウンロード」は、新しい順の TSV ファイル jushoai-audit-log-YYYY-MM-DD.tsv を保存します。送った欄の内容と応答も含まれます。表計算ソフトで開いても数式が実行されないよう、= + - @ で始まる値の先頭には ' を付けます。ファイルにはページのアドレスや欄の内容が含まれるため、扱いは利用者の責任で行ってください。
API キーの保管
API キーは、AES-GCM で暗号化して保存します。鍵は取り出せない形で、別の保管場所(IndexedDB)に置きます。ストレージだけが流出しても、復号できません。ただし、拡張機能自身のコードからは読み出せます。
API キーは、設定ページにも表示しません。保存済みかどうかだけを表示し、置き換えと削除ができます。
通信の許可
通信の許可は、拡張機能のインストール時には求めません。設定ページで保存したときに、そのプロバイダのホストだけを求めます(オプショナル権限)。許可はホスト単位でポートを区別しないため、同じホストの別のポートにも及びます。実際に送る先は、保存した接続先に限られます。許可しないと AI は使われません。Firefox では、このときホストの許可に加えて、ウェブサイトのコンテンツ(入力欄のメタデータ)をプロバイダに送ることへの同意(データ収集の権限)も求めます。
ブラウザ内蔵 AI の場合
ブラウザ内蔵 AI は端末内で動き、外部へは送りません。設定方法は AI プロバイダの設定 を参照してください。