重型轉換跑在 Web Worker 中
雜湊、正則求值、Diff、編碼與串流處理都在專用 Web Worker 中執行,這些 Worker 由 scripts/build-tool-workers.mjs 從 TypeScript 編譯。Worker 是來自本站的同源指令碼,即使數 MB 的輸入在背景運轉,分頁依然保持回應。
04 / DATA BOUNDARY
103 個可用的 Toolars 工具都帶有型別化執行階段清單,宣告輸入在哪裡處理。本頁呈現這些清單、網站可能建立的外部連線、實際下達的安全回應頭,以及內部檢查方法的說明。
數字在建構時從執行階段註冊表推導——沒有任何手寫數字。
這些計數在網站建構時由目錄和執行階段隱私契約計算得出。如果兩者出現分歧,相關工具會被列在這裡,而不是被悄悄隱藏。
一個工具只有在清單寫明 processingLocation browser、inputLeavesDevice false、retention none 時才計為本機——標籤由契約產生,從來不是文案。
一份刻意保持精簡的清單。工具工作區不載入任何第三方指令碼;重型執行階段以同源 Web Worker、WASM 和靜態資產形式提供。以下是網站框架自身可能觸及的全部內容。
| 服務 / 網域 | 類型 | 用途 | 資料邊界 |
|---|---|---|---|
track.toolars.com | 分析 | 透過 PostHog 託管的首次方反向代理接收生產環境分析事件,經由 Cloudflare 提供服務。 | 僅無 Cookie 的允許清單事件:淨化後的頁面瀏覽、十六個指定產品事件、Web Vitals 與例外。絕不包含工具輸入、輸出、檔名或搜尋詞。SDK 僅在生產網域上延後載入。 |
us.posthog.com | 分析 | 標識託管的 PostHog 應用程式,用於介面連結與設定。 | 事件不流向該網域;蒐集走上方代理一列所列的主機。 |
project ref .supabase.co (NEXT_PUBLIC_SUPABASE_URL) | 帳號後端 | 身分驗證、收藏同步、Newsletter 訂閱與回饋儲存。 | 只在你採取明確操作時才會連線:登入、訂閱或提交表單。工作區從不呼叫它,瀏覽器套件內也只有 publishable key。 |
avatars.githubusercontent.com | 大頭貼圖片 | 透過 GitHub 登入的帳號大頭貼。 | 經由嚴格的圖片最佳化器白名單載入,且只在已登入的頂部選單中渲染。 |
lh3.googleusercontent.com | 大頭貼圖片 | 透過 Google 登入的帳號大頭貼。 | 同樣嚴格的圖片白名單;登入前不會載入任何內容。 |
buymeacoffee.com | 外跳連結 | 頁尾可選的創作者支持連結。 | 純外跳連結,無嵌入、無指令碼;它不會收到任何關於你工具使用情況的資料。 |
chromewebstore.google.com | 外跳連結 | 擴充功能安裝與商店列表連結。 | 僅外跳、新分頁開啟;商店只會看到一次普通造訪,永遠不會看到工作區內容。 |
fonts.googleapis.com / fonts.gstatic.com | 建構期取得 | 透過 next/font 在建構期下載 Barlow 字型檔案。 | 執行階段字型由本站自有靜態路徑提供;使用 Toolars 期間你的瀏覽器不會向 Google Fonts 發出請求。 |
vercel.app (hosting platform) | 基礎設施 | 託管平台,承載 Toolars 的每一個回應。 | 只看到任何主機都會看到的請求後設資料(IP、請求頭);工具輸入與輸出不會經過它。 |
cloudflare.com (DNS + proxy layer) | 基礎設施 | toolars.com 的 DNS,以及分析網域背後的代理層。 | 處理與託管層相同的請求後設資料;工作區內容不會流經它。 |
清單於 2026-09-19 從已部署原始碼稽核得出:全樹外部網域搜尋、next.config.ts 中的圖片白名單,以及 ADR 007 中的分析契約。
這些是每一個 Toolars 頁面上的回應頭,讀取自同一份產生設定的宣告——此表不可能與實際下達的內容產生漂移。
| 回應頭 | 值 | 含義 |
|---|---|---|
Strict-Transport-Security | max-age=63072000; includeSubDomains | 瀏覽器在兩年內僅透過 HTTPS 連線 toolars.com,並包含子網域。 |
X-Content-Type-Options | nosniff | 瀏覽器拒絕猜測內容類型,阻斷一種常見的偷渡式下載手法。 |
Referrer-Policy | strict-origin-when-cross-origin | 完整 Referrer 只發給同源;跨源請求最多暴露裸主機名。 |
Toolars 目前不發送全站 Content-Security-Policy 回應頭,本頁也不會假裝已設定。一個封鎖錯源的政策會破壞帳號同步或已批准的分析代理,因此該控制正依 ADR 010 先針對真實路由與瀏覽器行為設計。上方的回應頭今日生效,此處列出的每個網路邊界都在程式碼中強制執行並有測試覆蓋。 docs/adr/010-local-processing-evidence.md
除了瀏覽器不需要任何工具。請使用無害的合成檔案或範例文字——絕不要用真實敏感資料,也不要公開包含它的截圖或 HAR。
同樣的流程我們已經替你跑過。下面每張卡片都由 scripts/capture-privacy-proof.mjs 驅動真實無頭瀏覽器、針對正式建置產生;實測請求數作為型別化資料入庫,一旦出現上傳、跨域請求或金絲雀洩漏,腳本會直接失敗。
一次完整的 PNG → JPEG 轉換加下載,測試檔案中藏有金絲雀標記:實測視窗內 0 個請求、0 個上傳、0 次標記洩漏。
一次 HEIC → JPEG 轉換加下載:約 3.3 MB 的 libheif 懶載入解碼器首次使用時只從本站路徑載入;實測的第二次轉換產生 0 個請求、0 次上傳、0 次金絲雀洩漏,帶金絲雀檔名的照片從未離開裝置。
/generated/runtime/7879e1c92e1bdb08/libheif.js/generated/runtime/e4aa8333fbe55ec7/libheif.wasm/generated/runtime/6c728441042ea88c/heic-decode-worker.js首次使用時,引擎、worker 和所選語言套件(共 13 種,每個 0.4–2 MB)僅從本站路徑載入(/generated/runtime/775a35df6f2ae100/tesseract-core-lstm.wasm.js · /generated/runtime/89456b34c2769c9a/chi_sim.traineddata.gz · /generated/runtime/d8438d6a4fba7bc3/eng.traineddata.gz · /generated/runtime/e4d26dedc913c87f/worker.min.js);英語與簡體中文的重複辨識各產生 3 個請求、0 次上傳。
GET /generated/runtime/e4d26dedc913c87f/worker.min.jsGET /generated/runtime/775a35df6f2ae100/tesseract-core-lstm.wasm.jsGET /generated/runtime/d8438d6a4fba7bc3/eng.traineddata.gz載入內建範例、旋轉並下載結果:實測視窗內 0 個請求、0 個上傳、0 次標記洩漏。
登入僅透過 Supabase 同步收藏(僅工具名)和帳號狀態,並有列級安全保護。工具工作區從不呼叫帳號後端:處理無需帳號,也不會向帳號傳送任何內容。
上方清單由對部署原始碼的全樹搜尋產生。這些網域沒有一個可從工具工作區觸達:它們在工作區載入零腳本、接收零工具資料。
track.toolars.com分析us.posthog.com分析project ref .supabase.co (NEXT_PUBLIC_SUPABASE_URL)帳號後端avatars.githubusercontent.com大頭貼圖片lh3.googleusercontent.com大頭貼圖片buymeacoffee.com外跳連結chromewebstore.google.com外跳連結fonts.googleapis.com / fonts.gstatic.com建構期取得vercel.app (hosting platform)基礎設施cloudflare.com (DNS + proxy layer)基礎設施更強的做法:預熱後斷網再跑一次。文字與圖片工具仍可運作;PDF 工具需要預熱時已見過的同源 Worker 資產,這正是我們沒有宣稱 PDF 可離線使用的原因。
本機優先在這裡是架構,而不是口號。三種機制讓你的資料留在分頁內。
雜湊、正則求值、Diff、編碼與串流處理都在專用 Web Worker 中執行,這些 Worker 由 scripts/build-tool-workers.mjs 從 TypeScript 編譯。Worker 是來自本站的同源指令碼,即使數 MB 的輸入在背景運轉,分頁依然保持回應。
OCR 引擎(約 4 MB)和每個 0.4–2 MB 的語言套件,以及 PDF 執行階段,僅在你開啟工具後從本站靜態路徑載入。辨識與解析均在本機執行,不會上傳任何內容進行處理。
工具的執行套件只在你開啟該工具時下載——目錄頁和首頁絕不載入。瀏覽目錄只傳輸後設資料,你可以在同一個 Network 面板裡輕鬆確認。
下面列出的檢查中,有一項已經公開:隱私實證採集腳本以 MIT 授權條款發佈在 https://github.com/aixtral/toolars-open,你可以自己針對線上站點重新執行它。其餘命令仍在私有儲存庫中執行,使用鎖定的 Node 和 pnpm 版本,其方法在本頁概述。
機器可讀的驗證回執——命令、測量結果,以及它不能證明什麼: 回執 JSON。
| 指令碼 | 命令 | 它驗證什麼 |
|---|---|---|
本機處理驗證套件scripts/verify-local-processing.mjs | corepack pnpm verify:local-processing | 重新建構網站,在全新瀏覽器上下文中阻斷網路,用合成金絲雀重跑代表性 Workflow,並把原始碼與建構指紋比對產生回執。任何重試、跳過或漂移都會使執行失敗。 |
開放核心相依性稽核scripts/audit-local-core.mjs | corepack pnpm audit:local-core | 繪製開放面候選的執行相依性圖,記錄原始碼 SHA-256 雜湊、已安裝相依性版本與授權文字。 |
Worker 建構scripts/build-tool-workers.mjs | corepack pnpm worker:build | 把每個瀏覽器 Web Worker 從 TypeScript 原始碼編譯為 public/generated 下帶內容雜湊的檔案,保證所服務的 Worker 正是被審查過的原始碼。 |
基準測試套件scripts/benchmark-tools.mjs | node scripts/benchmark-tools.mjs | 測量每個工具可接受的最大輸入、執行時間中位數與零洩漏網路隔離,然後寫入基準頁背後的型別化資料。 |
隱私實證採集腳本scripts/capture-privacy-proof.mjs | node scripts/capture-privacy-proof.mjs | 在無頭 Chromium 中驅動一次圖片轉換、OCR 引擎和一次 PDF 旋轉,同時記錄每個請求(包括 Web Worker 發出的請求),隨後寫出本頁渲染的實證 JSON。一旦出現上傳、跨域請求或金絲雀洩漏即判失敗。 |
基準頁呈現真實無頭瀏覽器中產出的資料,包括證明輸入留在裝置上的金絲雀執行。
本機優先不代表零網路。以下功能會傳送資料,因為它們本就依賴網路,而每一項都寫明了什麼會離開裝置。
登入會透過 Supabase Auth 和帶列級安全策略的 Postgres 同步收藏與帳號狀態。工具輸入與輸出從不屬於該同步——每個工作區在未登入狀態下都可使用。
頁尾表單只把你輸入的電子郵件地址傳送給 Supabase RPC。關於訂閱的分析事件絕不攜帶該地址,遵守 ADR 007 允許清單。
這些表單透過帶身分驗證的伺服器動作提交你撰寫的文字與表單後設資料,每個表單在傳送前都會說明確切載荷。工作區內容絕不附加。
首次使用時,OCR 工具會從本站 /ocr 路徑下載約 4 MB 引擎檔案和每個所選語言 0.4–2 MB 的語言套件。下載均為同源;圖片與辨識文字留在當前分頁,已下載的語言套件僅保存在瀏覽器的離線快取中。
PDF 匯入與匯出會重啟 PDF.js Worker,它會重新取得預熱階段已見過的同源靜態資產。這正是我們沒有為 PDF 工具宣稱完整離線可用的原因。
擴充功能安裝連結指向 Chrome Web Store,可選的支持按鈕指向 Buy Me a Coffee。兩者均為普通外跳連結;都不會把第三方指令碼嵌入 Toolars 頁面。
沒有第三方安全稽核,也沒有合規認證。單獨發佈的隱私實證採集腳本和兩個本機 Node 套件以 MIT 授權條款發佈;網站本身的原始碼並未發佈,也不授予任何授權。本頁只展示今天可驗證的內容。
第三方聲明——本站再散布的元件及其完整授權條款全文: 聲明與授權條款全文。
對每個可用工具而言,是的:每個工具都有型別化執行階段清單,宣告在瀏覽器中處理、輸入不離開裝置、無保留。本頁標籤由這些清單產生。任何未來的雲端或混合工具必須先披露邊界才能上線。
設計不當的 CSP 會破壞帳號同步或已批准的分析代理,因此該控制正依 ADR 010 先針對真實路由建構。在此之前,本頁如實披露已生效的回應頭和可能存在的外部連線,網路邊界由程式碼強制執行並有測試覆蓋。
不會。PostHog 以無 Cookie 方式執行,自動捕獲、工作階段錄製、持久化與人員畫像全部停用。允許清單只包含淨化後的頁面瀏覽、十六個指定產品事件、Web Vitals 與例外——絕不包含輸入、輸出、檔名或搜尋詞——事件只透過首次方代理網域發出。
它們在建構時從執行階段註冊表與目錄推導,基準頁則展示其資料背後的實測執行。如果目錄標籤與執行階段清單出現分歧,分歧會直接印在本頁,而不是被平均掉。
基準頁呈現真實無頭瀏覽器中產出的資料,包括證明輸入留在裝置上的金絲雀執行。