插槽,而非空白頁
排程中閱讀時間 6 分鐘 作者 NT²
護照、銀行帳戶、API 金鑰與助記詞,並不是同一種文字。若保管箱把它們都當成同一張空白頁,你就只能自己記住結構該長什麼樣子。
插槽,而非空白頁
主張:敏感資產需要結構描述
保管箱解鎖時,你要的不是一張空白頁。你要的是一個已經知道憑證長什麼樣子、銀行項目該裝什麼、文件的核發機關與到期日該放在哪裡的地方。你要的是插槽——附標籤、遮罩、可複製時機,以及與所描述紀錄綁在一起的附件的型別化欄位。
NT² Vault 以結構化數位資產為核心。本系列的產品主張是架構性的,而非表面裝飾:敏感的人生資料值得擁有具備結構描述的文件集合,而不是自由畫布,也不是把每個領域都硬塞進同一種密碼管理器形狀的單一列紀錄。
這個主張說起來容易,放棄起來也容易。筆記應用程式永遠只差一個文字方塊。試算表永遠只差多一欄。一則「什麼都能放」的安全備註,起初感覺很有彈性,直到每個領域都塌陷成同一團未分化的內容——而每個功能(搜尋、共用、到期、健康檢查)都得自己猜哪幾行才重要。
這篇文章是本系列的樞紐,說明 NT² 如何拒絕這種塌陷。後續文章會深入探討型別系統、套件包的組合方式、封裝後的傳輸格式,以及共享同一組欄位的四個產品介面。這裡,我們先用白話把文件模型定下來。
限制:空白頁會把領域壓平
自由格式的工具贏在速度。打開、輸入、之後再搜尋。對購物清單和旅遊點子來說,這樣就夠了。高敏感度的紀錄不一樣。
護照不是登入帳號。 它有核發機關、號碼、日期,還經常需要正反面掃描。當官員要求提供號碼時,「複製整篇備註」是錯誤的預設做法。
銀行帳戶不是密碼。 匯款代碼、IBAN、機構名稱與帳號,各有不同的揭露習慣。出示地址證明,不該把你存過的每一位數字都倒出來。
API 金鑰不是家庭備忘錄。 輪替紀錄、環境標籤與遮罩後的機密,行為上像憑證——但它們不是購物網站的自動填入內容。
助記詞不是一段文字。 它需要一個懂得復原材料的地方,而不是訓練使用者把十二個單字貼進聊天視窗。
當這些紀錄共用同一張空白頁面,結構就變成個人紀律:得自己記住哪一行是最新的、記住別貼太多、記住掃描檔放在哪裡。工具不會幫你維持形狀;它只負責存文字。
密碼管理器把「登入」這個較窄的問題解決得非常好。但把同一套結構描述硬套到保險保單、就醫卡、SSH 金鑰與稅務文件上,你要嘛得發明沒有共通意義的自訂欄位,要嘛只能把一切再塞回備註。空白頁從側門溜了回來。
因此 NT² 的限制帶有明確的產品形狀:如果保管箱要承載許多領域,模型就必須承認領域彼此不同——同時不必為每個垂直領域各自發明一款應用程式。
設計:集合、結構描述、列、欄位型別
NT² 使用一小組文件模型詞彙。它們不是行銷比喻,而是保管箱思考的方式。
| 概念 | 角色 |
|---|---|
| 類別 | 一組同類文件的集合(憑證、銀行、文件……) |
| 類別範本 | 該集合的預設結構描述——有序的欄位配置與標籤 |
| 項目 | 一份文件實例——集合中的一列 |
| 欄位型別 | 可重複使用的語意欄位型別(密碼、到期日、IBAN……) |
flowchart TB
Cat[類別 — 集合]
Tpl[類別範本 — 結構描述]
Item[項目 — 列]
FT[欄位型別 — 語意欄位]
Cat --> Tpl
Tpl --> Item
FT --> Tpl
Item --> Values[列上的欄位值]
類別回答「這是哪一種集合?」標題與類別標籤屬於清單中繼資料——對篩選與搜尋有用——而敏感值則存在項目內容裡。
範本回答「這個集合裡的新項目一開始有哪些欄位?」憑證從使用者名稱、密碼、URL 開始。文件從文件種類、號碼、核發機關、日期,以及型別化的照片插槽開始。銀行從機構名稱與帳戶形狀的欄位開始。範本是結構描述,不是凍結不變的協定常數:版本更新可能微調欄位配置,使用者也可以在需要某個領域時啟用選用套件。
項目是一列。建立一筆銀行帳戶並不會建立一個迷你資料庫;它只是在銀行範本下建立一筆結構化紀錄。
欄位型別是一欄可重複使用的意義。到期日在護照文件上和在 TLS 憑證項目上意義相同。密碼無論出現在哪裡,都代表一個附帶遮罩與健康掃描習慣的機密。本系列下一篇文章就是講這個登錄表。這篇文章的樞紐主張比較單純:欄位是語意的,不是每個畫面各自發明的一次性表單元件。
還有兩個產品事實,讓這個模型保持誠實:
- 核心內建類別維持精簡。 憑證與安全備註永遠可用。專門領域則以選用套件的形式出貨,需要時才啟用——銀行、文件、加密貨幣、IT、醫療及其他——這樣一座新保管箱在第一天就不會變成陳列每個垂直領域的博物館。
- 功能跟著欄位走。 到期提醒、密碼健康檢查與共用遮罩,應該根據一列上目前使用中的欄位集合來決定——而不是永遠寫死一個
if (category === "bank")。組合是領域得以擴展的方式;slug 判斷式則是它們僵化的方式。
取捨:組合,而不是為每個畫面發明新螢幕
結構紀律是要付出代價的。範本作者必須從共享目錄中組合,而不是為每個介面隨意發明鍵名。使用者要先選一個類別,而不是從空白頁開始。選用套件需要明確的啟用步驟。
換來的是跨領域的槓桿:
- 同一個到期日欄位,可以同時驅動文件與憑證的提醒。
- 同一個機密欄位,在編輯、檢視、呈現流程中都能保持遮罩。
- 搜尋與清單預覽只投影被標記為可索引的欄位。
- 共用與選擇性呈現能針對欄位思考,而不是針對整份不透明備註思考。
- 備份與同步能承載封裝後的內容,而不必讓邊緣去解讀你的人生。
這與「用自由格式文字滿足所有人的所有需求」正好相反。它更接近一座有紀律的個人資產資料庫——依然本機優先,依然零知識——結構在其中同時是安全性與可用性的功能。
我們拒絕什麼
我們拒絕把 Notion 式的空白畫布當作保管箱模型。 豐富的自由格式頁面很適合用來思考。它們並不適合作為需要遮罩、型別化附件與受控揭露的高價值機密的預設容身之處。
我們拒絕為每個領域都準備一則巨型備註。 安全備註存在的目的,是安放不適合套進範本的文字,而不是一個把銀行、護照、API 清單全都收攏回一段段文字的逃生口。
我們拒絕假裝一套登入結構描述就是通用的人生結構描述。 憑證很重要。但它們不是保險保單、病歷或 SSH 金鑰。
我們拒絕把結構當成可有可無的裝飾。 如果欄位只是貼在一團沒有共通意義的 JSON 上的標籤,你等於多繞了一圈,重新發明了空白頁。
結構就是產品介面
這個部落格上的故事,常常從一個似曾相識的錯誤說起:家裡那份試算表、長大到裝不下購物清單的筆記應用程式、從沒學會什麼是銀行欄位的本機資料庫。這些文章用人性化的方式,論證了結構所帶來的紓解:桌面上的那份試算表、我的 Apple Notes 已經裝不下了、已經本機優先,卻少了結構。
本系列則要論證背後的工程主張:插槽勝過空白頁,因為領域共享同一套型別系統。 下一篇:語意欄位,而非表單元件——說明欄位的意義為何存在於一個全域登錄表中。之後還會談跨套件的組合、可搜尋的中繼資料如何留在封裝值之外,以及編輯、檢視、呈現與功能如何共享同一組欄位。
至於這些欄位如何以可攜密文的形式離開記憶體,可搭配閱讀CBF:結構化欄位離開記憶體的方式。若想看更精簡版本的產品支柱說明,可參考 nt2.me/about。
如果你想要一座從結構描述出發、而不是從空白頁出發的保管箱,歡迎試試 NT² Vault。
最後更新 2026-11-15
相關故事
- 可搜尋的中繼資料,封裝後的欄位值
閱讀時間 5 分鐘
- 從同一套型別系統組合出各個領域
閱讀時間 5 分鐘
- 語意欄位,而非表單元件
閱讀時間 5 分鐘