ツールへのアクセスだけでなく、効果を認可する。
アクセス制御はソフトウェアが到達できる範囲を制限します。Execution Authorization は引き起こしてよい正確な効果を限定します。Action Proof は、その検証可能な連鎖を生む protocol です。ひとつの正規オペレーションに対する署名付きの一回限りの 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 に結びつけます。そのオペレーションについて protocol が要求する権限で。
検証する
あなたが管理する地点で実行し、オフラインで再計算できる署名付きの 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
人が実際に目にして承認した、端末で署名されたエンベロープを取得します。
request_execution_grant
正確に一つの効果を実行するための一回限りのグラントを要求します。必要な人間またはクォーラムの権限が承認するまで HOLD を返します。
get_execution_status
実行の状況を報告します。本当にまだ確定していない結果も含みます。
実行レイヤー
グラントは即興の許可ではない
Execution Grant はひとつの効果 digest と有効なポリシーバージョンに結びつき、期限が切れ、ちょうど一度だけ使えます。あなたの Guardian はミューテーションの直前にプロバイダーの状態を読み直し、自分の ledger に対して grant を請求し、結果に署名します。曖昧な結果も含めてです。再生された grant がプロバイダーに届くことはありません。
- grant は一回限りで、ひとつの正確な効果 digest に結びつきます。maxUses は常に 1 です。
- 必要な権限は protocol が定めます。呼び出し側がそれを下げることはできません。
- 特権の付与はすべて 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 キーが照会をひとつの 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ひとつのコネクター操作を表す、自己完結した不変の記述子。検証器は manifest を作り直さず bundle の中身を検査するため、新しい操作が古い証明を無効にすることはありません。
receipt をオフラインで検証する
検証器はネットワークアクセスのない独立した公開パッケージで、検証する成果物より先に出ます。receipts は SecureStamp に接続せずオフラインで検証でき、検証は稼働中の SecureStamp サービスに依存しません。
npx --package @securestamp/action-proof-verify action-proof-verify bundle.json
証拠の境界
Action Receipt は、登録済みの Guardian を通過したものと、その Guardian が確認できた結果を証明します。SecureStamp の外で何の行為もなかったことは証明せず、プロバイダー口座の法的所有権を確立するものでもありません。証拠の境界は、登録された実行経路です。