Read in English

プライバシーポリシー - Private RSS Reader

最終更新: 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 種類だけで、これに加えて、利用者が自ら操作したときに 限り記事の共有(後述)が起こります。

  1. フィードの取得 — 利用者が自ら登録したフィード URL への GET リクエスト。 credentials: "omit"(Cookie を送信しない)および referrerPolicy: "no-referrer"(リファラーを送信しない)で送信されます。 フィード追加時、更新ボタン操作時、設定した更新間隔で実行されます。

    「Cookie を送信しない」の唯一の例外は、社内 SharePoint のリストや非公開 リポジトリのように、そもそも公開されていないフィードです。これらは匿名の リクエストに対して、フィード本体ではなくサインイン画面へのリダイレクトを 返します。この応答が返ってきたときに限り、同じリクエストを一度だけ credentials: "include" で再送し(Chrome がそのサイト用にすでに保持して いる Cookie を付与)、成功したフィードは「サインインが必要なフィード」として 記憶します。匿名での試行が必ず先に行われ、再送先は利用者自身が登録して アクセスを許可したそのサイトだけであり、404・タイムアウト・到達不能などの 失敗では発生しません。どこかへ送信・保存されるわけではなく、拡張機能が Cookie の中身を読むこともなく、ほかのフィードは匿名のままです。

    この動作は 2 段階で制御できます。設定 →「プライバシー」 で自動再送 そのものを無効化でき、設定 →「フィード URL の確認・編集」 では、 どのフィードがサインイン済みで取得されているかを確認し、個別に匿名へ戻せます (そこで手動オフにしたフィードは、以後自動で切り替わることはありません)。

  2. フィードを探すよう指示されたページ 1 件の取得 — 「フィードを追加」に サイトの URL を貼るか、「このページのフィードを探す」を押すと、そのページを 1 回だけ取得します。利用者のクリックを受けて、フィード取得と同じ設定 (Cookie なし・リファラーなし)で、Chrome がそのサイトへのアクセスを許可した 後にのみ実行します。読み取るのはそのページの HTML が宣言しているフィードだけで、 見つかった宣言は一覧表示するのみ、こちらから辿ることはありません(フィード本体を 取得するのは利用者が「追加」を押したときだけです)。サイトが公開していない アドレスを推測して要求することは一切ありません。

  3. 利用者が開いたページ — 「元の記事を開く」を操作したときに、Chrome が そのリンクを新しいタブで開きます。これは利用者自身によるブラウザの通常の遷移です。

記事の共有(メール送信・Teams 共有)

記事の内容を端末の外に出しうる唯一の機能なので、動作を全て記載します。

共有ダイアログは、件名・記事タイトル・リンク・任意の抜粋・フィード名から成る 本文を組み立て、編集可能な状態で画面に表示します。ボタンを押しても、拡張機能が 送信するわけではありません。URL を組み立てて、ブラウザーに開いてもらうだけです。

いずれの場合も拡張機能自身がリクエストを送ることはなく、バックグラウンドでの共有も、 自動送信も行いません。「本文をコピー」はクリップボードに入れるだけで、通信は 一切発生しません。

この機能は既定でオンですが、設定 →「プライバシー」 で完全にオフにできます。 オフにすると、ボタンとショートカットキーの両方がなくなります。

これ以外の外部通信は発生しません。具体的に、以下は一切存在しません

UI のメッセージカタログは、インストール済み拡張機能パッケージ内のファイル (chrome-extension://<id>/locales/<code>.json)を fetch() で読み込みます。 これはローカルファイルの読み込みであり、ネットワーク通信ではありません。

記事内の外部コンテンツ

記事本文は表示前にサニタイズされます。外部リソースを読み込み得る要素 (imgiframevideoaudiosourceobjectembedsvgscriptstylelink)はすべて削除されます。 したがって Version 1.0 では外部画像やトラッキングピクセルを読み込むことはなく、 配信側が埋め込み画像によって「記事を開いたこと」を知ることはできません。

記事内のリンクは http:https: のみに制限され、 rel="noopener noreferrer nofollow" が付与されます。 利用者がクリックした場合にのみ遷移します。

権限(Permissions)

権限 必要な理由
storage 設定を chrome.storage.local に、Reader タブ ID を chrome.storage.session に保存するため
alarms タイマーを常駐させずに定期更新をスケジュールするため
activeTab ツールバーのポップアップで「このページのフィードを探す」を押したときに、前面のタブの URL を読むため。Chrome は利用者が拡張機能を呼び出した瞬間に、そのタブ 1 つに対してのみ付与し、離れると失効します。読み取るのは URL だけ(ページの中身は読みません)で、その URL を「フィードを追加」ダイアログに渡すためだけに使います。取得を行うのは利用者がそこで指示したときのみで、閲覧履歴の記録も一切行いません
optional_host_permissionshttps://*/*http://*/* インストール時には付与されません。フィードを追加するときに、そのフィードのオリジンに対してのみ許可を要求し、そのオリジンを使う最後のフィードを削除したときに解放します
optional_permissionsnotifications インストール時には付与されません。設定画面でデスクトップ通知をオンにしたときに要求し、オフにしたときに返上します。通知の文面は購読中のフィードから端末内で生成され、サーバーとの送受信は一切行いません

<all_urls> のホスト権限は要求せず、Web ページへの Content Script 挿入も行わないため、 利用者が閲覧しているページを読み取ることはできません。activeTab を使い tabs 権限を 使わないのは意図的です。前者は「利用者が拡張機能に何かを頼んだ瞬間の、そのタブ 1 つの URL」しか得られませんが、後者はインストールされている限り全タブの URL を取得できて しまうためです。

ページのフィードを探すよう指示した場合に発生する通信は、そのページへの 1 リクエスト だけです。利用者のクリックを受け、Chrome がそのサイトへのアクセスを許可した後に行い ます。見つかった宣言は一覧表示するだけで、こちらから辿ることはありません。フィードを 実際に取得するのは、利用者が「追加」を押したときだけです。

データの削除

問い合わせ

この拡張機能にはサーバー側の構成要素が存在しないため、開発者に対して 開示・削除を請求すべきデータはありません。不具合等はプロジェクトのリポジトリへ ご報告ください。