AlphaCurve Contract由頂尖 AI 模型驅動OpenAIClaude

擬約、議約、定稿,然後留下 站得住腳的證據

AI 讀完整份合約,點出缺漏的條款與前後不一致之處;定稿之後,每一次簽署都留下對方不必相信你、自己就能查證的證據。

登入 / 註冊

Demo 以範例資料體驗完整功能,不會儲存到伺服器

定稿指紋
SHA-256
第三方可信時戳
RFC 3161
版本差異
逐行比對

為什麼這件事值得問

就算我們明天消失,這份證據一樣成立

採購通常會問廠商三個問題:你們倒了怎麼辦?資料被你們改了怎麼辦?如果我要告的人就是你們呢?下面是這三題的答案,不需要看懂任何技術名詞。

  1. 文件不放在我們這裡才算數

    簽署完成的那一刻,合約 PDF 與證據報告以「真正的附件」寄進雙方各自的信箱——不是下載連結。平台哪天關掉,那兩份檔案還在你的信箱裡。

  2. 任何人都能自己驗,不必有我們的帳號

    我們提供一個開放原始碼的驗證器:把證據包拖進去,在你自己的瀏覽器裡逐項重算,斷網也能用。不想用它,包裡附了用免費標準工具做同一件事的指令。

  3. 時間點由外部見證,不是由我們宣稱

    每天的簽署會彙總成一個值,送到三個互不相關的地方,其中一個是 Bitcoin。要串通就得串通全部,而其中一個沒有人可以串通。

講清楚它的上限:這不會讓合約條款自動有效,也不證明簽署人的自然人身分。它證明的是——這份文件在那個時間點就是這樣,而且事後沒有被改過。

爭議發生的那一天

對方開口的時候,你手上有什麼

合約真正被拿出來用的場合,通常是雙方已經不客氣的時候。下面每一句都是對方可能說的話——把卡片翻面,可以看我們用什麼做到,以及每一項各自證明不了什麼。

這份跟你當初給我的不一樣,中間被改過

你拿得出證據

定稿那一刻的內容指紋,加上第三方簽發的時間證明,對方可以自己算、自己驗,不必經過我們。

機制與限制

這份跟你當初給我的不一樣,中間被改過

定稿當下對該版本內容原文(UTF-8)計算 SHA-256,指紋印在證據報告與 A4 文件末頁的「數位認證指紋」區塊。同一個指紋送交第三方時戳機構,取回 RFC 3161 時戳權杖;.tsr 檔可從系統下載,用 openssl ts -verify 獨立驗算——不需要我們的系統,也不需要相信我們。證據報告會把時戳涵蓋的雜湊與目前定稿指紋比對,標示為「時戳一致:涵蓋目前定稿指紋」或「時戳不符:非目前定稿指紋」。

這不證明什麼: 時戳證明的是那個雜湊值在簽發時點之前就已存在,不證明內容為真、不證明簽署人是誰,也不等同公證。

紀錄都在你們自己的資料庫,你們想改就改

你拿得出證據

這一條我們不辯解:雜湊鏈確實防不了我們自己。真正算數的是交給第三方的那一段——而報告會逐段標出哪些有、哪些沒有。

機制與限制

紀錄都在你們自己的資料庫,你們想改就改

稽核軌跡是 append-only 雜湊鏈,每筆事件的雜湊都含前一筆的雜湊,因此「只改一筆而不重算後續」會立即被偵測。但能重算整條鏈的一方——也就是我們——重算後的鏈驗證起來完全正常。所以鏈頭會送第三方時戳機構簽發 RFC 3161 時戳,那一刻之前的事件我們就改不動了。證據報告逐段標示「已錨定」或「未錨定」,並且白紙黑字寫著:未錨定僅代表本平台自身紀錄一致,尚無第三方佐證。資料庫層還有兩道:已寫入的簽名列由 append-only 觸發器擋下 UPDATE,簽署證據相關的外鍵一律 ON DELETE RESTRICT——合約或邀請一旦帶有簽署證據,資料庫就拒絕刪除它。

這不證明什麼: 雜湊鏈本身不構成對抗本平台的效力,未錨定的區段只通過我們自己的一致性檢查。這句話不是行銷話術,它就印在證據報告上。

就算有第三方時戳,那家時戳公司也是你們自己挑的

你拿得出證據

所以每天的彙總結果會同時送到三個互不相關的地方,其中一個是 Bitcoin。要串通就得串通全部,而其中一個沒有人可以串通。

機制與限制

就算有第三方時戳,那家時戳公司也是你們自己挑的

每天結束後,當日所有簽署彙總成一棵 Merkle 樹。葉節點為 SHA-256(0x00 ‖ 正規化原文),內部節點為 SHA-256(0x01 ‖ 左 ‖ 右),前綴用來區分兩者,避免以葉節點偽造內部節點;奇數節點直接升位而非複製自己。葉節點原文採長度前綴格式(名稱=位元組長度:值),欄位順序固定為 v, signature_id, request_id, contract_id, chain_head_hash, chain_head_seq, signed_at——公開於證據報告,可自行重算。樹根連同一段自我描述的敘述(含日期、格式版本、樹根、當日筆數)送往三處:RFC 3161 時戳(多家機構備援,並記錄實際簽發的那一家)、Sigstore Rekor 公開透明日誌、OpenTimestamps(最終寫入 Bitcoin 交易)。Rekor 的查詢是以該敘述的 SHA-256 反查索引,因此第三方不需要接受我們對「哪一筆是你的」的說法;OpenTimestamps 收據一經 Bitcoin 確認,驗證只需要 Bitcoin——不需要我們、不需要 Sigstore,也不需要 OpenTimestamps 自己還在。證據報告將三者分開列出各自狀態,包含 OTS 尚未確認的等待狀態與確認後的 Bitcoin 區塊高度。報告上印出的是你那一天的實際數值——樹根、Rekor 的 logIndex、Bitcoin 區塊高度——不是說明文字裡的範例;每一個都能拿去對應的公開系統查,而那些系統與本平台沒有關係。

這不證明什麼: 送出去的是一個 64 字元的雜湊值與日期,合約內容、姓名、金額都不在裡面——這既是隱私上的必要,也表示它不證明內容為何。彙總以「天」為單位且當日結束後才建樹,所以今天簽的要等今天過完;稽核雜湊鏈之前的舊簽署永遠不會被涵蓋,報告會據實寫出。OpenTimestamps 顯示「已送出,尚未確認」時,該收據還不構成可獨立驗證的時間證明,通常需數小時——期間即使該摘要其實已被寫進某筆 Bitcoin 交易,報告仍不會顯示區塊高度,因為在收據補完之前,「你的摘要在那筆交易底下」是 calendar 的說法而不是可驗證的路徑。我們選擇讓報告晚一點說,而不是早一點借別人的話說。最後:沒有任何法條因為一份資料的雜湊出現在 Bitcoin 上而提高它的地位,提高的是你的舉證能力。

不是我簽的

你拿得出證據

簽署當下,對方必須先收得到你事先指定的那個信箱的驗證碼;之後每一步都留下時間、來源 IP 與裝置。

機制與限制

不是我簽的

收件地址由發起人填寫,簽署頁只做遮蔽顯示,對方改不了。6 位數驗證碼 10 分鐘有效、連錯 5 次即作廢、60 秒才能重寄、整份邀請最多寄 5 次。簽署歷程逐筆記下寄出邀請、驗證通過、首次開啟合約、勾選同意聲明、完成簽署的時間、來源 IP 與 User-Agent。證據報告記的是實際達到的級別,並把 L1 到 L4 的對照整份印出來——L3 多因子(Email + Passkey 裝置驗證、Email + 與指定信箱一致的 Google/Microsoft 帳號登入,或 Email + 發送至發起人指定門號的簡訊驗證碼;屬進階選配,發起組織需個別授權)達成時如實記載,L4 憑證式數位簽章(經 TWID 行動身分識別後由 TWCA 簽發憑證、對合約 PDF 完成數位簽章;同屬進階選配)達成時亦如實記載——整張表印出來,就是為了不讓任何一級被讀成天花板。

這不證明什麼: L2 證明的是簽署當下對方能收取那個指定信箱的郵件,不是自然人身分:信箱可能多人共用、設有轉寄或由他人代收。我們不寫「已驗證身分」,系統也沒有任何證件、自然人憑證或工商憑證的查核。

是我簽的沒錯,但我沒有權限代表公司

你拿得出證據

他當時對自己權限說過什麼,逐字留著;你事先填的公司資料和他自己填的,並排印在報告上。

機制與限制

是我簽的沒錯,但我沒有權限代表公司

同意聲明含「本人確認上開簽署人姓名、職稱及公司資料正確,並確認本人有權代表上開簽約方簽署本合約」,送出當下的全文原樣快照進簽署紀錄。證據報告另外把「發起人預期」與「簽署人聲明」逐欄並列,共五欄:公司名稱、統一編號、簽署人姓名、職稱、Email 網域,每欄標成相符/不相符/僅聲明,無預期可比/僅預期,未經聲明/雙方均未提供。不相符不會擋下簽署,兩份都按原樣保存、不做調和——差異本身就是一項事實。

這不證明什麼: 比對只做全形半形、大小寫、空白與公司法律形式(「股份有限公司」與「(股)」)的正規化,沒有模糊比對。第三欄「政府公開資料」是簽署當時向經濟部商業司公司登記資料查得的快照,只能證明登記內容當時如此——報告寫的是「公司登記比對:相符」,不是「代表人已驗證」,因為登記資料不能證明螢幕前的人就是那個自然人,也不認定他是否真的有權代表;勾選同意聲明不會憑空創造代理權,留下的是他當時對自身權限的明確陳述。

你們哪天收掉了,我上哪拿文件

你拿得出證據

不必來找我們。簽署完成的那一刻,文件就已經以附件寄進雙方各自的信箱了。

機制與限制

你們哪天收掉了,我上哪拿文件

簽署交易完成後,系統在背景自動寄出完成通知,合約 PDF 與證據報告 PDF 是真正的 MIME 附件,不是下載連結——副本落在雙方各自的信箱裡,不依賴本平台繼續存在。發起人與簽署人各收各的一封。信中直接印出 contract.pdf 與 evidence-report.pdf 的 SHA-256,以及定稿內容指紋,並註明這三個值涵蓋的不是同一件事:前兩個是附件的位元組雜湊,最後一個才是時戳簽發的對象。

這不證明什麼: 附件受寄送服務單封 10MB 上限,超過時會降級,並在寄送狀態上如實標示「未附上」哪一份;若 PDF 渲染失敗則整封信不寄——我們不寄一封宣稱附了文件卻沒附的信。

你給我的那份,跟你自己留的那份,本來就不會一樣

你拿得出證據

會一樣。兩邊拿到的合約 PDF 都不是各自的瀏覽器印出來的,而是同一個伺服器渲染出來的同一組位元組。

機制與限制

你給我的那份,跟你自己留的那份,本來就不會一樣

合約 PDF 一律由伺服器端 headless Chromium 渲染,版本釘死在 Chrome for Testing 152.0.7977.54:色彩描述檔釘在 sRGB、關閉字型 hinting 與 LCD 次像素平滑、時區釘在 Asia/Taipei、viewport 與 device scale factor 固定。輸出後再把 PDF 裡唯一會逐次變動的 /CreationDate 與 /ModDate 正規化成固定值;萬一 trailer 出現 /ID,渲染直接失敗,而不是默默產生一份日後對不起來的檔案。合約定稿後內容不再變動,因此同一份合約每次渲染都得到同一組位元組。

這不證明什麼: 這個保證只涵蓋合約 PDF。證據報告會隨後續事件繼續增長——每成功寄出一次就多一筆寄送紀錄——所以兩份證據報告 PDF 未必逐位元組相同。我們不宣稱系統裡封存了一份 PDF 檔案:持久保存的是合約內容與它的指紋,PDF 是按需重新渲染的。

中間那一頁被抽掉換過,你看得出來嗎

你拿得出證據

每頁蓋同一顆章看不出來。把章切成片、每頁一片,對不上就看得出來。

機制與限制

中間那一頁被抽掉換過,你看得出來嗎

騎縫章把公司大小章等寬切成 N 片,每頁右緣各印一片、垂直位置固定;頁面依序排好時印章才完整,抽掉一頁、換掉一頁或頁序被動過,切片就對不起來。需先在「設定 → 組織設定」上傳公司大小章才能啟用,2 頁以上才會蓋,可逐份開關或設成新合約的預設,定稿後鎖定。

這不證明什麼: 這是紙本上的視覺辨識,不是密碼學保護:印章圖可以被複製,整份重印也能重新對齊。而且騎縫章設定不在定稿指紋的涵蓋範圍內——防竄改靠的是內容雜湊、RFC 3161 時戳與稽核雜湊鏈,不是這顆章。

要證明我這份在你們的紀錄裡,是不是等於把你們所有客戶的簽署都攤出來

你拿得出證據

不用。對外只要一個樹根,你那一份照樣證明得出來,而別人簽了什麼、簽了幾份,都看不出來。

機制與限制

要證明我這份在你們的紀錄裡,是不是等於把你們所有客戶的簽署都攤出來

每日彙總把當天完成的所有簽署收攏成一棵 Merkle 樹,對外送出的只有樹根(送往哪些地方見上方「時戳公司也是你們自己挑的」一則)。證據報告印出你那一筆的葉節點原文(逐字)、葉節點雜湊、在當日的位置(第 N 片,當日共 M 片),以及 inclusion proof 的每一步:兄弟節點雜湊完整印出,方向標成「左(在前)」或「右(在後)」。葉節點算 SHA-256(0x00 || 原文)、內部節點算 SHA-256(0x01 || 兄弟 || 目前值),以 domain separation 區隔兩者,你可以照著自己重算回樹根。證明是每次即時重算而不是存起來的,避免存下來的證明日後與實際資料對不上。

這不證明什麼: 彙總本身不證明我們沒有重建整棵樹,產生效力的仍然是樹根被送到的那些第三方。當日的樹要等該業務日結束後才建立,因此當天完成的簽署會先顯示為尚未納入。

滑鼠移到卡片上會暫停;點一下會停下來,方便閱讀。

這些限制我們寫在自己的產品裡,不只寫在這一頁:證據報告會把未錨定的區段標成未錨定,把尚未提供的驗證級別標成尚未提供。

法律效力鏈

一份合約,四種不同的證明

範本工具幫你把字打出來,這裡多做的是後面那一段。往下捲,右邊會跟著換成那一個環節在系統裡真正長出來的畫面。

  1. 01 · 定稿

    定稿指紋(SHA-256)

    證明:內容沒有被改過

    定稿當下對內容原文計算 SHA-256,完整雜湊可一鍵複製,並印在 A4 文件最後一頁的「數位認證指紋」區塊。任何人拿到同一份內容,用標準工具重算都會得到一模一樣的值。

  2. 02 · 簽署

    對外簽署證據

    證明:對方確實表示同意

    對方不必註冊,開連結就能簽。預設要先輸入寄到你指定信箱的 6 位數驗證碼才讀得到合約;系統記下簽署人姓名職稱、所簽的版本與內容雜湊、來源 IP、瀏覽器 User-Agent、手寫簽名圖,以及當下那份同意聲明的全文快照。

  3. 03 · 時戳

    可信時戳(RFC 3161)

    證明:內容在那個時點就已存在

    把定稿指紋送交獨立的第三方時戳機構取得憑證。下載 .tsr 後,對方或律師用 openssl 就能自行驗證——不需要登入這套系統,也不需要相信我們。

  4. 04 · 報告

    稽核軌跡與證據報告

    證明:整段歷程說得清楚

    建立、每一次存版本(附該版雜湊)、狀態流轉、審批、線上簽署、取得時戳,串成一條只增不改的時間線,可列印成「合約稽核證據報告」。報告另含稽核軌跡雜湊鏈與每日彙總,逐段標示已錨定或未錨定,並自動標示雜湊一致或不符。

下載 .tsr 後,用標準工具自行驗證(指令示意)
$ openssl ts -verify \
    -in contract.tsr -data contract.txt \
    -CAfile tsa-chain.pem
Verification: OK

或者,把整個證據包 zip 拖進開源驗證器——在你的瀏覽器裡重算每一項,斷網也能用。 打開驗證器

效力範圍,講在前面

  • 對外簽署係依《電子簽章法》一般電子簽章之概念設計,以簽署意思表示、Email 驗證、文件指紋與稽核軌跡建立證據鏈;並非憑證式數位簽章。
  • 可信時戳由第三方機構簽發,證明內容在該時點已存在,不等同公證;此功能需由系統管理者啟用。

畫面擷取自免登入 Demo,內容為範例合約,非任何真實客戶資料。

簽署與身分

不只證明簽了,還要證明是誰簽的

簽署頁上發生的每一件事都留下紀錄;對方主張「不是我簽的」或「我無權代表公司」時,你拿得出當時的證據。

Email 驗證證明簽署當下對方能收取你指定信箱的郵件,不證明操作者的自然人身分;信箱可能多人共用、設有轉寄或由助理代收,亦不等同自然人憑證或公證。

AI 能力

AI 負責草稿與對照,決定權留給你

每一項 AI 產出都先給你看、由你決定要不要採用;沒有任何一段會自己寫進合約。移到卡片上(或點一下)看細節。

畫面擷取自免登入 Demo,內容為範例合約,非任何真實客戶資料。 AI 產生的內容一定要經法務審閱,它是草稿的起點,不是可以直接簽的文件。Demo 的 AI 回應為本地模擬,因此上面呈現的是介面與輸入,不是模型輸出。

合約的一生

每個階段留下什麼,決定了將來拿得出什麼

從擬稿到存證,一份合約會經過五個階段。每個階段各自提供哪些功能、又各自沉澱出哪一種證據,攤開來看。

  1. 01

    擬稿

    條款、變數與 A4 排版在同一個畫面上;金額、日期、公司名填一次就套進全文,條號自動重排。

    留下的證據: 每一次存版都記下時間、作者與版本說明,並對該版內容算出 SHA-256。

  2. 02

    審閱

    指定審閱人逐位核准,評註掛在條款上;任兩個版本可逐行比對,新增是綠色、刪除是紅色。

    留下的證據: 核准者、核准時間與核准意見逐筆進入稽核軌跡;未核准就不能定稿。

  3. 03

    定稿

    內容鎖定,要再改必須先解除定稿——而解除定稿本身也是一筆紀錄。合約 PDF 由伺服器渲染,雙方拿到的是同一組位元組。

    留下的證據: 定稿當下對該版本原文計算的 SHA-256 指紋,印在證據報告與 A4 文件末頁;同一個指紋送第三方時戳機構取回 RFC 3161 權杖。

  4. 04

    對外簽署

    寄出邀請連結,對方先通過你指定信箱的驗證碼,再勾選同意聲明完成簽署;完成當下雙方各收到一封含 PDF 附件的通知。

    留下的證據: 寄出邀請、驗證通過、首次開啟、勾選同意、完成簽署各留下時間、來源 IP 與 User-Agent,同意聲明全文原樣快照。

  5. 05

    存證

    整條時間線可列印成證據報告、打包成證據包下載。當日所有簽署再彙總成一棵 Merkle 樹,樹根送往公開日誌與 Bitcoin。

    留下的證據: append-only 雜湊鏈、RFC 3161 時戳、每日 Merkle 樹根,以及送往 Rekor 與 OpenTimestamps 的發布紀錄——報告會逐段標出哪些已錨定、哪些還沒有。

擬約效率

排版、編號與重複資訊,交給系統

合約真正花時間的往往不是想條文,而是改條號、對金額、換公司名。這些都自動化掉。

條款自動編號

在中間插進一條新條款,後面所有條號自動往後推,不用再手動改「第七條」「第八條」。

排序條款會警告引用失效

拖曳、鍵盤或直接指定「移到第 N 條」重排條款。套用之前,系統會列出這次重排讓哪些「詳見第八條」改指到別的條款——條號自動重算,但條文裡寫死的字不會,這是最容易靜默出錯的地方。

公司章與承辦人個人章

公司大小章設在組織設定、蓋在單位欄;個人印章由每位成員自己設定、蓋在承辦人欄,指定成員時一併帶入。存進文件的是當下的快照,該成員日後換章或離職都不影響已簽出去的合約。

六種變數型別

文字、日期、數字、金額、清單、圖片。金額型可指定 ISO 4217 幣別與稅額(百分比或定額、外加或內扣),一處改值全文同步。

三層變數作用範圍

本合約變數 › 組織變數 › 內建乙方資料,同名時以合約自己的值優先——全公司通用一套,個別合約要例外就地覆蓋。

範本庫

調好的合約一鍵存成範本,下次用範本出約時先把已知的變數值填一填,直接生出一份可編輯的新合約。

報價單與附件

小計與總計即時計算、常用項目存成料庫重複使用、AI 依工作範圍產生項目,並可掛成合約的「附件一」一起交付。

A4 真分頁預覽

預覽上看到的「第 2 頁 / 共 3 頁」就是印出來的樣子,每頁重複公司信紙頭,不會列印時才發現簽署區被切成兩半。

金額變數的稅額計算僅為文書輔助,實際稅務認定請洽會計師。

版本與協作

每一次改動都留下痕跡

版本、審批、評註都是稽核紀錄的一部分,會一起寫進證據報告的時間線。

版本不會互相覆蓋

每次按「儲存版本」就留下一版,存下去不能刪改;版本說明讓你半年後還認得出這一版改了什麼。

任兩版逐行比對

新增的行綠底、刪除的行紅底,中間沒變動的區塊自動摺疊成「… 12 行未變更 …」,對方偷改哪幾個字一眼就看到。

審閱人全數核准才能定稿

送審時指定審閱人,只要還有人沒核准,「定稿」按鈕就是灰的;任何一位按「要求修改」就立刻退回草稿。

條款層級評註

討論掛在合約甚至掛在某一條上,可標記已解決但不能刪除;評註不會出現在列印稿,也不會被對外簽署的人看到。

定稿後附件跟著鎖定

合約一定稿,掛在它下面的報價單就拒絕修改與刪除,「儲存」按鈕整顆消失。這樣簽署證據涵蓋的內容才不會在事後被改;要調整就把合約退回草稿,附件立刻解鎖。

登入雙因驗證(個人自選)

帳號裡放的是全公司的合約,帳號安全也是紀錄可信的一部分。每位成員可自行開啟登入雙因驗證:密碼之後再完成第二步——寄到帳號信箱的一次性驗證碼,或登入與帳號信箱一致的 Google/Microsoft 帳號(OAuth,方式可自選、隨時可退回信箱驗證碼);開啟、關閉或換方式都要重輸密碼,撿到已登入畫面的人關不掉它。

先看看做出來長什麼樣子

Demo 已備好五份不同狀態的範例合約——含一份已定稿、已線上簽署、並取得可信時戳的 NDA,可以直接打開它的稽核軌跡與證據報告。

登入 / 註冊

範例資料存在瀏覽器分頁裡,不會儲存到伺服器;關掉分頁就消失。