tool

Rampart 隱私防護系統解析:14.7MB 輕量化邊緣側 PII 過濾方案

July 13, 2026
Updated Jul 13
3 min read

Rampart 隱私防護系統解析:14.7MB 輕量化邊緣側 PII 過濾方案

深度解析開源隱私系統 Rampart!本文拆解「規則+MiniLM」雙層過濾架構,看它如何利用 WebGPU 加速在瀏覽器端實現 3.9ms 極速 PII 遮蔽。內含 OpenPII 基準測試數據與 NPM 實作程式碼,助你打造 Privacy-by-Design 的 AI 應用。


1. 系統定位與核心設計哲學

Rampart 技術定位在於構建 AI 互動流程中的「第一線防禦」。該系統顛覆傳統的後端過濾模式,直接在客戶端瀏覽器環境下執行 PII(個人識別資訊)的識別與去識別化。

NDS 的核心設計原則體現了極致的隱私主權:

「唯有不離開裝置的個人資料才是真正私密的。」 (The only personal information you can be sure is private is the information that never leaves your device.)

核心痛點解決方案

Rampart 旨在解決目前主流 AI 隱私方案的兩大核心痛點:

  • AI 隱私承諾無法驗證: 從架構設計的「第一原理」來看,使用者與企業根本無法驗證雲端 AI 供應商的隱私聲明。雲端運算環境隱藏著諸如零時差漏洞 (Zero-day vulnerabilities) 與內部威脅 (Insider threats) 等不可控的安全風險。
  • 遠端過濾模型體積過大: 現有的高效能 PII 移除模型(如 OpenAI Privacy Filter)體積高達 2.8GB。對於低頻寬環境下的使用者,這意味著高昂的載入成本與極差的即時性。

2. 雙層過濾機制 (Dual-Layer Filtering) 技術拆解

Rampart 採用了「規則 + 模型」的混合架構,專門針對 17 種實體類別 (Entity Types) 進行優化,確保在低記憶體佔用 (Low memory footprint) 的前提下達成高精準度。

層級 (Layer)技術路徑處理對象與細節
決定性規則層 (Deterministic)Regex 結合實質驗證邏輯 (如 Checksum、Luhn 演算法)。結構化資料:SSN、信用卡號、電話、銀行帳號、Email、IP、政府證件。
小型語言模型層 (MiniLM)利用輕量化模型進行語意分析與上下文識別。非結構化/高變異資料:個人姓名、街道名稱、完整地址等上下文語境資訊。

3. 硬體加速與輕量化效能指標

對於系統架構師而言,Rampart 的核心競爭優勢在於其對終端資源的極致利用:

  • 模型體積 (含分詞器): 14.7MB。將分詞器 (Tokenizer) 整合進 15MB 內的封裝,使其具備極佳的邊緣側部署潛力。相較於 OpenAI 2.8GB 的模型,體積縮減幅高達 99.4%
  • 運行延遲 (p50 Latency): 在瀏覽器環境下透過 WebGPU 硬體加速,推論延遲中位數僅 3.9ms。這能有效將計算壓力從主 UI 執行緒 (Main Thread) 卸載,確保使用者在輸入文字時不會感到任何延遲或卡頓 (Zero jank)。
  • 下載效率對比: 以 10mbps 的低頻寬網路環境測試,下載 2.8GB 模型需耗時約 38 分鐘,這在即時通訊場景中是完全不可接受的;而 Rampart 的 14.7MB 體積可確保在數秒內完成部署並投入運作。

4. 效能基準測試 (Benchmarks) 與語言支持

Rampart 在 OpenPII 1.5M 測試集(取 30,000 列測試切片)上展現了頂尖的召回率 (Recall),證明了「輕量化模型 + 規則驗證」方案在特定領域能超越巨型通用模型。

業界主流方案對比測試

方案名稱召回率 (Recall)模型體積部署方式
Rampart98.42%14.7 MB規則 + 小型模型 (終端側)
OpenAI Privacy Filter97.4%~2.8 GB通用語言模型
GLiNER small v2.194.2%~600 MB專業命名實體識別模型
Community BERT-small PII81.5%~29 MB小型 BERT 模型
Microsoft Presidio65%~13 MB規則 + 通用模型
AWS Bedrock Guardrails63.8%N/A雲端 API 服務 (非終端側)

語言支持

  • 拉丁系語言支持: Rampart 目前完整支援以下七種語言的隱私辨識:英文、西班牙文、法文、德文、義大利文、葡萄牙文、荷蘭文。

5. 開發者實作指引 (Implementation Guide)

Rampart 的 Guard 物件具備狀態化管理能力。當 protect 執行時,瀏覽器會將原始 PII 資料暫時且局部地緩存在裝置端(不進入持久化存儲或遠端伺服器),以便後續進行還原。

import { createGuard } from "@nationaldesignstudio/rampart";

// 1. 初始化 Guard 實例,載入 14.7MB 的推論引擎
const guard = await createGuard();

// 2. 原始敏感資訊
const rawInput = "My name is John Wick. I live at 88 Cedar Lane, Brookvale, CT 06482.";

// 3. 執行 protect:識別並遮蔽 PII,同時在 local cache 記錄對應關係
const safe = await guard.protect(rawInput);
console.log(safe.text);
// 預期輸出: "My name is [GIVEN_NAME_1]. I live at [BUILDING_NUMBER_1] [STREET_NAME_1]..."

// 4. 傳遞給遠端 AI 模型 (如 GPT-4 或 Claude) 並取得回傳
const reply = await llm(safe.text); 
// 假設 reply 為: "Thanks [GIVEN_NAME_1], Brookvale CT 06482 works for eligibility."

// 5. 執行 reveal:利用內部狀態將占位符還原為原始資訊,完成往返處理 (Round-trip)
console.log(guard.reveal(reply));
// 最終輸出: "Thanks John Wick, Brookvale CT 06482 works for eligibility."

6. 產品侷限性與架構師總結

  • 產品階段: 目前處於 Alpha 階段。它是一道強大的「首層防禦」,但針對極度敏感的場景,建議與後端深度審核機制配合使用。
  • 非拉丁語系限制: 目前尚未完美支援中文、日文、韓文等非拉丁語系(非拉丁語系名稱的召回率僅約 13.7%),在針對這些語系部署時應加入額外的防護控制。

架構師總結 Rampart 成功證明了透過高效的算子優化與 WebGPU 加速,邊緣側模型完全有能力在不犧牲隱私的前提下,取代傳統笨重的雲端過濾架構。對於追求「Privacy-by-Design」的開發團隊而言,這是目前市場上部署成本最低、回應速度最快的首選方案。


🔗 官方相關連結


問與答 (Q&A)

Q1:什麼是 Rampart?它的主要用途是什麼?

A: Rampart 是由 National Design Studio (NDS) 開發並開源的第一代「設備端個人資訊 (PII) 過濾系統」。它的主要用途是在使用者將對話內容發送給 AI 聊天機器人或遠端伺服器之前,直接在設備的瀏覽器端找出並處理個人身分資訊,確保機密資料絕對不會外洩。

Q2:市面上已經有過濾模型,為什麼還需要 Rampart?

A: 傳統的 PII 移除多半依賴遠端伺服器,但 AI 廠商的隱私承諾往往難以驗證,且可能面臨未知的零日漏洞或內部威脅。此外,現有的本地端防護模型體積過於龐大(例如 OpenAI Privacy Filter 高達約 2.8 GB,網速較慢時可能需要 38 分鐘才能下載完成),而 Rampart 的體積非常輕量,完美解決了瀏覽器端部署的難題。

Q3:Rampart 是如何精準抓出個人資料的?

A: 它是透過「決定性規則 + 小型語言模型」的雙層架構來運作:

  1. 決定性規則層: 針對信用卡、身分證等有固定格式的資料,使用正規表達式搭配驗證演算法(如 Luhn 演算法)來精準攔截。
  2. MiniLM 語言模型層: 針對人名、街道地址等缺乏固定格式的資料,交由理解上下文的 MiniLM 語言模型來捕捉並替換。

Q4:這套系統會不會很龐大、影響網頁執行速度或聊天體驗?

A: 完全不會!Rampart 包含分詞器在內的整體模型大小僅有 14.7 MB。在支援 WebGPU 的瀏覽器環境下,它的推論延遲中位數只有短短的 3.9 毫秒。這意味著在體感上,訊息幾乎是瞬間就被過濾並送出的,完全不影響聊天的流暢度。

Q5:它會不會把所有地點都遮蔽,導致 AI 無法提供在地化建議?

A: 不會的。Rampart 的設計在隱私與實用性之間取得了完美的平衡。它會精準遮蔽具體的「街道名稱」與「門牌號碼」,但會預設保留「城市」、「州/地區」以及「郵遞區號」。這讓 AI 助理依然能根據粗略的地理位置提供資格審查或在地化的實用建議。

Q6:它目前支援哪些語言?中文支援嗎?

A: Rampart 目前完整支援 7 種拉丁語系語言:英文、西班牙文、法文、德文、義大利文、葡萄牙文與荷蘭文。官方特別提示目前尚未完美支援中文(包含漢字、韓文、日文等非拉丁語系名稱的召回率較低,總計僅約 13.7%),因此建議在針對這些語系部署時應加入額外的防護控制。

分享至:
Featured Partners

© 2026 Communeify. All rights reserved.