數位遺囑存證方案
End-to-end Process · 第十三輪更新

一份數位遺囑 PDF
如何成為可驗證的存證?

從本人登入、接收遺囑產生器輸出的 PDF、計算 SHA-256、鏈上存證,到任何人日後驗證與本人修訂。每一步都清楚標示 Input、Process、Output,以及目前實作進度。

At a glance

一眼看懂資料怎麼走

本人登入

確認案件所有權

產生/取得 PDF

鎖定確切檔案

計算 Hash

產生 SHA-256

Base Sepolia 存證

真實 EAS 已上鏈

公開驗證

比對是否一致

完成比對
SHA-256
0xb54d...f820  ✓ matched

Latest Update · 2026.07.17

第十三輪:監控、還原演練、金鑰輪替與跨瀏覽器驗收完成

每日健康檢查、錯誤告警、Turso/R2 加密備份與正式還原演練已上線;MASTER_KEY 已安全輪替。四種瀏覽器共 8 項完整流程測試全數通過。下一個主要里程碑是數位憑證皮夾、合作方串接、法律定稿與 Base 主網營運。

已上線服務

5

Vercel · Turso · R2 · Resend · EAS

完整流程步驟

5 / 8

含修訂再驗證與 v2 refUID 已完成

部分完成步驟

3 / 8

主要缺皮夾、外部產生器與法律定稿

已上線

Vercel 正式部署

最新 Turso/R2 版本已推上 private GitHub,正式網址建置成功並穩定回應。

已實測

Turso+R2 持久化

案件與版本進 Turso;加密 PDF 進私人 R2 Bucket,不再依賴 Vercel 暫存磁碟。

已實測

Resend HTML 驗證信

已驗證寄件網域;驗證碼、10 分鐘效期與安全提醒以品牌化 HTML 呈現。

已上鏈

真實 EAS E2E 驗收

已完成 PDF Hash 上鏈、交易確認、鏈上解碼與公開驗證查詢;UID 與 Tx Hash 可由第三方瀏覽器查驗。

已修正

PDF 與證明書修正

中文嵌字、技術識別碼、版本 PDF 與 R2 上傳相容性皆已修正並通過正式建置。

已實測

即時送出與成功頁

點擊後先完成畫面繪製再呼叫後端;處理期間鎖定重複送出,完成後顯示獨立成功頁。

已完成

Turso × Base/EAS 即時交叉驗證

每次公開驗證都直接讀取鏈上 Attestation,逐欄核對 Hash、Schema、版本關係、狀態與簽發者;節點故障會獨立標示並可重試。

已驗收

修訂再驗證+v2 refUID

修訂前要求用途綁定的一次性 Email OTP;Base Sepolia 已建立 v1/v2 並回讀確認 v2 refUID 正確指向 v1。

已驗收

監控、備份與金鑰輪替

每日健康檢查與 Resend 告警已啟用;Turso/R2 加密備份及正式還原演練通過。MASTER_KEY 已輪替,32 份既有文件共 126,544,666 bytes 全數解密驗證成功。

8 / 8 通過

四種瀏覽器自動回歸

Playwright 已涵蓋 OTP、立即處理狀態、PDF 下載、公開驗證、修訂與營運管理頁;Chromium、Firefox、WebKit、iPad Safari 共 8 項測試全數通過。

What Remains

現在還沒完成的五件事

核心存證、即時鏈上驗證、v2 修訂、監控備份與瀏覽器回歸已完成;剩餘缺口集中在外部身分與產生器串接、法律定稿、Base 主網營運,以及一項實體離線保管動作。

回到八步流程

數位憑證皮夾沙盒

待資料

取得 WALLET_API_BASE、ACCESS_TOKEN 與 VERIFIER_REF,取代目前 Mock 流程。

負責/依賴:外部申請

合作方遺囑產生器串接

待規格

確認 PDF 交付方式、API/Webhook、案件識別與錯誤回報格式。

負責/依賴:雙方協作

法律欄位與聲明定稿

待確認

由劉律師確認欄位 v3、草稿條文、法定形式提醒,以及禁止分割、信託、認領與剝奪繼承權等高風險欄位。

負責/依賴:法律確認

鏈上營運與主網決策

上線前

補上交易重試、確認數監控、專用 RPC/錢包與 Gas 告警,並決定何時由 Base Sepolia 切換 Base 主網。

負責/依賴:技術+營運

第二份實體離線金鑰保管

需實體保管

加密 recovery kit 已在本機與 iCloud 各保存一份,並已完成解密復原驗證;仍需由營運人員再複製到不連網的實體媒體,與密碼分地保管。

負責/依賴:營運人工

01 — Complete Flow

完整流程與目前進度

點選任一步驟,下方會展開該步驟的輸入、處理、輸出與目前仍缺少的部分。

● 已完成 ● 部分完成 ● 尚未完成

01 · 本人登入與案件綁定

角色:立遺囑人 × 身分驗證服務

部分完成

I Input

Email+OTP,或數位憑證皮夾

使用者提供可驗證的身分憑據。

P Process

驗證身分並建立安全 Session

把登入者與遺囑案件的所有權綁定。

O Output

已驗證的 userId 與案件權限

後續產生、下載與修訂都依此授權。

目前差距:Email OTP 已透過已驗證網域的 Resend 在正式 Vercel 實測成功,登入信已改為品牌化 HTML,清楚標示驗證碼與 10 分鐘效期;使用者資料由 Turso 持久保存,十分鐘 5 次的頻率限制也已完成。修訂前會另外寄送用途綁定、只能使用一次的本人驗證碼;目前只剩數位憑證皮夾正式沙盒。

02 — Privacy Boundary

什麼留在系統?什麼寫上區塊鏈?

最重要的隱私界線:遺囑內容不上鏈,公開的只有無法反推內容的 SHA-256 數位指紋。

Off-chain

鏈下:私人資料區

  • 完整 PDF 與遺囑內容
  • 本人身分、登入與案件所有權
  • Turso 案件索引與 R2 加密 PDF
只傳 Hash

On-chain · Live Testnet

鏈上:Base Sepolia EAS

真實 EAS 已上鏈並完成第三方查驗;目前使用 Base Sepolia 測試網,尚未切換 Base 主網。

  • PDF 的 SHA-256 數位指紋
  • 交易時間與 Attestation UID
  • 新版指向上一版的 refUID(v1 → v2 已完成真實鏈上驗收)

03 — Public Verification

驗證頁實際在做什麼?

PDF 留在使用者的瀏覽器中,只送出算好的 SHA-256;每次驗證都會同時讀取 Turso 正式版本索引與 Base Sepolia EAS 鏈上內容,逐欄交叉核對 Hash、Schema、版本、refUID、狀態與 Attestor。

01

選擇手邊 PDF

使用者選擇當初下載保存的文件,檔案不離開裝置。

02

瀏覽器計算 SHA-256

任何一個字、metadata 或位元組改變,都會產生不同指紋。

03

比對存證與版本

確認 Hash 是否存在,以及該文件是否仍為最新版本。

驗證一致

這份 PDF 與該次存證逐位元組完全相同;再顯示存證時間、UID 與版本狀態。

驗證不一致

文件曾被修改、尚未完成存證,或不是當初用來存證的那一份 PDF。

04 — Revision Loop

修改不是覆蓋,而是建立新版本

舊版與原存證保留,建立新版前會重新完成一次性 Email OTP,再走一次 PDF、Hash 與存證流程;Base Sepolia 已實際驗收 v2 refUID 正確指向 v1。

既有存證

v1 · PDF + Hash A

歷史紀錄保留,不修改、不刪除。

本人驗證

建立修訂

修改內容並產生 v2

產出新的 PDF,重新計算 Hash B。

重新存證

最新存證

v2 · Hash B + refUID

v2 成為最新版;驗證 v1 時提示已被取代。

For Legal Review

給劉律師確認的關鍵界線

雜湊一致只能證明「這份 PDF 與某次存證的位元組完全一致」,以及該存證的時間與鏈上紀錄;它本身不等於確認立遺囑人的意思能力、法定形式或遺囑法律效力。

目前新增的「遺囑全文草稿」也是撰寫參考:若採自書遺囑,仍須由立遺囑人親筆書寫全文、記明日期並親自簽名。草稿條文、身分驗證強度與簽署程序仍應由律師定稿。