[ 繁體中文 | English (README.en.md) ]
「送出給 AI 之前先遮蔽敏感資料,一鍵還原回真實內容。100% 瀏覽器端運算,資料不會離開你的裝置。」
免責聲明:本工具提供的是技術上的遮蔽/還原能力,用於降低資料外洩風險;不構成法律建議,也不保證單獨使用即符合《個人資料保護法》或其他法規要求。個資是否合規處理,仍取決於使用者/所屬機構整體的資料蒐集、處理與利用流程。
提醒:「EduShield」這個名字也被幾個功能完全不同的產品使用(Arduino 教學擴充板、國外的學校安全防護服務、教室手機管理方案等),這裡的 EduShield 是專為台灣教育場域設計的個資去識別化工具,跟上述產品沒有關聯。
開發者: OA (oas114) | 贊助支持本專案(Ko-fi)
✨ 前往互動式體驗手冊 ✨ 強烈建議您先透過互動式體驗手冊實際操作,了解 EduShield 的運作方式。
你把學生的期末評語、輔導紀錄、獎懲說明貼進 ChatGPT 幫忙潤飾文字時,有把握知道這些資料接下來會被怎麼處理嗎?
多數人其實沒有——而且答案會因為你用的是哪一家 AI、哪個方案而不同。
EduShield 讓你不用去猜:先把敏感資訊遮蔽成代碼再送出,原始內容從頭到尾都沒有離開過你的電腦——遮蔽 → 送出 → 還原,全程在瀏覽器內完成。
EduShield 是單一靜態 HTML 檔案。沒有後端、沒有資料庫、沒有 API 伺服器。所有運算——正則比對、代碼替換、還原、與 AI 互動——都在您本機瀏覽器的記憶體中執行。
EduShield 針對行動裝置提供完整的響應式版面。使用者可在手機或平板上順暢操作,具備自動捲動、自動調整高度的輸入區塊、以及最佳化的觸控介面,同時桌面版仍維持鎖定的 100vh 版面。
| 項目 | 說明 |
|---|---|
| 資料持久性 | 零。所有資料在關閉或重新整理頁面時即銷毀,不寫入硬碟、不上傳雲端。 |
| 憑證需求 | 無須任何 API 金鑰或帳號。 |
| 網路需求 | 完全選用,可在離線環境下完整運作(地端 AI/Ollama 僅連線至 http://localhost:11434 本機迴環位址)。若裝置連得到網際網路,開啟頁面時會嘗試從 CDN 載入版面樣式(Tailwind CSS,不含任何您輸入的資料),失敗則自動改用本機 style.css,詳見下方部署模式。 |
| 啟動安全 | 所有輸入欄位在頁面載入時會自動清空,避免瀏覽器自動填入功能洩漏前次工作階段的資料。 |
您不需要看得懂程式碼,也不必只憑我們的說法就相信這個工具真的不會外洩資料。EduShield 是單一 HTML 檔案,沒有需要安裝的相依套件;除了首次載入版面樣式(Tailwind CSS,會嘗試連線 CDN,失敗則自動改用本機備援,不含任何您輸入的資料)之外,沒有任何與您的文件內容相關的背景連線——把整份 EduShield.html 原始碼複製起來,貼給您平常在用的任何一個 AI(ChatGPT、Claude 等),直接問它:「這個網頁會不會把使用者輸入的資料傳送到任何伺服器?」讓 AI 幫您親自核實,而不是單方面聽信開發者的宣稱。工具內的「教育隱私保護指南」也有相同提醒。
第一層 — 靜態正則快速比對
內建 REGEX_RULES 陣列涵蓋 20 種以上的個資類型,可即時比對:
- 身分證字號、居留證號、日期(民國與西元)、手機與市話、電子郵件、地址、學號、成績、班級排名、獎懲紀錄、職稱與角色、公文文號、廠商名稱、預算金額等。
在地化備註:預設規則針對台灣的資料格式調校。歡迎貢獻其他國家格式(如美國 SSN、歐盟 GDPR 相關欄位、英國 NI 號碼等)的正則規則——詳見下方在地化與貢獻。
第二層 — 地端 LLM 語意掃描(選用)
整合執行於您自己機器上的 Ollama,資料不會離開您的裝置。
- 通道一(實體擷取):偵測靜態正則無法涵蓋的內容,例如非正式的人名、沒有正式登記字號的商家名稱、內部專案代號等。
- 通道二(風險評估):針對以自然語言描述的敏感敘述進行語意風險偵測(例如家暴情境、自傷傾向、輔導紀錄),即使未逐字使用硬阻斷關鍵字也能偵測。
姓名辨識的實務限制:地端小模型對人名這類自由格式、高度依賴上下文的實體,判讀準確度仍不夠穩定,不建議把姓名遮蔽完全依賴這一層。若文件中有固定、常出現的姓名(例如班級名冊、固定聯絡人),建議直接加入「自訂詞庫」(工具列可管理)以確保每次都穩定遮蔽。
建議模型:qwen2.5:3b,在較舊硬體與低記憶體機器上仍能順暢執行。
每一筆被遮蔽的資料都會以唯一代碼({{TYPE_N}})儲存在記憶體內的 sessionVault 中。當外部 AI 處理完遮蔽後的文字,EduShield 會透過三重容錯比對演算法還原原始資料:
- 完全比對
- 空白容錯比對(處理 AI 在代碼前後誤增空白的情況)
- 括號容錯比對(處理
【TYPE_N】、[TYPE_N]、(TYPE_N)等變形)
HARD_BLOCK_KEYWORDS 陣列內建 36 個極度敏感詞彙(涉及兒少保護、性別暴力、特殊教育身分、心理健康紀錄等)。一旦偵測到:
- UI 最上方會出現紅色警示橫幅
- 複製按鈕會被鎖定,避免資料被不慎外流
- 使用者必須明確確認並解鎖才能繼續操作
| 模式 | 適用情境 | 所需檔案 |
|---|---|---|
| 線上 Sandbox | 快速功能評估——切勿用於真實資料 | 無需下載(透過 GitHub Pages 於瀏覽器執行) |
| 離線單檔模式(推薦) | 日常處理真實文件 | 僅需 EduShield.html |
| 無網/內網環境 | 公務機、封閉內網等場域 | EduShield.html + style.css(需放在同一資料夾) |
🔗 線上 Sandbox:https://oas114.github.io/EduShield/EduShield.html
Warning
線上版本僅供評估使用。任何真實個資或機密紀錄,請務必使用離線單檔模式。
1. 貼上與遮蔽
貼上文件 → 系統自動偵測並將個資替換為代碼(如 {{PERSON_1}})
2. 送交 AI 處理
點擊「複製已遮蔽資料」→ 貼到 ChatGPT/Claude → 由 AI 安全地處理
3. 一鍵還原
將 AI 回覆貼回 → 點擊「執行還原」→ 所有代碼還原為原始資料
EduShield 預設的 REGEX_RULES 引擎針對台灣的身分識別碼與資料格式最佳化。我們深知世界各地的個資型態差異極大。
誠摯歡迎全球開發者提交 Pull Request:
- 新增您所在國家個資格式的正則規則(美國 SSN、日本 My Number、韓國 주민번호、歐盟 GDPR 相關欄位等)
- 貢獻您所屬領域專屬的
HARD_BLOCK_KEYWORDS(醫療、法律、社工等) - 將介面或文件翻譯成更多語言
若要新增自訂偵測規則,請開啟 EduShield.html,搜尋 REGEX_RULES,新增一筆:
{ type: "TAG_NAME", regex: /your-regex/g, name: "顯示名稱", example: "比對範例" }若要新增硬阻斷關鍵字,搜尋 HARD_BLOCK_KEYWORDS 並在陣列中加入字串即可。
| 文件 | 說明 |
|---|---|
| 📖 docs/EduShield_README.md | 完整技術參考手冊——模組、API、資料結構、開發者指南(繁體中文) |
| 📖 docs/EduShield_README.en.md | 完整技術參考手冊(英文) |
| 🧪 docs/EduShield_Test_Scenarios.md | 12 個涵蓋各項核心功能的實機測試情境(繁體中文) |
若您需要的不是台灣教育場域專用規則,而是面向個人或企業、支援美國/歐盟(GDPR)/英國地區規則切換的英文版工具,歡迎試用姊妹專案 MaskFirst。
- 沿用與 EduShield 相同的零信任、單檔案、遮蔽 → AI → 還原引擎
- 內建可切換的地區規則庫(美國/歐盟/英國 + 永遠啟用的全域底層),避免不同國家格式互相誤判
- 提供 Personal(個人)/Business(企業)身分模式,各自對應獨立的硬阻斷詞庫
- 全英文介面,並附上可直接複製使用的地端 AI 提示詞範本
✨ 前往 MaskFirst 互動式體驗手冊 | 技術文件:MaskFirst_README.zh-TW.md
EduShield 是公益性質的開源專案,規劃中的後續開發方向包含:
- 多領域擴展:與各領域貢獻者合作,建立各領域專屬的
REGEX_RULES與HARD_BLOCK_KEYWORDS規則庫,讓教育以外的領域(如 MedShield、LawShield)也能快速部署專屬的防護盾。 - 持續維護:擴充並持續更新台灣專屬的個資規則庫。
- AI 整合研究:提升地端 LLM(Ollama)語意偵測的準確度。
跨產品線的後續規劃(如稽核日誌、企業版功能等)以姊妹專案 MaskFirst 的規劃為主。
- 授權條款:MIT License
- 開發者:OA (oas114)
- 贊助支持:至 Ko-fi 請作者喝杯咖啡
- 聯絡方式:oasgrow [at] gmail.com——歡迎合作洽詢、機構詢問與功能回饋