# 學生資料去識別化工具(Student Data De-identification Tool) > 免費、開源、純前端的線上文件去識別化工具:上傳 PDF、Word、Excel、TXT、Markdown 或貼上文字,自動偵測姓名、身分證字號、手機、市話、地址、電子郵件、公司名稱、統一編號與自訂識別碼,遮罩預覽、人工覆核後下載去識別化文件與 CSV 編碼表,日後可憑編碼表完整還原(不需還原時也可只輸出類別標記或「○」佔位)。所有處理在瀏覽器內完成,檔案不會上傳到任何伺服器。 - 網址:https://chuoneone.github.io/sped-deidentification/ - 原始碼(MIT 授權):https://github.com/chuoneone/sped-deidentification - 改自:Dean Lin 的「文件去識別化工具」https://github.com/dean9703111/data-deidentification - 維護:chuoneone(原作者 Dean Lin,https://deanlin.net/) - 語言:繁體中文(台灣);內建偵測規則以台灣常見格式為主 - 適用情境:把合約、報價單、客戶清單、客服信件、會議紀錄交給外包廠商、AI 服務(ChatGPT、Claude、Gemini)或研究單位之前先移除個資,事後仍可還原;也適用於紙本掃描檔(申請表、名冊、名片)與公開範例 - 完整說明(README,Markdown):https://chuoneone.github.io/sped-deidentification/llms-full.txt - 本版本:新增「學校與特教文件」規則(欄位後的姓名、名字簡稱連動、學校、班級、學號、醫院、公文文號、用藥/罕見疾病、障礙類別/診斷〔預設關閉〕),中文姓名預設不從內文猜測,圈選新增會遮蔽全文相同的字 ## 主要特點 - 多格式輸入:.pdf(文字型或掃描影像)、.docx、.xlsx、.txt、.md,或直接貼上文字;一次最多 10 個檔案混合處理,單檔 100 MB 以內(超過時以警告視窗擋下) - 掃描檔 OCR:沒有文字層的 PDF 在瀏覽器內以 Tesseract(繁體中文+英文)辨識,程式與模型由本站提供、不連 CDN;辨識前移除表格框線、加深彩色字,辨識後補辨識版面分析漏掉的文字行(字距加寬的大字讀不清時放大再讀)、連同行首重讀段落開頭的條列編號(一、二、)、校正證號/電話字形(須通過檢核碼),並以純中文模型重讀低信心字詞與中文行中被誤讀成英文的手寫字;照片、標誌等不含文字的圖片原樣保留在輸出中,可逐張取消;還原只還原文字 - 掃描檔版面還原:表格框線(含虛線)、儲存格底色、文字顏色依原位置重繪;勾選框(打勾、打叉、塗滿)以方框+勾號重繪並保留勾選狀態;整頁傾斜(±10°)與 90°/180° 轉向會先自動轉正再辨識;結構皆為重新繪製的純色圖形,不帶出原頁面影像;文字大小依中文字高推算,行距密的版面(名片)不重疊 - 十五種內建偵測類別:台灣格式的中文姓名、身分證字號(檢核碼驗證)、手機、市話、地址、電子郵件、公司/組織名稱、統一編號(檢核碼驗證)、自訂識別碼;國際格式的國際電話(以 libphonenumber 驗證)、信用卡號(Luhn 與發卡號段)、美國 SSN、IBAN(mod-97)、IP 位址(IPv4/IPv6)、出生日期(依 DOB/Date of Birth/出生日期 等標籤);可停用內建規則、以正規表達式新增自訂規則並即時測試;英文姓名與地址尚未支援 - 格式感知預覽:Word 顯示段落/標題/表格/頁首頁尾,Excel 顯示工作表格線,PDF 逐頁依原座標排版;預覽就是下載後的樣子,編碼以類別名稱表示(如 王[姓名]、A1[身分證]) - 人工覆核:點擊標記取消誤判、在「依類別調整」整類取消、圈選文字手動新增、偵測清單定位 - 保留原格式輸出:Word/Excel 直接改寫文字節點,樣式與表格不動;PDF 以文字重建(非色塊覆蓋)輸出,內嵌 Noto Sans TC 子集,輸出檔不殘留原始敏感文字 - 可還原:每筆敏感資訊換成 [類別:編碼] 形式的唯一隨機編碼(同一類別下相同的值共用同一個編碼,手動新增亦同),CSV 編碼表是還原的唯一憑證 - 隱私:純前端、無後端、可離線;瀏覽器只儲存偵測規則設定,文件內容與編碼表不落地 - 批量輸出:多檔時一鍵打包 ZIP(每個檔案的去識別化檔+編碼表+對照清單) - 輸出方式可切換:部分保留(預設,只露出適合統計的字元,例如 A1[身分證:7b21e8]、0912-[手機:c882d1]、[電子郵件:5d0e17]@gmail.com)、全部隱藏、自訂(逐類別保留前/後幾碼、分隔字元前後、姓氏、縣市或縣市+鄉鎮市區,可設為預設),保留的字元留在標記外,方便在 Excel 統計,仍可完整還原 - 標記方式:預設「編碼」[姓名:6e679d],附編碼表可還原;不需還原時可選「類別」[姓名] 或「空白佔位」(以「○」取代每個字,分隔符號保留,例如 0912-○○○-○○○),只輸出去識別化文件、不產生編碼表,介面標示無法還原;可與部分保留/全部隱藏/自訂並用 - 跨檔案共用編碼:可讓整批檔案共用編碼,或匯入既有編碼表沿用舊編碼(例如每月資料串接),並下載合併編碼表 ## 使用流程 1. 在「去識別化」頁籤拖入檔案或貼上文字,按「開始去識別化」 2. 在預覽中檢視自動偵測結果,滑鼠停留可看原文與實際輸出標記 3. 人工調整:取消誤判、整批取消某一種類、圈選新增漏抓 4. 選擇輸出方式(部分保留(預設)/全部隱藏/自訂)與標記方式(編碼(預設,可還原)/類別/空白佔位),按「下載(文件+編碼表)」一次取得去識別化文件(同格式,檔名加 .deid)與編碼表(*.mapping.csv);不需還原的標記方式只下載文件 5. 需要復原時,到「還原」頁籤上傳去識別化文件與編碼表,下載還原檔(檔名加 .restored) ## 輸出格式 - 文件中每筆敏感資訊以 `[類別:編碼]` 取代,例如 `[姓名:a3f9c2]`;編碼為 6 位小寫十六進位,由 crypto.getRandomValues 產生,與原文無數學關聯 - 編碼表為 UTF-8(含 BOM)、RFC 4180 的 CSV,欄位為 code,category,original,Excel 可直接開啟;有部分保留時 original 只記錄被隱藏的片段,並在尾端加上 kept_prefix、kept_suffix 兩欄 - 還原時以 code 查表;文件中查無的編碼會保留原標記並列出警告 ## 限制 - 不支援舊版 .doc、.xls;掃描 PDF 的辨識結果可能有誤認或遺漏(手寫、模糊時更明顯),請逐頁核對;部分頁面才有文字層的混合型 PDF 只處理文字層 - 文字型 PDF 輸出不保留圖片、圖形與原字型;Excel 僅處理文字型儲存格,數值型電話/證號、公式結果、工作表名稱與註解不在範圍 - 中文姓名與地址無法以規則做到零誤判/零漏抓,請務必在預覽中人工覆核 ## 常見問題 - 檔案會上傳嗎?不會,全部在瀏覽器內處理,沒有後端 - 可以還原嗎?可以,用 CSV 編碼表在「還原」頁籤還原,缺漏的編碼會列出警告 - 不需要還原,可以只遮蔽嗎?可以,標記方式選「類別」輸出 [姓名],或選「空白佔位」以「○」取代每個字(分隔符號保留);不產生編碼表、無法還原 - 去識別化、假名化、匿名化有什麼不同?預設的編碼+編碼表屬於假名化(可還原);類別、空白佔位不產生編碼表,但是否達到匿名化要看保留的字元與其他資訊 - 交給 ChatGPT 等 AI 之前怎麼移除個資?在本工具中偵測並確認後,下載或複製去識別化內容交給 AI;AI 回覆中的 [姓名:6e679d] 可用編碼表還原,不需還原時選「類別」 - 掃描的 PDF 可以嗎?可以,瀏覽器內 OCR(繁中+英文)辨識後遮罩,表格框線、底色與勾選框重繪,傾斜或放反自動轉正;內附 5 頁掃描範例字元召回率約 99% - 可以批次處理嗎?一次最多 10 個檔案混合格式,可打包 ZIP、可整批共用編碼 - 去識別化後還能統計嗎?可以,輸出設定的「保留」選「自訂」逐類別保留部分字元(例如身分證前 2 碼),或整批共用編碼/匯入舊編碼表讓同一個人跨檔案同編碼 - 要收費嗎?免費,MIT 開源;`npm run build` 產出的 dist/ 可放到任何靜態空間自行架設,或直接以檔案開啟 - PDF 為什麼不用黑框覆蓋?覆蓋法底層文字仍可被複製;本工具以文字重建輸出,敏感文字真正從檔案移除 ## English summary Data De-identification Tool is a free, open-source, browser-only tool for redacting personal data (PII) in Traditional Chinese (Taiwan) documents: names, national ID numbers, phone numbers, addresses, email addresses, company names and tax IDs in PDF (including scanned PDFs via in-browser OCR), Word, Excel, TXT and Markdown. Every match can be reviewed before export; output keeps the original format. Values become reversible codes with a CSV mapping table, or category labels / ○ placeholders when no restoring is needed. Files never leave the browser. ## 參考連結 - [完整說明(Markdown,供 AI 閱讀)](https://chuoneone.github.io/sped-deidentification/llms-full.txt) - [完整操作說明與截圖(README)](https://github.com/dean9703111/data-deidentification#readme) - [偵測規則說明](https://github.com/dean9703111/data-deidentification#偵測規則) - [輸出格式:標記與編碼表](https://github.com/dean9703111/data-deidentification#輸出格式標記與編碼表) - [範例:委外服務契約書 (Word)](https://chuoneone.github.io/sped-deidentification/samples/contract.docx) - [範例:報價單 (PDF)](https://chuoneone.github.io/sped-deidentification/samples/quotation.pdf) - [範例:掃描文件 (掃描 PDF,5 頁:信函、手寫表單、名冊、英文 Invoice、名片)](https://chuoneone.github.io/sped-deidentification/samples/scanned.pdf) - [範例:客戶資料 (Excel)](https://chuoneone.github.io/sped-deidentification/samples/customers.xlsx) - [範例:客服信件 (TXT)](https://chuoneone.github.io/sped-deidentification/samples/support-email.txt) - [範例:已去識別化契約書+編碼表(還原體驗)](https://chuoneone.github.io/sped-deidentification/samples/contract.deid.docx)