最終更新: 2026-08-24 ・ 対象バージョン: 1.0.0
Private RSS Reader は、利用者のデータを開発者および第三者の解析サービスへ 収集・送信しません。
購読フィード、記事、既読/未読状態、記事の更新履歴、記事の差分、設定は、 すべて利用者の端末内にのみ保存されます。
ネットワーク通信が発生するのは、利用者自身が登録したフィード URL への取得、 利用者がフィードを探すよう指示したページの取得、そして利用者が明示的に 「元の記事を開く」または記事を共有する操作を行った場合のみです。
すべて、拡張機能をインストールした端末の Chrome プロファイル内に保存されます。
| データ | 保存先 | 内容 |
|---|---|---|
| 購読情報 | IndexedDB (private-rss-reader-db) |
フィード URL、タイトル、サイト URL、HTTP ETag / Last-Modified、最終取得時刻、エラー状態、利用者が並べ替えた順序 |
| 記事 | IndexedDB | タイトル、リンク、著者、日時、要約、本文、既読状態、更新状態、スター、利用者が付けたタグ、コンテンツハッシュ |
| 記事の前バージョン | IndexedDB | 更新が検出された記事の、直前 1 バージョンのタイトル/要約/本文 |
| 設定 | chrome.storage.local |
更新間隔、テーマ、言語、バッジ表示方式、保持件数、選択中のフィード・タグ・フィルター |
| Reader タブ ID | chrome.storage.session |
タブ ID 1 件のみ。ブラウザ終了時に消去されます |
chrome.storage.sync は一切使用しないため、これらのデータが Google アカウントへ
アップロードされたり、端末間で同期されたりすることはありません。
この拡張機能が行う通信は次の 3 種類だけで、これに加えて、利用者が自ら操作したときに 限り記事の共有(後述)が起こります。
フィードの取得 — 利用者が自ら登録したフィード URL への GET リクエスト。
credentials: "omit"(Cookie を送信しない)および
referrerPolicy: "no-referrer"(リファラーを送信しない)で送信されます。
フィード追加時、更新ボタン操作時、設定した更新間隔で実行されます。
「Cookie を送信しない」の唯一の例外は、社内 SharePoint のリストや非公開
リポジトリのように、そもそも公開されていないフィードです。これらは匿名の
リクエストに対して、フィード本体ではなくサインイン画面へのリダイレクトを
返します。この応答が返ってきたときに限り、同じリクエストを一度だけ
credentials: "include" で再送し(Chrome がそのサイト用にすでに保持して
いる Cookie を付与)、成功したフィードは「サインインが必要なフィード」として
記憶します。匿名での試行が必ず先に行われ、再送先は利用者自身が登録して
アクセスを許可したそのサイトだけであり、404・タイムアウト・到達不能などの
失敗では発生しません。どこかへ送信・保存されるわけではなく、拡張機能が
Cookie の中身を読むこともなく、ほかのフィードは匿名のままです。
この動作は 2 段階で制御できます。設定 →「プライバシー」 で自動再送 そのものを無効化でき、設定 →「フィード URL の確認・編集」 では、 どのフィードがサインイン済みで取得されているかを確認し、個別に匿名へ戻せます (そこで手動オフにしたフィードは、以後自動で切り替わることはありません)。
フィードを探すよう指示されたページ 1 件の取得 — 「フィードを追加」に サイトの URL を貼るか、「このページのフィードを探す」を押すと、そのページを 1 回だけ取得します。利用者のクリックを受けて、フィード取得と同じ設定 (Cookie なし・リファラーなし)で、Chrome がそのサイトへのアクセスを許可した 後にのみ実行します。読み取るのはそのページの HTML が宣言しているフィードだけで、 見つかった宣言は一覧表示するのみ、こちらから辿ることはありません(フィード本体を 取得するのは利用者が「追加」を押したときだけです)。サイトが公開していない アドレスを推測して要求することは一切ありません。
利用者が開いたページ — 「元の記事を開く」を操作したときに、Chrome が そのリンクを新しいタブで開きます。これは利用者自身によるブラウザの通常の遷移です。
記事の内容を端末の外に出しうる唯一の機能なので、動作を全て記載します。
共有ダイアログは、件名・記事タイトル・リンク・任意の抜粋・フィード名から成る 本文を組み立て、編集可能な状態で画面に表示します。ボタンを押しても、拡張機能が 送信するわけではありません。URL を組み立てて、ブラウザーに開いてもらうだけです。
mailto: リンクを生成します。Chrome がそれを端末に登録された
メールソフトに渡し、本文が入力された状態で開きます。そこで送信を押すまで、
何も送信されません。宛先欄は任意で、下書きの「To」行を埋めるためだけに使われます。
一部だけの入力で構いません(補完は利用者自身のメールソフトのアドレス帳で
行われます)。入力内容は保存されず(次回の共有時には空です)、拡張機能が
アドレスをどこかへ送ることもありません。https://teams.microsoft.com/share)へのリンクを生成し、新しいタブで
開きます。記事のリンクと本文はそのアドレスの一部であるため、タブを開いた時点で
Microsoft に渡ります。その後どのチャット・チャネルに投稿するかを選び、送信する
のは利用者自身です。これは Microsoft のページへの通常のブラウザ遷移であり、
以降は本ポリシーではなく Microsoft のプライバシー条項が適用されます。いずれの場合も拡張機能自身がリクエストを送ることはなく、バックグラウンドでの共有も、 自動送信も行いません。「本文をコピー」はクリップボードに入れるだけで、通信は 一切発生しません。
この機能は既定でオンですが、設定 →「プライバシー」 で完全にオフにできます。 オフにすると、ボタンとショートカットキーの両方がなくなります。
これ以外の外部通信は発生しません。具体的に、以下は一切存在しません。
UI のメッセージカタログは、インストール済み拡張機能パッケージ内のファイル
(chrome-extension://<id>/locales/<code>.json)を fetch() で読み込みます。
これはローカルファイルの読み込みであり、ネットワーク通信ではありません。
記事本文は表示前にサニタイズされます。外部リソースを読み込み得る要素
(img、iframe、video、audio、source、object、embed、svg、
script、style、link)はすべて削除されます。
したがって Version 1.0 では外部画像やトラッキングピクセルを読み込むことはなく、
配信側が埋め込み画像によって「記事を開いたこと」を知ることはできません。
記事内のリンクは http: と https: のみに制限され、
rel="noopener noreferrer nofollow" が付与されます。
利用者がクリックした場合にのみ遷移します。
| 権限 | 必要な理由 |
|---|---|
storage |
設定を chrome.storage.local に、Reader タブ ID を chrome.storage.session に保存するため |
alarms |
タイマーを常駐させずに定期更新をスケジュールするため |
activeTab |
ツールバーのポップアップで「このページのフィードを探す」を押したときに、前面のタブの URL を読むため。Chrome は利用者が拡張機能を呼び出した瞬間に、そのタブ 1 つに対してのみ付与し、離れると失効します。読み取るのは URL だけ(ページの中身は読みません)で、その URL を「フィードを追加」ダイアログに渡すためだけに使います。取得を行うのは利用者がそこで指示したときのみで、閲覧履歴の記録も一切行いません |
optional_host_permissions(https://*/*、http://*/*) |
インストール時には付与されません。フィードを追加するときに、そのフィードのオリジンに対してのみ許可を要求し、そのオリジンを使う最後のフィードを削除したときに解放します |
optional_permissions(notifications) |
インストール時には付与されません。設定画面でデスクトップ通知をオンにしたときに要求し、オフにしたときに返上します。通知の文面は購読中のフィードから端末内で生成され、サーバーとの送受信は一切行いません |
<all_urls> のホスト権限は要求せず、Web ページへの Content Script 挿入も行わないため、
利用者が閲覧しているページを読み取ることはできません。activeTab を使い tabs 権限を
使わないのは意図的です。前者は「利用者が拡張機能に何かを頼んだ瞬間の、そのタブ 1 つの
URL」しか得られませんが、後者はインストールされている限り全タブの URL を取得できて
しまうためです。
ページのフィードを探すよう指示した場合に発生する通信は、そのページへの 1 リクエスト だけです。利用者のクリックを受け、Chrome がそのサイトへのアクセスを許可した後に行い ます。見つかった宣言は一覧表示するだけで、こちらから辿ることはありません。フィードを 実際に取得するのは、利用者が「追加」を押したときだけです。
chrome.storage.local のデータも一緒に削除されます。この拡張機能にはサーバー側の構成要素が存在しないため、開発者に対して 開示・削除を請求すべきデータはありません。不具合等はプロジェクトのリポジトリへ ご報告ください。