Vercel 正式部署
最新 Turso/R2 版本已推上 private GitHub,正式網址建置成功並穩定回應。
Latest Update · 2026.07.17
每日健康檢查、錯誤告警、Turso/R2 加密備份與正式還原演練已上線;MASTER_KEY 已安全輪替。四種瀏覽器共 8 項完整流程測試全數通過。下一個主要里程碑是數位憑證皮夾、合作方串接、法律定稿與 Base 主網營運。
已上線服務
5
Vercel · Turso · R2 · Resend · EAS
完整流程步驟
5 / 8
含修訂再驗證與 v2 refUID 已完成
部分完成步驟
3 / 8
主要缺皮夾、外部產生器與法律定稿
最新 Turso/R2 版本已推上 private GitHub,正式網址建置成功並穩定回應。
案件與版本進 Turso;加密 PDF 進私人 R2 Bucket,不再依賴 Vercel 暫存磁碟。
已驗證寄件網域;驗證碼、10 分鐘效期與安全提醒以品牌化 HTML 呈現。
已完成 PDF Hash 上鏈、交易確認、鏈上解碼與公開驗證查詢;UID 與 Tx Hash 可由第三方瀏覽器查驗。
中文嵌字、技術識別碼、版本 PDF 與 R2 上傳相容性皆已修正並通過正式建置。
點擊後先完成畫面繪製再呼叫後端;處理期間鎖定重複送出,完成後顯示獨立成功頁。
每次公開驗證都直接讀取鏈上 Attestation,逐欄核對 Hash、Schema、版本關係、狀態與簽發者;節點故障會獨立標示並可重試。
修訂前要求用途綁定的一次性 Email OTP;Base Sepolia 已建立 v1/v2 並回讀確認 v2 refUID 正確指向 v1。
每日健康檢查與 Resend 告警已啟用;Turso/R2 加密備份及正式還原演練通過。MASTER_KEY 已輪替,32 份既有文件共 126,544,666 bytes 全數解密驗證成功。
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
點選任一步驟,下方會展開該步驟的輸入、處理、輸出與目前仍缺少的部分。
角色:立遺囑人 × 身分驗證服務
I Input
Email+OTP,或數位憑證皮夾
使用者提供可驗證的身分憑據。
P Process
驗證身分並建立安全 Session
把登入者與遺囑案件的所有權綁定。
O Output
已驗證的 userId 與案件權限
後續產生、下載與修訂都依此授權。
目前差距:Email OTP 已透過已驗證網域的 Resend 在正式 Vercel 實測成功,登入信已改為品牌化 HTML,清楚標示驗證碼與 10 分鐘效期;使用者資料由 Turso 持久保存,十分鐘 5 次的頻率限制也已完成。修訂前會另外寄送用途綁定、只能使用一次的本人驗證碼;目前只剩數位憑證皮夾正式沙盒。
角色:遺囑產生器 × 本平台
I Input
遺囑欄位資料,或合作方產生的 PDF
目前可由欄位 v3 組成全文草稿;外部串接方式仍待約定。
P Process
產生草稿與 PDF,並鎖定確切位元組
草稿會附於 PDF;鎖定檔案可避免 metadata 改變 Hash。
O Output
Canonical PDF(存證版本)
這份檔案會成為後續所有驗證的基準。
目前差距:欄位 v3、遺囑全文草稿、存證 PDF 與證明書已完成;中文字型、技術識別碼與版本 PDF 的顯示問題也已修正。若要改接協會既有產生器,仍需完成 API/Webhook 介面,草稿條文也要由律師定稿。
角色:本平台雜湊服務
I Input
Canonical PDF 的完整位元組
必須是使用者實際下載與保存的同一份檔案。
P Process
執行 SHA-256 雜湊演算法
即使只改一個位元組,也會得到完全不同的結果。
O Output
0x 開頭的 64 位十六進位 Hash
供平台資料庫、區塊鏈與驗證頁一致比對。
目前差距:核心功能已完成;正式串接時仍要確保合作方交付的是完全相同的 PDF bytes。
角色:立遺囑人 × 本平台
I Input
使用者確認、姓名、PDF Hash
確認目前看到的文件就是準備存證的版本。
P Process
建立簽署與操作紀錄
記錄誰、何時、確認了哪一個 Hash。
O Output
Signature record + audit event
作為上鏈前的操作證據與稽核軌跡。
目前差距:勾選確認、簽署紀錄、audit log、案件證據鏈時間軸與管理後台已完成;送出後會立即鎖定按鈕並顯示「正在完成存證」,後端完成才進入獨立的「存證成功」結果頁。修訂前 Email OTP 再驗證已完成;尚未定義符合法律需求的正式電子簽章強度。
角色:本平台 Attestor × Base Sepolia × EAS
I Input
PDF Hash、版本、上一版 refUID
PDF 全文、姓名與資產內容都不上鏈。
P Process
送出 EAS Attestation 交易
等待交易確認並取得永久可查的鏈上紀錄。
O Output
Tx Hash、Attestation UID、時間
可由第三方區塊鏈瀏覽器獨立查詢。
目前差距:Base Sepolia 真實 EAS 已完成:Schema 已註冊,Production 環境變數已生效,v1 與 v2 都已取得可公開查驗的 Tx Hash 與 Attestation UID;鏈上解碼與 PDF Hash、docType、version 完全一致,v2 refUID 也已回讀確認等於 v1 UID。EAS 事件改為正式 ABI 解碼,並補上 RPC 出塊同步重試。接下來仍缺交易失敗重試、確認數監控、專用 RPC/錢包、Gas 告警與 Base 主網決策。
角色:Cloudflare R2 × Turso
I Input
加密 PDF、Hash、UID、userId
同一案件可以有 v1、v2、v3 等多個存證版本。
P Process
加密保存並建立版本關聯
由資料庫判斷哪一版最新、哪一版已被取代。
O Output
可長期查詢的案件與版本資料
支援本人下載、稽核、修訂與公開驗證。
目前差距:Vercel+Turso+Cloudflare R2 已正式上線,PDF 會先以 AES-256-GCM 加密再進 R2,案件、金鑰信封與版本索引存進 Turso。每日深度健康檢查、Resend 錯誤告警與每日加密備份已啟用;正式還原演練成功重建 15 張表、352 筆資料與 32 份 R2 文件。MASTER_KEY 已完成正式輪替,32 份文件逐份解密驗證通過;目前只剩把第二份 recovery kit 放入真正的實體離線媒體,屬人工保管動作。
角色:驗證者 × 瀏覽器 × 區塊鏈
I Input
驗證者手邊的 PDF
PDF 留在瀏覽器,文件內容不必上傳。
P Process
本機算 Hash,查鏈並判讀版本
同時確認是否存在、是否為最新版本。
O Output
相符/不相符+存證資訊
相符代表檔案與該次存證逐位元組一致。
目前差距:已完成瀏覽器內 SHA-256、Turso 正式索引查詢,以及每次驗證直接呼叫 EAS getAttestation。系統會即時交叉核對 UID、Schema、Hash、文件類型、版本、refUID、撤銷/到期狀態與允許的 Attestor;一致才顯示綠色成功,不一致顯示紅色警告,RPC 暫時無回應則顯示黃色待重試,不會誤判文件失效。
角色:立遺囑人 × 版本管理服務
I Input
本人登入、既有案件、修改後內容
只有案件所有者才能建立下一個版本。
P Process
建立 v2,重走 PDF → Hash → 存證
新 Attestation 以 refUID 指向上一版。
O Output
最新版 v2,v1 標記已被取代
舊 PDF 仍可驗證,但會提示已有更新版本。
目前差距:修訂入口會重新寄送用途綁定的 Email OTP;驗證碼 10 分鐘有效、只能使用一次,且同一案件有併發鎖,避免只靠舊 Session 或重複送出建立新版。Base Sepolia 已實際建立隔離測試 v1 與 v2,並直接回讀確認 v2 refUID 完整等於 v1 UID;舊版仍可驗證並會提示已有更新版本。
02 — Privacy Boundary
最重要的隱私界線:遺囑內容不上鏈,公開的只有無法反推內容的 SHA-256 數位指紋。
Off-chain
On-chain · Live Testnet
真實 EAS 已上鏈並完成第三方查驗;目前使用 Base Sepolia 測試網,尚未切換 Base 主網。
03 — Public Verification
PDF 留在使用者的瀏覽器中,只送出算好的 SHA-256;每次驗證都會同時讀取 Turso 正式版本索引與 Base Sepolia EAS 鏈上內容,逐欄交叉核對 Hash、Schema、版本、refUID、狀態與 Attestor。
使用者選擇當初下載保存的文件,檔案不離開裝置。
任何一個字、metadata 或位元組改變,都會產生不同指紋。
確認 Hash 是否存在,以及該文件是否仍為最新版本。
驗證一致
這份 PDF 與該次存證逐位元組完全相同;再顯示存證時間、UID 與版本狀態。
驗證不一致
文件曾被修改、尚未完成存證,或不是當初用來存證的那一份 PDF。
04 — Revision Loop
舊版與原存證保留,建立新版前會重新完成一次性 Email OTP,再走一次 PDF、Hash 與存證流程;Base Sepolia 已實際驗收 v2 refUID 正確指向 v1。
既有存證
歷史紀錄保留,不修改、不刪除。
建立修訂
產出新的 PDF,重新計算 Hash B。
最新存證
v2 成為最新版;驗證 v1 時提示已被取代。
For Legal Review
雜湊一致只能證明「這份 PDF 與某次存證的位元組完全一致」,以及該存證的時間與鏈上紀錄;它本身不等於確認立遺囑人的意思能力、法定形式或遺囑法律效力。
目前新增的「遺囑全文草稿」也是撰寫參考:若採自書遺囑,仍須由立遺囑人親筆書寫全文、記明日期並親自簽名。草稿條文、身分驗證強度與簽署程序仍應由律師定稿。