プライバシーポリシー — SR Query Builder(sr-query-builder-plugin) Privacy Policy — SR Query Builder (sr-query-builder-plugin)

最終更新: 2026-08-15 / 対象バージョン: v0.3.0
対象: Chrome 拡張機能「SR Query Builder」(sr-query-builder-plugin)
配布元: 本拡張は MIT ライセンス(LICENSE)の OSS です。
Last updated: 2026-08-15 / Covers v0.3.0
Applies to: the Chrome extension “SR Query Builder” (sr-query-builder-plugin)
Distribution: this extension is open-source software under the MIT licence.

このページは、Chrome ウェブストアの審査および利用者への開示のために、本拡張が扱うデータとその流通経路を説明します。 This page explains, for Chrome Web Store review and for our users, what data the extension handles and where it flows.

要点 Summary

本拡張の開発者が運用するサーバーは存在しません。 利用者のデータが開発者側に送信・保存・収集されることは一切ありません。データはすべて、以下の 各主体との間でのみ流通します。 There is no developer-operated server. No user data is ever transmitted to, stored by or collected by the developer. All data flows only between the following parties.

  1. 利用者のブラウザ(本拡張の実行環境。chrome.storage を含む) The user’s browser, where the extension runs (including chrome.storage)
  2. 利用者の Google アカウント(Google Sheets = プロジェクト DB、Google Drive = LLM API ログなどの実体保管) The user’s Google account (Google Sheets as the project database; Google Drive for LLM API log files)
  3. 利用者が自分の API キー(BYOK: Bring Your Own Key)で契約する LLM API(Gemini または OpenRouter。既定は Gemini)、NCBI E-utilities、および NLM MeSH RDF(MeSH 階層情報の取得。API キー不要の公開エンドポイント) The LLM API the user contracts with using their own key (BYOK: Gemini or OpenRouter; Gemini is the default), NCBI E-utilities, and NLM MeSH RDF (used to fetch MeSH hierarchy data; a public endpoint that needs no API key)

取り扱うデータと送信先 Data handled and where it goes

データData どこへDestination 目的Purpose
研究プロトコル(RQ・PICO 等)・検索式ブロック定義・シード論文(PMID)・検索式ドラフト・検証結果・LLM API ログ Research protocol (RQ, PICO, …), search block definitions, seed papers (PMIDs), search draft, validation results, LLM API log 利用者の Google Sheets(プロジェクトのスプレッドシート内の各タブ) The user’s Google Sheets (each tab of the project spreadsheet) プロジェクト DB。監査ログ・バージョニング目的 Project database; for the audit log and versioning
LLM API ログのフル payload Full payload of the LLM API log 利用者の Google Drive(プロジェクトの Drive フォルダ配下 logs/llm/*.json The user’s Google Drive (logs/llm/*.json under the project’s Drive folder) Sheets のセル文字数制限を超える内容の退避 Offloading content that exceeds the Sheets cell character limit
研究プロトコル本文・検索式ブロック定義・検索式ドラフトなど Full protocol text, search block definitions, search draft, and similar content 利用者が選択した LLM プロバイダ(Gemini または OpenRouter。既定は Gemini)の API(BYOK) The LLM provider the user selected (Gemini or OpenRouter; Gemini is the default), via its API (BYOK) AI による検索式ドラフト生成・MeSH 提案・シノニム展開等。本文が外部へ送信されるのはこの経路と NCBI E-utilities のみです(NLM MeSH RDF へは研究プロトコル本文を送信せず、descriptor 名・tree number のみを送信します) AI-drafted search strategy, MeSH suggestions, synonym expansion, etc. This and NCBI E-utilities are the only routes by which text leaves the browser (NLM MeSH RDF never receives the protocol text itself — only descriptor names and tree numbers)
検索式・PMID Search strategy and PMIDs NCBI E-utilities(eutils.ncbi.nlm.nih.gov NCBI E-utilities (eutils.ncbi.nlm.nih.gov) ヒット数検証・MeSH 用語の取得・シード論文の捕捉率計算 Hit-count validation, retrieving MeSH terms, computing seed-paper capture rate
ブロック内の MeSH 用語(descriptor 名・tree number) MeSH terms within a search block (descriptor name and tree number) NLM MeSH RDF(id.nlm.nih.gov の SPARQL エンドポイント) NLM MeSH RDF (the SPARQL endpoint at id.nlm.nih.gov) MeSH 階層(親子関係)の解析。ブロック内の用語重複・カテゴリ分散の検出(次回の拡張機能更新から適用。現在配信中の v0.3.0 はこの通信を行いません) Analyzing the MeSH hierarchy (parent/child relationships); detecting term overlap and category spread within a block (takes effect from the next extension update; the version currently distributed, v0.3.0, does not perform this communication)
開こうとした共有スプレッドシートの ID・サインイン中のメールアドレス The ID of the shared spreadsheet you are opening, and your signed-in email address 本拡張の公開ページ(picker.html)。URL フラグメント(# 以降)で渡すため、HTTP リクエストとしては送信されません This site’s picker.html; passed in the URL fragment (after #), so it is never sent as part of the HTTP request Google ピッカーで対象ファイルを選択し、そのファイルだけにアクセスを許可するため(次回の拡張機能更新から適用。現在配信中の v0.3.0 はこの画面を使いません) Selecting the file in the Google Picker so that access is granted to that file only (takes effect from the next extension update; the version currently distributed, v0.3.0, does not use this screen)
Google OAuth トークン Google OAuth token 利用者のブラウザ内(chrome.storage Inside the user’s browser (chrome.storage) Google API 認証。開発者へは送信されません Google API authentication; never sent to the developer
LLM プロバイダ(Gemini / OpenRouter)の API キー・NCBI API キー LLM provider (Gemini / OpenRouter) API key and NCBI API key 利用者のブラウザ内(chrome.storage Inside the user’s browser (chrome.storage) 各 API の認証(BYOK)。開発者へは送信されません Authenticating each API (BYOK); never sent to the developer

Google ユーザーデータへのアクセス範囲 Scope of access to Google user data

本拡張が要求する OAuth スコープは以下の 1 つ のみ です。 The extension requests only the following OAuth scope.

  • https://www.googleapis.com/auth/drive.file利用者が作成に関与したファイル(本拡張が作成したスプレッドシート・Drive フォルダ・ログファイル、および利用者が Google ピッカーで明示的に選択したファイル)だけ にアクセスします。Drive 全体を読むスコープ(drive.readonly 等)や、全スプレッドシートへ アクセスできる https://www.googleapis.com/auth/spreadsheets スコープは要求しません。 https://www.googleapis.com/auth/drive.file — access limited to files the user was involved in creating (spreadsheets, Drive folders and log files created by the extension, plus any file the user explicitly selects in the Google Picker). Broader scopes such as drive.readonly, or the https://www.googleapis.com/auth/spreadsheets scope that reaches every spreadsheet, are never requested.

共有スプレッドシートを開くとき(Google ピッカー) Opening a shared spreadsheet (Google Picker)

(次回の拡張機能更新から適用。現在配信中の v0.3.0 はこの画面を使いません) (Applies from the next extension update; v0.3.0, the version currently published, does not use this screen.)

他の利用者が作成して共有したスプレッドシートは、上記スコープの性質上、利用者がそのファイルを明示的に選択するまで本拡張からは読めません。このため、共有スプレッドシートを開こうとしたときに Google 公式の「ピッカー」(ファイル選択画面)を表示し、対象ファイルを 1 回だけ選んでもらいます。選択されたファイルにのみアクセスが許可され、Drive 上の他のファイルは対象になりません。 Because of the scope above, a spreadsheet created and shared by someone else cannot be read by this extension until the user explicitly selects that file. When you try to open such a spreadsheet, the extension therefore shows Google’s official Picker (file selection dialog) and asks you to select the file once. Access is then granted to that file only; no other file in your Drive becomes accessible.

ピッカーの画面は、Chrome 拡張のセキュリティ制約(Manifest V3 の CSP)により拡張内に埋め込めないため、本拡張の公開ページ(picker.html。GitHub Pages で配信される静的ページ)に置いています。このページは Google の公式スクリプトを読み込んでファイル選択画面を表示し、選択されたファイルの ID を拡張機能へ返すだけです。開発者が運用するサーバーは介在せず、ファイルの内容もサインイン情報もこのページには保存されません。なお、選択の際に利用者のメールアドレスを URL のフラグメント(# 以降。HTTP リクエストとして送信されない部分)で渡し、拡張でサインイン中のアカウントと同一かを確認します。異なるアカウントで許可された場合は、取得したトークンを破棄して選択をやり直してもらいます。 Chrome extension security rules (the Manifest V3 CSP) prevent the Picker from being embedded inside the extension, so it is hosted on this site instead (picker.html, a static page served by GitHub Pages). That page loads Google’s official scripts to display the file selection dialog and only returns the selected file’s ID to the extension. No developer-operated server is involved, and neither file contents nor sign-in information are stored on the page. Your email address is passed to it in the URL fragment (the part after #, which is never sent as part of the HTTP request) so that the page can confirm you are granting access with the same account you are signed in with in the extension; if a different account is used, the token obtained is discarded and you are asked to try again.

サインイン中アカウントのメールアドレスは OAuth スコープではなく、Chrome 拡張 API の chrome.identity.getProfileUserInfo()identity.email permission)で取得します。これは Chrome プロファイルの同期アカウント情報を読むだけで、OAuth スコープを広げるものではありません。取得したメールアドレスは FormulaVersions 等の記録者列に書き込む目的にのみ使用し、開発者へ送信することはありません。 The signed-in account’s email address is not obtained via an OAuth scope; it comes from the Chrome extension API chrome.identity.getProfileUserInfo() (the identity.email permission). This only reads the Chrome profile’s synced account information and does not widen the OAuth scope. The email address obtained is used only to populate recorder columns such as those in FormulaVersions, and is never sent to the developer.

本拡張は、Google API から取得したユーザーデータを、上記の機能提供以外の目的(広告・分析・第三者への提供・機械学習モデルの学習等)に 一切使用しません。Google API Services User Data Policy(Limited Use 要件を含む)を遵守します。 User data obtained through Google APIs is never used for anything beyond the features described above — no advertising, analytics, transfer to third parties, or model training. The extension complies with the Google API Services User Data Policy, including its Limited Use requirements.

LLM API・NCBI API への送信について Transmission to the LLM API and NCBI API

  • LLM プロバイダ(Gemini または OpenRouter。既定は Gemini): 検索式のドラフト生成や検証結果の解釈補助を実行すると、研究プロトコルの本文・検索式ブロック定義・検索式ドラフトなどが、利用者が選択した LLM プロバイダの API キー(BYOK)を用いて、そのプロバイダ(Google の Gemini API、または OpenRouter)へ送信されます。送信先によるデータの取り扱いは、各プロバイダ自身のプライバシーポリシー・利用規約に従います。本拡張はプロバイダを仲介せず、利用者のブラウザから直接 API を呼び出します。 LLM provider (Gemini or OpenRouter; Gemini is the default): running search-strategy drafting or getting help interpreting validation results sends the protocol text, search block definitions and search draft to the LLM provider the user selected — Google’s Gemini API, or OpenRouter — using that provider’s API key (BYOK). How that destination handles the data is governed by that provider’s own privacy policy and terms. The extension does not proxy the request: the call is made directly from the user’s browser.
  • NCBI E-utilities: 検索式の検証(ブロックごとのヒット数、シード論文捕捉率、MeSH 用語抽出)のため、検索式や PMID を NCBI の E-utilities(eutils.ncbi.nlm.nih.gov)へ送信します。NCBI API キーは任意で BYOK として設定でき、レート制限緩和のために使用します。 NCBI E-utilities: to validate the search strategy (per-block hit counts, seed-paper capture rate, MeSH term extraction), the search strategy and PMIDs are sent to NCBI’s E-utilities (eutils.ncbi.nlm.nih.gov). An NCBI API key can optionally be configured as BYOK to ease rate limits.
  • NLM MeSH RDF(SPARQL エンドポイント): ブロック内の MeSH 用語について、MeSH ツリー上の親子関係(祖先・子ノードの名称)を取得するため、descriptor 名や tree number を NLM の MeSH RDF エンドポイント(id.nlm.nih.gov/mesh/sparql)へ SPARQL クエリとして送信します。PMID や研究プロトコルの本文は送信されません。認証や API キーは不要です。 NLM MeSH RDF (SPARQL endpoint): to fetch the parent/child relationships of MeSH terms within a search block (the names of ancestor and child nodes), descriptor names and tree numbers are sent as a SPARQL query to NLM’s MeSH RDF endpoint (id.nlm.nih.gov/mesh/sparql). PMIDs and protocol text are never sent this way. No authentication or API key is required.

データの保存・削除 Retention and deletion

  • すべてのデータは利用者自身の Google アカウント(Sheets / Drive)とブラウザローカルストレージに保存されます。削除は、利用者が Google Drive / Sheets 上のファイルを削除し、拡張を削除(またはブラウザのストレージをクリア)することで完結します。 All data is stored in the user’s own Google account (Sheets / Drive) and in browser local storage. Deleting the files in Google Drive / Sheets and removing the extension (or clearing browser storage) removes everything.
  • 本拡張をアンインストールすると、chrome.storage 内の設定(LLM プロバイダ(Gemini / OpenRouter)・NCBI の API キー、認証状態等)は Chrome によって削除されます。Google Drive / Sheets 上のプロジェクトデータは利用者の資産としてそのまま残ります。 Uninstalling the extension makes Chrome delete its chrome.storage settings (LLM provider (Gemini / OpenRouter) and NCBI API keys, sign-in state, etc.). Project data in Google Drive / Sheets remains, as it belongs to the user.

第三者提供・データ販売 Third parties and data sales

本拡張は、利用者のデータを第三者へ販売・提供しません。開発者はデータを収集しないため、そもそも提供しうるデータを保持しません。 The extension neither sells nor discloses user data to third parties. The developer collects no data and therefore holds nothing that could be disclosed.

お問い合わせ Contact

本ポリシーに関する問い合わせは、GitHub リポジトリの Issues へお願いします。 Please contact us through the Issues page of the GitHub repository.