跳至主要内容

Privacy Policy / 隱私權政策

Last updated / 最後更新:2026-07-21 Effective date / 生效日期:2026-06-17


繁體中文

一、本擴充功能是什麼

NHI-FHIR Bridge(以下稱「本擴充功能」)是一款 Chrome 擴充功能,協助使用者將自己在台灣健保署「健康存摺」(https://myhealthbank.nhi.gov.tw/) 上的個人醫療紀錄,轉換為 HL7 FHIR R4 國際標準格式,僅供使用者本人作為個人健康資料備份、臨床研究、或匯入相容軟體之用。

二、我們不會收集的資料

本擴充功能採取「開發者零資料收集 (zero developer data collection)」原則:

  • 不向開發者傳送資料:開發者沒有接收健康資料的伺服器,也無法存取使用者的健康紀錄。資料預設只存在於使用者本機(瀏覽器或使用者自架的本機後端);使用者明確啟動的下載、後端上傳或 MediPrisma 帶入例外詳見第四節
  • 沒有 Bridge 開發者操作的健康資料伺服器、雲端資料庫或 SaaS;使用者明確選擇的自架後端或第三方 MediPrisma 不由 Bridge 開發者營運
  • 沒有分析工具、Telemetry、錯誤回報、使用統計
  • 沒有第三方 SDK、追蹤像素、廣告 cookie
  • 沒有 AI、LLM、或健保署/使用者指定後端以外的自動 API 呼叫:FHIR 轉換完全是本機端的確定性程式邏輯
    • 附註:「醫析 MediPrisma」是獨立第三方產品。只有使用者主動點擊「在 MediPrisma 查看」並在 Chrome 權限提示中允許 mediprisma.tw 後,本擴充功能才會把目前的完整 FHIR Bundle 交給該網站的匯入元件;拒絕權限時不會送出,仍可下載後自行處理。MediPrisma 的 AI 問答可能再將資料送往雲端 AI 供應商,相關處理依該服務自己的隱私政策;Bridge 本身不執行 AI/LLM。
  • 不讀取密碼、不接觸登入表單:使用者自行登入健保署;本擴充功能不碰登入頁面或密碼欄位,僅沿用瀏覽器既有的 session(cookie/session token)呼叫健保署 API。(註:當你啟用「一併下載影像」時,本擴充功能會把該 session 的 bearer token 暫存於本機供背景抓圖,30 分鐘後自動清除;token 只用來呼叫健保署影像 API,不交給 Bridge 開發者或 MediPrisma —— 詳見第三節)

三、擴充功能在本機處理的資料

下述資料預設僅在使用者自己的電腦上處理;只有第四節列出的使用者明確動作會把資料送到其選擇的目的地:

資料類別來源用途儲存位置
醫療紀錄(就醫、用藥、檢驗、影像、過敏、預防接種、照護計畫、出院病摘等)健保署「健康存摺」API(使用者本人帳號)轉換為 FHIR R4 格式瀏覽器記憶體/chrome.storage.local → 使用者選擇下載為 JSON、上傳至自架後端,或明確授權後在 MediPrisma 查看
個人識別資料(姓名、性別、出生日期、身分證字號)健保署「健康存摺」API + 登入 session(v1.3 起姓名/性別/生日/身分證由健康存摺 session 自動偵測帶入,非使用者手動填寫)產生 FHIR Patient 資源同上;自動偵測到的取得對象基本資料與使用者偏好(去識別化開關、日期範圍、Backend URL 等)存於 chrome.storage.local僅本機,不會同步至 Google 帳號)。產生的健康紀錄檔暫存於 chrome.storage.local(v0.14 起;因影像資料超過 session storage 上限,搭配 unlimitedStorage 權限。僅本機,但重啟瀏覽器不會自動清除)。下載不會立即消耗暫存,讓使用者仍可再次下載或在 MediPrisma 查看;暫存會在使用者按「移除」、1 小時 TTL 自動清掃(Chrome 執行期間每 10 分鐘檢查一次;擴充功能啟動/更新時亦清掃)、下一次同步覆寫或切換取得對象時清除
同步狀態與設定擴充功能執行過程UI 狀態顯示chrome.storage.local(瀏覽器本地)
NHI session bearer token你已登入的健保署分頁(sessionStorage僅在啟用「一併下載影像」時:讓背景 service worker 在 popup 關閉後仍能向健保署抓取影像chrome.storage.local僅本機,不同步 Google 帳號);設 30 分鐘 TTL,逾時自動清除;只隨影像請求送往健保署 API,不交給 Bridge 開發者、自架後端或 MediPrisma

四、資料外傳路徑

本擴充功能只在下列情境會將資料送出瀏覽器:

  1. 使用者點擊「下載健康紀錄檔」按鈕 → 瀏覽器將 FHIR Bundle JSON 儲存至使用者本機的 Downloads 資料夾
  2. 使用者於設定中啟用「本機伺服器」模式 → 將 FHIR 資源透過 HTTP 傳送至使用者自行指定的後端網址(預設為 http://localhost:8010
  3. 使用者點擊「在 MediPrisma 查看」並允許 https://mediprisma.tw/* 權限 → 擴充功能只在 MediPrisma 的獨立匯入首頁開啟/重用分頁,從本機暫存讀取目前完整 FHIR Bundle,建立記憶體內的 JSON File,並交給該頁既有的檔案匯入元件。資料不會放在 URL,也不會經過 Bridge 開發者的伺服器;但從交給該頁起即進入 MediPrisma 這項第三方服務的處理範圍,應另行閱讀其隱私政策。拒絕權限或不按此按鈕時不會發生這條傳送,下載功能仍可使用

上述情境均由使用者主動觸發,開發者無法存取其資料。

五、權限說明

本擴充功能要求以下 Chrome 權限:

權限用途
activeTab在使用者點擊擴充功能圖示後,存取當前分頁以執行健保署 API 請求
storage保存使用者偏好設定、同步進度,以及暫存待下載的健康紀錄檔;啟用影像下載時並暫存 NHI session bearer token 供背景抓圖(30 分鐘 TTL 後清除)。資料儲存在本機 chrome.storage;只有第四節所述、由使用者明確啟動的輸出路徑會讀取並交付 Bundle
scripting在健保署網域分頁中執行擷取邏輯,以沿用 first-party cookie 呼叫 API;使用者另行允許 MediPrisma optional host 後,在其獨立匯入首頁執行擴充功能內建的匯入程式
downloads將產生的 FHIR Bundle JSON 儲存至使用者本機
alarms維持背景同步流程之心跳,避免 Chrome Manifest V3 service worker 在長時間同步時被回收;並每 10 分鐘檢查、清除逾時(1 小時)的本機暫存健康紀錄檔
unlimitedStorage含影像的健康紀錄檔可能超過瀏覽器預設儲存配額,需要此權限才能在本機暫存(仍受上述明確移除、覆寫/切換取得對象與 1 小時 TTL 機制管控)
Host: https://myhealthbank.nhi.gov.tw/*擷取使用者本人的健康存摺紀錄(安裝時要求的唯一主機權限)
Optional host: http://localhost/*http://127.0.0.1/*(選用,v0.18.6 起改為 optional_host_permissions)將 FHIR 資料上傳至使用者自架的本機後端。安裝時不要求;僅在使用者主動啟用「上傳後端」模式時,由擴充功能在當下請求授權
Optional host: https://mediprisma.tw/*(選用)只有使用者點擊「在 MediPrisma 查看」時才動態請求。授權後,擴充功能可在 https://mediprisma.tw/app/ 執行內建匯入程式,將目前完整 FHIR Bundle 交給該頁;拒絕時資料不送出且仍可下載

六、使用者責任與限制

  • 使用者只能擷取自己有權檢視的健康存摺紀錄 —— 亦即你本人的紀錄,或健保署「眷屬」功能中經對方同意綁定、目前切換顯示的眷屬紀錄。請勿用於擷取你無權檢視的他人資料;使用者應自行就其使用行為負責,與本擴充功能開發者無關
  • 健康存摺資料屬「個人資料保護法」定義之敏感性個人資料;使用者應自行妥善保管下載的 JSON 檔案
  • 本工具僅供參考,不保證資料準確;臨床判讀請以健保署官方網站顯示之內容為主

七、第三方服務

本擴充功能不會在背景或沒有使用者操作時把資料送給第三方。Popup 的「在 MediPrisma 查看」是選用的明確傳送動作:按下後 Chrome 會要求 mediprisma.tw 網站權限;只有允許後,完整 FHIR Bundle 才會直接交給該網站的本地匯入元件。Bridge 開發者不會收到資料,但 MediPrisma 後續如何保存、視覺化或在使用者另按 AI 功能後送雲端,均由該第三方的政策與設定決定。

八、兒童隱私

本擴充功能不主動向 13 歲以下兒童收集任何資料。

九、政策變更

如政策有實質變更(例如新增資料收集),將更新本頁面之「最後更新」日期。

十、聯絡方式

如對本政策有任何疑問,請透過下列方式聯絡:

  • Email:voho0000@gmail.com
  • 安全弱點通報:請寄至上述 email,主旨註明「NHI-FHIR Bridge 安全通報」

English

1. What this extension is

NHI-FHIR Bridge (the "Extension") is a Chrome extension that helps a user convert their own personal health records from Taiwan's NHI "My Health Bank" portal (https://myhealthbank.nhi.gov.tw/) into the HL7 FHIR R4 standard format, for the user's personal use only — as a personal health record backup, for clinical research on one's own data, or for import into FHIR-compatible software.

2. Data we do NOT collect

The Extension follows a zero developer data collection principle:

  • No data is transmitted to the developer. The developer operates no health-data receiving server and cannot access users' records. Data stays on the user's device by default (browser and/or a self-hosted backend); user-directed download, backend upload, and MediPrisma handoff paths are described in Section 4.
  • ❌ No Bridge-developer-operated health-data server, cloud database, or SaaS. A user-selected self-hosted backend or the optional MediPrisma third party is not operated by the Bridge developer
  • ❌ No analytics, no telemetry, no error reporting, no usage statistics
  • ❌ No third-party SDKs, tracking pixels, or advertising cookies
  • ❌ No AI, no LLM, and no automatic API calls other than NHI or a backend explicitly configured by the user — FHIR conversion is purely deterministic local code
    • Note: "醫析 MediPrisma" is an independent third-party product. Only after the user clicks "Open in MediPrisma" and grants Chrome's optional mediprisma.tw host permission does the Extension hand the current complete FHIR Bundle to that site's import control. Denying permission sends nothing and leaves download available. MediPrisma's optional AI Q&A may subsequently send data to cloud AI providers under its own privacy policy; the Bridge itself performs no AI/LLM processing.
  • ❌ Passwords are never read and the login form is never touched. The user logs in to the NHI portal themselves; the Extension reuses the browser's existing session (cookies / session token) to call NHI APIs. (When "download imaging too" is enabled, the Extension briefly stages that bearer token locally so background fetching can finish after the popup closes — 30-minute TTL, auto-cleared, and used only with NHI imaging APIs; it is not given to the Bridge developer or MediPrisma. See Section 3.)

3. Data the Extension processes locally

The data below is processed on the user's own machine by default. It leaves only through an explicit user action listed in Section 4:

Data CategorySourcePurposeStorage Location
Medical records (encounters, medications, lab results, imaging, allergies, immunizations, care plans, discharge summaries, etc.)NHI "My Health Bank" APIs (user's own account)Convert to FHIR R4Browser memory / chrome.storage.local → user-initiated JSON download, upload to a self-hosted backend, or permission-gated MediPrisma handoff
Personal identifiers (name, sex, DOB, national ID)NHI APIs + login session (since v1.3, name/sex/DOB/national ID are auto-detected from the My Health Bank session, not typed by the user)Generate FHIR Patient resourceSame as above; the auto-detected patient identity and user preferences (de-identify toggle, date range, backend URL, etc.) live in chrome.storage.local (browser-local only — never replicated to your Google account). The generated health-record bundle is temporarily staged in chrome.storage.local (since v0.14, with the unlimitedStorage permission, because imaging bundles exceed session storage's size cap; browser-local only, but NOT wiped automatically when the browser closes). Downloading does not consume the staged copy, so the user can download it again or hand it to MediPrisma. It is cleared when the user clicks "Remove," a 1-hour TTL sweep runs (checked every 10 minutes while Chrome runs and at extension startup/update), the next sync replaces it, or the active patient changes
Sync state and settingsExtension runtimeUI state displaychrome.storage.local (browser-local)
NHI session bearer tokenThe signed-in NHI tab (sessionStorage)Only when "download imaging too" is enabled: lets the background service worker keep fetching imaging from NHI after the popup closeschrome.storage.local (browser-local only, not synced to your Google account); a 30-minute TTL auto-clears it; used only for NHI imaging API requests and never supplied to the Bridge developer, self-hosted backend, or MediPrisma

4. Data egress paths

The Extension sends data out of the browser only in these situations:

  1. User clicks "Download health record bundle" → The browser saves the FHIR Bundle JSON to the user's local Downloads folder
  2. User enables local-server mode → FHIR resources are sent via HTTP to the user-specified backend URL (defaulting to http://localhost:8010)
  3. User clicks "Open in MediPrisma" and grants https://mediprisma.tw/* access → On MediPrisma's standalone import page only, the Extension reads the current complete FHIR Bundle from local staging, creates an in-memory JSON File, and supplies it to that page's existing file-import control. PHI is not placed in the URL and does not pass through any Bridge developer server, but it is processed by the third-party MediPrisma environment after handoff. Denying permission or not clicking the button sends nothing; download remains available

All paths are user-initiated. The developer has no access.

5. Permission justifications

PermissionPurpose
activeTabAccess the current tab after user clicks the Extension icon, to execute NHI API requests
storageSave user preferences, sync progress, and the temporarily staged health-record bundle; when imaging download is enabled, also stage the NHI session bearer token for background fetching (cleared after a 30-minute TTL). Data is stored in local chrome.storage; only a user-directed output path in Section 4 reads and delivers the Bundle
scriptingRun capture logic inside NHI domain tabs so the first-party cookies/session are used for API calls; after separate optional-host approval, run the packaged importer on MediPrisma's standalone import page
downloadsSave the generated FHIR Bundle JSON to the user's local machine
alarmsKeep service-worker heartbeat alive during long syncs to prevent Manifest V3 worker termination; also runs a 10-minute sweep that clears locally staged bundles older than the 1-hour TTL
unlimitedStorageBundles that include imaging can exceed the browser's default storage quota; this permission allows local staging (still bounded by explicit removal, replacement/patient-switch cleanup, and the 1-hour TTL described above)
Host: https://myhealthbank.nhi.gov.tw/*Read the user's own health records from NHI (the only host permission requested at install)
Optional host: http://localhost/*, http://127.0.0.1/*(Optional, moved to optional_host_permissions in v0.18.6) Upload FHIR data to the user's self-hosted local backend. Not requested at install; requested on demand only when the user enables "Upload to backend" mode
Optional host: https://mediprisma.tw/*(Optional) Requested only when the user clicks "Open in MediPrisma." If granted, the packaged importer supplies the current complete FHIR Bundle to https://mediprisma.tw/app/; denial sends nothing and download remains available

6. User responsibilities

  • Users may only capture records they are authorized to view — i.e. their own records, or those of a dependent they are legitimately bound to and currently switched to via NHI's "dependents" (眷屬) feature. Please do not use it to capture records you are not authorized to view; users are responsible for their own use, which is outside the scope of this Extension
  • NHI records are sensitive personal data under Taiwan's Personal Data Protection Act; the user is solely responsible for safeguarding downloaded files
  • This tool is for reference only; for clinical decisions, the official NHI portal display is authoritative

7. Third parties

The Extension never sends data to a third party in the background or without a user action. "Open in MediPrisma" is an explicit optional transfer: Chrome first asks for mediprisma.tw access, and only after approval is the complete FHIR Bundle supplied directly to that site's local-import control. The Bridge developer receives nothing. MediPrisma's storage, visualization, and any later cloud/AI use are governed by that third party's own policy and user choices.

8. Children's privacy

The Extension does not knowingly collect any data from children under 13.

9. Changes

Material changes (e.g. introducing any data collection) will be reflected in the "Last updated" date above.

10. Contact

  • Email: voho0000@gmail.com
  • Security disclosures: email the address above with the subject "NHI-FHIR Bridge Security Disclosure"