EchoFlowは、ブラウザのサイドパネル内で要約、タイムライン生成、スマートキャプチャなどのシームレスな機能を提供するために、特定のアクセス権限を必要とします。Googleが提唱する「必要最小限の権限(Least Privilege)」の原則に則り、拡張機能のコア機能を提供するために真に必要な権限のみを要求しています。
以下に、要求する権限(Permissions)、ホスト権限(Host Permissions)、およびそれぞれが必要となる詳細な理由を開示します。
1. 拡張機能の基本権限
ユーザーが拡張機能アイコンをクリックした際、またはサイドパネルを開いた際に、現在開いているWebページのURLとタイトルを一時的に読み取り、コンテンツ抽出エンジンを起動するために必要です。
閲覧中のWebページに軽量なスクリプトを挿入し、広告などの不要な要素を排除した上で、本文テキストをクリーンに抽出します。また、複数ページに分割された記事の「次へ」ボタンを検知・結合するために必要です。
主にYouTube動画の再生ページにおいて、スライドの切り替えや重要な視覚的変化を検知してフレーム画像(スクリーンショット)を取得し、Proプラン向けの「スマートキャプチャ付きタイムライン」を生成するために使用します。
ユーザー設定(Gemini APIキー、カスタムプロンプト、UIテーマ設定など)およびローカルの要約履歴をお使いのブラウザ内に安全に保管するために必要です。
長時間の動画の書き起こしテキストや一時的な画像アセット、要約履歴を保存する際、ブラウザの容量上限エラーによって保存処理が失敗するのを防止するために必要です。
生成した要約、文字起こしデータ、キャプチャ画像などを、MarkdownファイルやZIPアーカイブとしてお使いのパソコンに直接ダウンロードするために使用します。
Google OAuth 2.0を介してログインし、Firebase上でProサブスクリプションの有効状態を確認する、およびGoogle Driveへのエクスポート権限を認証するために使用されます。
サイドパネル内の「貼り付け」ボタンを明示的にクリックした際、クリップボード内の外部テキストを瞬時に入力欄へ挿入し、手動要約のインプットを簡略化するために使用します。
ユーザーがChromeのリーディングリスト(Reading List)をサイドパネルから直接操作(読みたい記事を追加したり、消化した記事を削除)できるようにするために必要です。
ブラウザのタブ移動や更新を検知し、アクティブなタブが切り替わった際に、サイドパネルの表示内容を新しいページの内容へとシームレスに同期・更新するために使用されます。
Google Chromeのサイドパネル機能にUIを統合します。これにより、閲覧中のページを覆い隠すことなく、画面の右側で並んで要約を確認することができます。
NotionなどのAPIと連携する際にCORS制限を安全にクリアするためにリクエストヘッダーを修正する、または抽出を阻害するトラッキングクッキーなどを安全に遮断するために使用されます。
2. ホスト権限 (ドメインアクセス)
EchoFlowは、中継サーバーを使用せず、ブラウザから直接公式のAPIエンドポイントへHTTPS通信を行うため、特定のドメインへのアクセス権限を要求します。
ニュースサイト、ブログ、ドキュメントなど、ユーザーが要約を要求した任意のドメインで、本文テキスト抽出プログラム(WebArticleExtractor)を実行するために必要です。
Googleの公式Gemini APIサーバーへ直接要約リクエストを送信します。開発者が用意した中継サーバーを通過しないため、APIキーやコンテンツデータが外部に漏洩する心配がありません。
要約結果やメモを、ユーザー自身のNotionワークスペースのデータベースへ直接エクスポートするために使用します。
Proライセンスの確認および認証手続きのために、Firebaseのエンドポイントと安全に通信するために必要です。