授權效果,而不只是授權存取工具。
存取控制限制軟體能觸及什麼。Execution Authorization 限定它可以造成的確切效果。Action Proof 就是產出這條可驗證鏈的協定:一份針對單一正規作業的、簽章且一次性的 grant,在你掌控的一個點上執行,並以任何人都能離線核對的證據收尾。
授權的密碼學證明。執行結果的簽章證據。Execution Grant 證明授權了什麼;Action Receipt 保存已登錄 Guardian 所能確認結果的簽章證據。
雲端授權,你的 Guardian 執行
依租戶隔離的金鑰與最小權限憑證
簽章收據,可離線驗證
POST https://mcp.securestamp.online/mcp
Authorization: Bearer ss_live_...
{ "jsonrpc":"2.0", "id":1, "method":"tools/list" }有存取權不等於有行動授權
能存取支付處理商,並不等於有權去做某一筆具體退款。
存取
代理程式可以呼叫支付處理商的退款 API
Execution Authorization
refund.create charge ch_89172 amount USD 1,427.00 destination original_payment_method maxUses 1 expires 14:02 UTC
資源授權回答的是一個 principal 可以存取什麼。Execution Authorization 回答的是它可以造成哪一個針對特定交易的效果。即使是 fine-grained 的存取,交易本身仍然沒有定義:哪個資源、多少金額、哪個目的地、幾次。
三步
定義
究竟請求了什麼確切效果?由 Guardian——而不是模型——讀取供應商狀態,並把它正規化成帶有明確參數的正規作業。
授權
在你的政策之內,把該效果綁定到一份簽章且一次性的 Execution Grant,使用協定為該作業所要求的權限。
驗證
在你掌控的一個點上執行,並保留一份可離線重算的簽章 Action Receipt。
read_message_request
僅憑訊號回傳一則訊息究竟在要求什麼。內文從不離開裝置。
analyze_message_intent
把抽象訊號對應為敏感操作意圖。只用訊號,不含原始文字。
verify_counterparty
核對寄件者或對手方是否與租戶登錄資料相符。
get_safe_next_step
依據登錄資料中已宣告的事實,計算出最安全的下一步。
authorize_action
在敏感操作前回傳 Action Verdict、Safe Next Step 與一份收據。
create_action_challenge
對已知對手方建立一次人工雙控核驗。
issue_action_receipt
針對已計算完成的事實簽發一份簽章的 Action Receipt。
get_source_envelope
取回使用者真正看到並核准過的、在裝置上簽章的 envelope。
request_execution_grant
請求一次性 grant 以執行某個確切的效果。在所需的人工或法定人數權限核准之前回傳 HOLD。
get_execution_status
回報一次執行進行到哪一步,包括那些確實仍未確定的結果。
執行層
grant 不是即興發揮的許可
一份 Execution Grant 綁定到一個效果 digest 與生效中的政策版本,會過期,且只能使用一次。你的 Guardian 會在變更前立即重讀供應商狀態,對照自己的 ledger 認領該 grant,並對結果簽章——包括含糊的結果。被重放的 grant 永遠到不了供應商。
- grant 是一次性的,並綁定到唯一一個確切效果 digest。maxUses 恆為 1。
- 所需權限由協定規定;呼叫方無法降級。
- 任何權限授予都需要 M-of-N quorum,且請求者永遠不能核准自己的請求。
- quorum 設定檔是已簽章的政策快照,不是權限取值:證明依賴 threshold、審核人名單與政策 hash。
- 結果為 succeeded、failed_no_effect 或 indeterminate——含糊絕不會被向上取整。
- proof bundle 可離線驗證,不需要回呼 SecureStamp。
寓言 3
代理程式在修改帳戶之前停了下來
某個工作流程收到供應商變更銀行帳戶的請求。它沒有直接更新帳戶,而是帶著一個雜湊與若干抽象訊號,透過遠端 MCP Guard 呼叫 authorize_action。SecureStamp 回傳 needs_confirmation 以及一個 Safe Next Step:向對手方發起核驗。在有人作答之前,什麼都不會執行。
代理程式察覺到一個敏感動作
它辨識出一次銀行帳戶變更,並且只送出結構化訊號與一個 sourceMessageHash。
SecureStamp 核對 tenant 事實
API key 把查詢限定在一個 owner graph、已宣告的政策與已登錄的指令之內。
代理程式收到一個 verdict
回應是一筆包含 Safe Next Step 與 receiptId 的決策記錄,而不是執行許可。
由人或對手方確認
必要時,create_action_challenge 會在作業繼續之前開啟一條人工確認通路。
本地授權上限
雲端授權是必要的,但單靠它永遠不夠。
一份 grant 只有同時符合你的組織簽章並安裝在 Guardian 旁邊的政策,才會變成一次執行。那份政策是 deny-only 的:它固定 tenant、gateway、作業、配接器 manifest、接受的權限與政策版本、資源、參數、金額上限、並行數以及網路目的地。沒有它,生產模式拒絕啟動。
有效權限 =
雲端 grant
∩ 已簽章的本地政策
∩ 配接器約束
∩ kill switchesSecureStamp Cloud 可以把一次授權收得更窄。它無法把授權放得比你的組織在本地允許的更寬。
契約
驗證器會重算什麼
ExecutionGrantV1授權產物。承載效果 digest、權限、政策版本(apol_v1:)與到期時間。maxUses 為 1。
ActionReceiptV2 / V3證據產物。V3 增加了政策版本,以及限定該次執行的已簽章本地政策的 digest(gpol_v1:)。V2 為保留歷史而維持逐位元組相容。
ActionProofBundleV1 / V2第三方重算這條鏈所需的一切。V2 增加了已簽章的本地政策與連接器的 assurance 描述子。
AdapterManifestV1某個連接器作業的自足、不可變描述子。驗證器檢查 bundle 裡的 manifest,而不是重新產生,因此新增作業絕不會讓舊的證明失效。
離線驗證一份 receipt
驗證器是一個獨立發布、沒有網路存取的套件,並且先於它所驗證的產物發布。receipts 可以離線驗證,無需聯絡 SecureStamp,驗證也不依賴執行中的 SecureStamp 服務。
npx --package @securestamp/action-proof-verify action-proof-verify bundle.json
證據的邊界
一份 Action Receipt 證明的是什麼經過了一個已登錄的 Guardian,以及那個 Guardian 能夠確認的結果。它不證明在 SecureStamp 之外沒有發生過任何動作,也不確立供應商帳戶的法律所有權。證據的邊界就是已登錄的執行路徑。