---
{
  "id": "platform.local.confirmation-and-remote-approval",
  "topic": "local",
  "title": "Local 逐次確認與遠端核准",
  "locale": "zh-TW",
  "version": "2026-09-05",
  "summary": "Local desktop action 通過一般 capability 檢查後即可執行；只有刪除檔案會等待一次性綁定核准。",
  "content": "Action registry 是 confirmation policy 的唯一真實來源。只有刪除操作會 use `UserConfirm`：`arinova.local.fs.delete` 是唯一需要確認的 local desktop action。其他 local desktop action 通過一般 capability 檢查後都使用 `None`，包括檔案寫入與搬移、`shell.run`、App 操作、剪貼簿操作、擷取螢幕及 input action。\n\nServer 在送出需確認的刪除 action 前，會先持久化綁定 device、call ID、client message ID、sequence、action／version 參數雜湊、遮罩摘要與期限的一次性 confirmation。Protocol v2 Desktop 會顯示確切參數、回報提示已就緒，並只在 server 回送完全匹配的 approved decision 後進入 executor。拒絕、逾時、斷線、binding 不符、重播或跨裝置 decision 都會 fail closed。Desktop 回傳 `cancelled` 時會正規化為 `DESKTOP_TOOL_CANCELLED`；除非使用者明確要求再次嘗試，否則不可自動重送。\n\nOwner 可在 remote approval UI 對同一筆 pending delete binding 作決定。Lifecycle 值為 `pending`、`approved`、`rejected`、`expired`、`cancelled`，每次 transition 都會連同 decision source 寫入 audit。Bypass 需要近期 2FA step-up，最長 600 秒，且綁定 user、device、Agent。保留的 legacy shell-bypass validator 仍把 shell 綁定 exact arguments，但非 delete action 不會建立 confirmation binding。僅看到 prompt 或 approval 不代表已執行，必須等待 action result。\n",
  "aliases": [
    "桌面確認",
    "本地核准",
    "遠端核准",
    "confirmation cancelled",
    "approval bypass",
    "不在電腦旁"
  ],
  "tags": [
    "local",
    "execution",
    "remote-approval",
    "safety"
  ],
  "relatedActions": [
    "arinova.local.fs.read_file",
    "arinova.local.fs.write_file",
    "arinova.local.fs.move",
    "arinova.local.fs.delete",
    "arinova.local.shell.run",
    "arinova.local.shell.which",
    "arinova.local.app.open",
    "arinova.local.app.close",
    "arinova.local.app.list",
    "arinova.local.clipboard.read",
    "arinova.local.clipboard.write",
    "arinova.local.system.open_url",
    "arinova.local.screen.capture",
    "arinova.local.input.click"
  ],
  "relatedActionPrefixes": [],
  "url": "https://docs.arinova.ai/zh-tw/kb/local/confirmation-and-remote-approval/"
}
---

Action registry 是 confirmation policy 的唯一真實來源。只有刪除操作會 use `UserConfirm`：`arinova.local.fs.delete` 是唯一需要確認的 local desktop action。其他 local desktop action 通過一般 capability 檢查後都使用 `None`，包括檔案寫入與搬移、`shell.run`、App 操作、剪貼簿操作、擷取螢幕及 input action。

Server 在送出需確認的刪除 action 前，會先持久化綁定 device、call ID、client message ID、sequence、action／version 參數雜湊、遮罩摘要與期限的一次性 confirmation。Protocol v2 Desktop 會顯示確切參數、回報提示已就緒，並只在 server 回送完全匹配的 approved decision 後進入 executor。拒絕、逾時、斷線、binding 不符、重播或跨裝置 decision 都會 fail closed。Desktop 回傳 `cancelled` 時會正規化為 `DESKTOP_TOOL_CANCELLED`；除非使用者明確要求再次嘗試，否則不可自動重送。

Owner 可在 remote approval UI 對同一筆 pending delete binding 作決定。Lifecycle 值為 `pending`、`approved`、`rejected`、`expired`、`cancelled`，每次 transition 都會連同 decision source 寫入 audit。Bypass 需要近期 2FA step-up，最長 600 秒，且綁定 user、device、Agent。保留的 legacy shell-bypass validator 仍把 shell 綁定 exact arguments，但非 delete action 不會建立 confirmation binding。僅看到 prompt 或 approval 不代表已執行，必須等待 action result。
