About Musashi Mercari Bridge
最終更新: 2026-05-26
## 1. 取得する情報
| 種別 | 取得契機 | 利用目的 | 保存先 |
| --- | --- | --- | --- |
| Firebase ID Token | ユーザーが popup 上で「対象ブラウザから自動取得」を押した時 | Musashi API への認可付きリクエストの送信 | `chrome.storage.local` (拡張ローカルのみ) |
| Gmail メール本文の DOM 抽出文字列 | ユーザーが Gmail を開いた状態で content script がメルカリ関連と判定した時 | Musashi にメルカリ関連通知の要約を保存するため | 一時メモリ → Musashi API (DB) |
| メルカリ商品/取引ページの DOM 抽出文字列 | ユーザーが popup 上で「現在のメルカリページから手動同期」を押した時 | Musashi の取引データに紐付けるため | 一時メモリ → Musashi API (DB) |
| 拡張機能設定 (API URL, 通知チャネル, 未送信キュー) | ユーザー操作 | 動作設定の永続化と再送 | `chrome.storage.local` (拡張ローカルのみ) |
## 2. 取得しない情報
- メルカリの ID / パスワードなどの資格情報
- Gmail / メルカリの Cookie 内容
- ブラウザ閲覧履歴
- 位置情報、デバイス識別子
- メルカリ / Gmail のメッセージ本文の自動巡回・常時収集 (※ DOM 抽出は明示操作またはアクティブタブ上での content script の限定的なスキャンに限ります)
## 3. 第三者提供
本拡張は、ユーザーが指定した Musashi (musashi.awiiin.com / Cloud Run 環境) のみへデータを送信します。Anthropic, Google (Gmail API 含む), その他のサードパーティへ本拡張から直接データを送信することはありません。
## 4. データの削除
- Firebase ID Token, 設定値, 未送信キューは Chrome の「拡張機能を削除」によって `chrome.storage.local` ごと削除されます。
- Musashi DB 側に保存されたデータの削除は、Musashi の管理画面または運営へのサポート問い合わせで行ってください。
## 5. セキュリティ
- 通信はすべて HTTPS (Cloud Run / musashi.awiiin.com) のみを利用。
- 拡張内に長期的なパスワード保管を行わない設計。
- Firebase ID Token はユーザーが明示的に取得操作した時のみ保存し、期限切れを検知した場合は自動消去します。
## 6. お問い合わせ
info@unlimited-hk.com
# Musashi Mercari Bridge — Chrome Web Store 申請素材
## 拡張機能の概要
Musashi (musashi.awiiin.com) を利用する既存ユーザー向けの補助拡張です。Musashi にログイン済みのユーザーが、Gmail で受信したメルカリ通知メールの要約、およびメルカリの商品/取引ページから抽出した最小限の情報を、ワンクリックで Musashi 側 DB に保存できるようにします。バックグラウンドの自動巡回は行わず、すべてユーザーの明示操作を起点としています。
## ターゲットユーザー
- Musashi の既存契約ユーザー (Firebase Auth で発行された ID Token を持つユーザー)
- メルカリでの取引が発生したことを Musashi の DB に集約したい運用担当者
## 主要機能
1. Musashi の認証済みタブから Firebase ID Token を取得 (popup の「対象ブラウザから自動取得」ボタン)
2. Gmail 画面でメルカリ関連メールを DOM 抽出し、要約を Musashi API へ送信 (`POST /api/chrome-extension/events`)
3. メルカリの商品/取引ページから ItemID, 価格, 発送ステータスをユーザー操作で抽出して同期 (popup の「現在のメルカリページから手動同期」ボタン)
4. メルカリのログイン画面検知時にユーザーへ手動ログインを通知 (自動ログインは行いません)
5. 送信失敗時のローカルリトライキュー保持と再送 (popup の「未送信データを再送」ボタン)
## 権限の正当化 (Permission Justification)
| 権限 | 正当化 |
| --- | --- |
| `storage` | ユーザー設定 (API Base URL, 通知チャネル選択, 再送キュー) を `chrome.storage.local` に保存するため必須。 |
| `tabs` | 「対象ブラウザから自動取得」で Musashi のログイン済みタブを特定するため、および手動同期で現在開いているメルカリタブを参照するために必要。タブ内容の常時監視は行いません。 |
| `activeTab` | popup を開いている瞬間に開いているメルカリ/Gmail タブ上でユーザーアクションに応じて content script を発火させるため。 |
| `scripting` | Musashi にログイン中のタブが拡張更新直後で content script 未注入だった場合に、`chrome.scripting.executeScript` で `content/musashi-auth.js` を動的に注入するフォールバックを提供するため。すべてユーザーの明示クリックを起点とした 1 回限りの注入であり、外部 URL からのスクリプト取得は行いません。 |
| `notifications` | Mercari/Musashi のセッション切れや認証失敗をユーザーに通知するため (通知は重複抑制つき)。 |
| `alarms` | 15 分間隔で Musashi 側の認証状態をバックエンドに問い合わせ、失効していた場合のみ通知を出すため。短時間ポーリングは行いません。 |
### host_permissions (提出版)
| ホスト | 正当化 |
| --- | --- |
| `https://musashi.awiiin.com/*`, `https://www.musashi.awiiin.com/*` | 認証連携 API の呼び出し、および Firebase ID Token 取得元のドメイン。 |
| `https://mail.google.com/*` | Gmail 画面に対する content script (メルカリメール検出) を注入するため。Gmail のメール本文の Google API は使用しません (DOM 抽出のみ)。 |
| `https://jp.mercari.com/*`, `https://www.mercari.com/*` | メルカリの商品/取引ページに対する content script (ItemID 抽出) を注入するため。ユーザー操作起点でのみ抽出を実行します。 |
> 開発用の `manifest.json` には `http://localhost:3000/*` と `https://*.run.app/*` が含まれていますが、これらは `npm run build:extension` で生成される `dist/extension/manifest.json` (= `manifest.production.json`) では除外されており、Chrome Web Store には開発用ホストを含めた状態では提出しません。
## 収集データと送信先
- **収集対象**: Firebase ID Token (Musashi 認証のみ。拡張内に長期保存しません) / Gmail 画面 DOM の文字列 (メルカリ関連と判定された箇所のみ) / メルカリ画面 DOM の文字列 (商品/取引識別子、価格、発送ステータス) / 拡張機能の設定値
- **送信先**: ユーザーが指定した Musashi (musashi.awiiin.com) のエンドポイントのみ
- **第三者送信**: なし。Google / Anthropic / その他の外部サービスへ拡張から直接データを送ることはありません。
- **保存期間**: Musashi 側 DB のポリシーに従う (拡張内のキャッシュは設定値と未送信キューのみ、ユーザー操作で削除可)
## ユーザーガイダンス
- 未認証時の動作: API 呼び出しを行わず、ユーザーへ手動ログイン (Musashi / メルカリ) を通知。
- セッション切れ時: 「対象ブラウザでメルカリにログインしてください」と通知し、ユーザーが Musashi/メルカリにログインした後に再操作する設計。自動再認証は行いません。
- データ保存先の説明と削除手順は同梱の [PRIVACY.md](./PRIVACY.md) を参照。
## サポート連絡先
- 開発者: UnLimiteD-H.K
- サポートメール: info@unlimited-hk.com
## バージョン履歴
- 0.1.0: 初回審査提出版 (本リスティングに対応)。
Read the full description