X(旧Twitter)のブックマークを、会話の流れごとPDFで保存するChrome拡張機能
ブクマ保管庫は、利用者ご自身がX(旧Twitter)で保存したブックマークを、表示に近い体裁のPDFファイルとしてご自身のコンピュータに保存し、保存に成功したものをブックマークから解除するChrome拡張機能です。
処理はすべて利用者のブラウザ内で完結します。当方は、利用者のブックマークの内容、生成されたPDF、およびXのアカウント情報を受信することも保存することもありません。
| 項目 | 実際の挙動 |
|---|---|
| 1回あたりの処理件数 | 最大50件です。50件を超える場合は、もう一度実行すると続きから処理します |
| 保存先フォルダの指定 | 本ツールからは選べません。Chromeの「設定 > ダウンロード > 保存先」で指定されたフォルダ配下に保存されます(Chromeの仕様による制約です) |
| 動画付きポスト | PDFに動画は含まれません。サムネイル画像1枚と再生マークが記録されます |
| 複数スライドのカード | 先頭の1枚のみが記録されます |
| 処理中のスリープ | コンピュータがスリープすると処理は中断します。復帰後、もう一度実行すると続きから処理します |
| 動作環境 | デスクトップ版Google Chrome。Xにログイン済みであること。スマートフォンでは動作しません |
また、ご利用にあたりChromeの設定「ダウンロード前に各ファイルの保存場所を確認する」をオフにしていただく必要があります。オンのままではPDF1件ごとに保存ダイアログが表示されます。この設定は本ツールからは変更できないため、初回の案内画面で手順をご説明します。
本ツールが扱うデータと、その取扱いについて説明します。Chromeウェブストアのポリシーは、データが利用者の端末内でのみ処理され外部に送信されない場合であっても、その取扱いを開示することを求めています。本ポリシーはこれに従い、端末内で完結する処理についても記載しています。
| データ | 取得の目的 | 保存場所 | 当方への送信 |
|---|---|---|---|
| Xのブックマークの内容(本文・画像・投稿者名・プロフィール画像・引用・リンクカード) | PDFを生成するため | 利用者の端末のみ(PDFとしてダウンロードフォルダに保存) | なし |
| PDFの保存件数(累計) | 無料でご利用いただける範囲を判定するため | 利用者の端末のみ(chrome.storage.local) |
なし |
| Xのログインセッション | 利用者ご本人のブックマークを取得するため。ブラウザが保持するセッションをそのまま利用します | 利用者のブラウザ(本ツールは複製・保存しません) | なし |
処理結果の記録(archive_log.csv:1件ごとの成否と失敗した工程) |
失敗の原因を利用者ご自身が確認できるようにするため | 利用者の端末のみ(保存先フォルダに出力) | なし |
| 診断情報(動作環境・設定・実行ログ) | 不具合の原因究明のため。利用者がボタンを押したときにのみ生成されます | 利用者の端末のみ(テキストファイルとして出力) | なし |
| お問い合わせの際に利用者が送信した内容 | お問い合わせへの対応のため | メールサービス上 | あり |
現時点で、本ツールの提供にあたり利用者のデータを取り扱わせている第三者はありません。お問い合わせをいただいた場合に限り、その内容がメールサービス上に保存されます。
今後、有料プランの提供を開始する際には決済事業者を利用します。その際は本ページを更新し、拡張機能内でもお知らせします。クレジットカード番号は決済事業者が直接取得し、当方は取得しません。
端末内のデータ(保存件数の記録)は、拡張機能をアンインストールすると削除されます。生成されたPDFは利用者の管理下にあり、当方は関与しません。
本ツールのデータの取扱いに変更が生じる場合、当方は変更の内容を本ページに掲示するとともに、拡張機能内で利用者に通知します。
本ツールはインストール時に次の権限を要求します。Chromeが表示する警告文とあわせて、なぜ必要か、そして何をしないかを説明します。
| 権限 | Chromeが表示する警告 |
|---|---|
debugger | ページのデバッガ バックエンドへのアクセス すべてのウェブサイト上のすべてのデータの読み取りと変更 |
tabs | 閲覧履歴の読み取り |
downloads | ダウンロードの管理 |
storage | (警告なし) |
| ホスト権限 3件 | debugger の警告に含まれるため、追加の警告は表示されません |
debugger(デバッガ)なぜ必要か:ポストを画面表示に近い体裁でPDF化するために使用します。Chrome拡張機能のAPIでこれを実現できるのは chrome.debugger 経由の Page.printToPDF のみです。より弱い権限で実現する方法を3つ検討し、いずれも要件を満たせないことを確認して却下しました。
window.print() の使用 — 保存1件ごとにOSの保存ダイアログが開きます。1回あたり最大50件を連続処理するため、50回の手作業が発生し、一括処理が成立しません行わないこと:x.com 以外のサイトのデータを読み取ること、閲覧履歴を収集すること、取得した内容を外部に送信すること。
利用者に見える影響:PDF生成中、ブラウザ上部に「デバッグされています」という帯が表示されます。これはChromeがこの権限の使用を利用者に知らせるための仕組みであり、処理が終わると消えます。
tabs(タブ)なぜ必要か:PDF化の対象となる各ポストのページをタブとして開き、生成後に閉じるために必要です。
行わないこと:この権限の警告は「閲覧履歴の読み取り」と表示されますが、本ツールは利用者の閲覧履歴を読み取りません。Chromeはこの権限を要求するすべての拡張機能に同じ警告を表示します。本ツールが扱うのは、自身が開いたx.comのタブのみです。
downloads(ダウンロード)なぜ必要か:生成したPDFと処理結果の記録を利用者の端末に保存するために必要です。保存先はChromeの設定で指定されたダウンロードフォルダ配下に限られます。
行わないこと:過去のダウンロード履歴を読み取ること、本ツールが生成したもの以外のファイルを操作すること。
storage(ストレージ)なぜ必要か:保存件数と、利用者が選択した表示言語を、利用者の端末内に記録するために必要です。これらの値は端末外に出ません。
| ドメイン | 用途 |
|---|---|
https://x.com/* | 利用者ご本人のブックマーク一覧を読み取り、各ポストのページを開いてPDF化するため |
https://pbs.twimg.com/* | ポストに添付された画像を取得し、PDFに埋め込むため |
https://abs.twimg.com/* | ブックマークの解除処理に必要な設定値を読み取るため |
本ツールはこの3つのドメインの外では動作しません。いずれもX社が運用するドメインです。
本ツールはX社の提供する仕様に依存しており、X社側の仕様変更により、予告なく一時的に機能が停止することがあります。当方はこれを想定した上で本ツールを提供しています。
機械可読な稼働状況:https://hokanko.app/status.json
不具合のご報告、ご質問、データの取扱いに関するお問い合わせは、次のメールアドレスへお願いします。
qikumondo@gmail.com
不具合のご報告の際は、拡張機能の「診断情報を書き出す」で生成されるテキストを添えていただけると、原因の特定が早くなります。この診断情報は利用者がボタンを押したときにのみ生成され、内容はご自身で確認してから送っていただけます。