EMILIA Protocol
官方要求指定的人類在AI代理執行不可逆操作(如付款釋放、記錄變更、部署)前,提供可離線驗證的批准。雙人規則、Ed25519信任收據、IETF起草、Apache-2.0。
你可以用 EMILIA Protocol MCP 做什麼?
-
掃描已宣告的工具表面 — 執行
npx @emilia-protocol/scan protect ./tools.json以對應支援的動作,並在保護工作流程前檢閱產生的清單。 -
簽發離線收據 — 使用
npx @emilia-protocol/issue demo在本機產生 Trust Receipt,無需 API 金鑰或後端。 -
在瀏覽器中驗證收據 — 將任何收據貼到 emiliaprotocol.ai/verify 以離線檢查其真實性;不會上傳任何內容。
-
執行 AEB-1 符合性測試 — 執行
npx @emilia-protocol/verify aeb-conformance --reference以測試證據到效果邊界,採用原生驗證與無盲目重試行為。 -
使用 Gate 保護 MCP 工具 — 包裝如
release_payment或delete_repo等工具,使其在沒有有效收據時拒絕執行,如隨附的 MCP 範例所示。 -
將 EMILIA 加入 Claude/Cursor/Cline — 執行
npx -y @emilia-protocol/mcp-server以將權限控制平面整合到您的 AI 助理中。
文件
EMILIA Protocol
AI 代理正在成為工作者。工作者需要權限。
EMILIA 是自主工作的權限控制平面。 Gate 是後果邊界——代理的憑證化意圖在此變成對金錢、程式碼、權限、記錄或基礎設施的變更。人類或機構定義有限的操作授權;Gate 在受保護的提供者路徑開始之前,據此檢查確切的工作單元。
Gate 是該邊界上的商業後果防火牆(Consequence Firewall)。它驗證所有者對確切動作所要求的權限,在進入提供者之前保留該權限,允許一次被認可的提供者嘗試用於其持久權限域內所涵蓋的授權實例,並留下受保護路徑所認可及之後觀察到的可攜證據。當結果未知時,它要求對帳而非盲目重試。Protocol 證明。Gate 防範。
- Authority Brain 在本機對應已宣告的動作表面。無需帳戶、上傳或回呼。探索本身不產生權限;所有者審閱對應圖。
- EMILIA Gate 將已核准的對應圖與操作授權轉化為完全中介、持有憑證的執行器路徑上的預防性控制。
- EMILIA Protocol 是開放式 Apache-2.0 基礎層,用於精確動作身分、原生證據驗證、證據組合、持久入場狀態與可攜工作記錄。
- EMILIA Approver 在授權或本機政策要求新的真人權限時,擷取裝置綁定的精確動作真人決策。真人點擊是權限來源之一,而非預設執行模型。
- EMILIA Assurance Plane 提供限域驗證、重新執行、符合性報告與部署證據。它支援稽核員、保險公司、監管機構與客戶;EMILIA 不是稽核員或認證機構,目前也沒有公開的 EMILIA 認證計畫在運作。
執行本機對應(npx @emilia-protocol/scan),選擇一個具後果的工作流程,並將 Gate 放置在提供者憑證將意圖轉化為工作的位置。
第一個低摩擦的發布設定檔是 GitHub:開放式 Merge Gate 在受保護的 merge 檢查通過之前,將儲存庫擁有的授權與分離式收據綁定到確切的 base 與 head commit。只有當儲存庫將該檢查設為必備並關閉替代 merge 路徑時,它才是預防性的。這是一項產品與發布實驗,並非外部採用的證據。
代理可以繼續執行。它的權限停止。
持續且自我改進的代理創造了一個單靠終止程序無法解決的控制問題:所有者可能需要停止新的後果,而無需聲稱運算已停止或外部效果已被逆轉。Gate 的 Emergency Authority Freeze 將其轉化為持久的權限轉換。在涵蓋的 Gate 控制域內,凍結會封鎖新的保留,並防止較舊的保留在控制紀元變更後進入。如果提供者進入已先行序列化,該操作仍會被消耗且必須對帳;恢復會再次推進紀元,且不會復活舊權限。
此保證需要完整中介與具權威性的共享狀態。它不會停止代理、撤銷已進入的效果,也不會在斷開的租賃域上提供即時凍結。目前參考實作涵蓋本機記憶體與 PostgreSQL 控制域;租賃邊緣傳播與可攜簽章凍結事件證據仍是明確的實作缺口。
具名的付費工作流程仍是付款方 AI 輔助的醫療必要性不利判定,並遵循一條安全規則:無有效的持證審查證據,即無不利判定。缺失證據導向合法的真人審查或保護患者的備援方案;它不是扣留醫療必要照護的權限。
AI 系統與儲存庫審查者: 從 AI_CONTEXT.md 開始。 目前機器可讀的證據、來源、假設與排除項目發布於 EMILIA-REPO-CONTEXT-v1。 已封存或暫存的文件不構成目前實作或 IETF 狀態的依據。 公開盡職調查證據與主張邊界:DUE_DILIGENCE.md。
工程證據,而非架構宣稱
EMILIA 提供審查者可以執行的安全案例。目前儲存庫解析 259 個雜湊證據檔案上的 35 項安全主張,在兩個組合的 Dolev-Yao 模型中驗證 20 個 Tamarin 引理——17 個全軌跡義務與 3 個 exists-trace 可達性見證——並保留 8 個刻意弱化的變體,當負載關鍵檢查被移除時會產生具體的攻擊軌跡。現行同團隊符合性語料庫包含 21 個套件與 331 個現行向量。另外,外部撰寫的 Rust 驗證器固定於凍結的 16 套件/164 向量 套件與 359 案例敵意活動。更廣泛的套件包含 533 個檔案中的 8,865 個自動化測試。
生產 JavaScript 與 JSDoc 表面使用 TypeScript checkJs 進行編譯器檢查;安全應用程式有自己的相容性編譯器專案,而宣告與公開 TypeScript SDK 則以嚴格模式檢查。這是完整配置的生產型別檢查涵蓋範圍,並非聲稱儲存庫已整體從 JavaScript 轉換為 TypeScript,或每個 JavaScript 專案都已啟用 TypeScript 的 strict 選項。
每項安全主張都指名執行路徑、正負向量、語言涵蓋範圍、正式範圍或明確缺口、假設、排除項目與證據雜湊。從人類可讀的證據對應圖開始,然後檢查已解析的安全案例或執行 npm run check:security-case。
AEB-1:測試證據到效果的邊界
開放的 AEB-1 Consequence Admission Conformance
封包測試具後果動作之前的最後控制點:原生驗證、依賴方接受、精確 CAID/動作比對、證據滿足、本機授權、原子保留、INVOKING 保管、分離的提供者結果與觀察效果真相、無盲目重試行為,以及已驗證的對帳。
npx @emilia-protocol/verify aeb-conformance --reference
它是格式中立的且可自行執行。通過的報告是自我聲明的符合性證據——不是稽核、認證、生產部署聲明,或執行動作的許可。
如需儲存庫 Gate 路徑的聚焦可執行證明,請執行:
npm run proof:gate:reference
此指令使用產生的金鑰、記憶體狀態與模擬提供者行為,演練本機範例與聚焦的服務邊界。它是有用的本機證明,但不是真實人類、外部銀行、生產部署或端到端生產整合的證據。
身分不是職務描述
身分說明是誰或什麼在呼叫。政策說明一般允許什麼。兩者都不定義自主工作者現在可以執行的有限工作:其任務、重大動作限制、預算、所需證據、有效期、委派規則與例外路徑。
EMILIA 將這些問題分開:
| 層 | 問題 |
|---|---|
| Identity | 在場的是誰或什麼? |
| Policy | 一般允許什麼? |
| Authority | 在此授權下,此代理可以執行哪些確切工作? |
憑證授予觸及範圍。權限定義工作。並非每個動作都需要真人;每個具後果的動作都需要有效權限。
在基礎層,EP Core 仍公開三個可互操作物件:Trust Receipt 攜帶可歸因證據,Trust Profile 表示結構化的信任狀態,而 Trust Decision 記錄依賴方經政策評估的結果。權限控制平面各層增加精確動作綁定、有限授權、入場、消耗與結果證據,而不會將這些物件併入單一主張。
設定一次授權。讓代理工作。
客戶定義任務、限制、證據要求、有效期與例外規則。本機程式碼可以縮小該權限;它不能發明或擴大它。Gate 將每個可執行請求綁定到授權,在提供者進入之前保留涵蓋的權限,允許一次被認可的提供者嘗試用於共享持久權限域內該授權實例,且僅在權限缺失、過期、耗盡或過窄時升級。
隨附的 MCP 範例示範一種政策設定檔,其中需要在邊緣進行新的真人決策。它們執行完整的本機迴路——拒絕缺失證據、簽署精確動作、認可一次提供者嘗試、拒絕偽造證據——而不聲稱每個自主動作都需要真人點擊:
node examples/mcp/payment-server.mjs # release_payment — refuses without a receipt
node examples/mcp/github-admin.mjs # delete_repo — refuses without a receipt
node examples/mcp/prod-deploy.mjs # deploy_production — refuses without a receipt
更深入的組合示範透過 Gate 的實際受限能力路徑執行 CAID 綁定的委派付款,然後離線驗證簽署的執行憑證:
npm run demo:receipt-program
它刻意不包含區塊鏈或模擬零知識聲明。請參閱收據程式架構 以了解生產狀態與信任要求。
先針對你宣告的工具表面進行乾跑,然後產生可審查的整合檔案:
npx @emilia-protocol/scan protect ./tools.json
npx @emilia-protocol/scan protect ./tools.json --apply
node emilia/verify-setup.mjs
產生的本機檢查使用明確暫時性的示範狀態,且僅證明其合成處理器未被呼叫。生產環境需要持久的來源帳本、共享的原子消耗儲存、固定的金鑰,以及通往真實提供者憑證的每一條路徑上的包裝。請參閱
examples/mcp/ 與 /mcp。
30 秒內試用
# Issue a receipt offline — no API key, no backend needed
npx @emilia-protocol/issue demo
# Add EMILIA to Claude / Cursor / Cline
npx -y @emilia-protocol/mcp-server
試試真實的 Face ID 簽核 → 使用你自己的 passkey 核准一筆 82,000 美元的電匯。看看 VERIFIED 長什麼樣子。偽造收據。看看它失敗。
在瀏覽器中驗證任何收據 — 貼上即可,不會上傳任何內容。
運作方式——一個權限生命週期

自己執行:
node examples/crash-test.mjs— 完全離線,無需 API 金鑰。
[ MANDATE ] [ EXACT WORK ] [ VERIFY ] [ RESERVE + ENTER ] [ RECONCILE ]
mission, limits canonical action pinned native one admitted preserve provider
evidence, expiry + occurrence evidence provider entry and effect truth
授權。 權限來源定義有限工作。它可以是客戶簽署的營運方案、受限能力、必要的真人決策、法定人數,或依賴方對原生證據的組合。
精確工作。 Gate 將方法、來源、被呼叫者、目標、發生次數與每個重要欄位綁定到規範的可執行物件。意圖、提示或工單文字不是該物件。
驗證、保留與進入。 原生工件保持原生。依賴方固定信任與對應設定檔、評估完整的證據要求、做出獨立的本機授權決策,並在持有憑證的介面卡進入提供者之前保留涵蓋的權限。
需要時的新真人權限。 政策可以要求綁定到精確動作與確定性顯示雜湊的 WebAuthn/passkey 決策。這縮小了「你看到的就是你簽署的」的差距;它不證明理解、智慧、合法性或結果。
對於企業部署,Gate 可以額外要求獨立驗證的 Authorization Server 確認,綁定到該確切的真人證據、相同的精確動作、AS 實際觀察到的身分快照,以及預期的 Resource Server 金鑰。快照時間與依賴方最大年齡是明確的:新鮮的 token 不能讓過期的目錄資料變新。AS 環節是客戶固定信任下的證據;它本身永遠不授權、不證明即時雇用狀態,也不會將代理編排器變成權限來源。
真實的結果。 准入不等於執行,執行不等於效果。已簽署的記錄可離線驗證;提供者與觀察者的證據保持分離。遺失的回應變成 INDETERMINATE,這是需要調解的狀態——而非重試的許可。補救措施是新的授權動作,絕不覆寫舊結果。
開發者為何使用它
先在本機端對映工作內容,然後以 MCP 伺服器或輕量 SDK 包裝器保護一個已宣告的動作介面。掃描器提出可審查的對映;擁有者定義授權任務;Gate 持有提供者憑證,並在涵蓋路徑上執行精確動作。沒有任何掃描能證明完整的仲介覆蓋,而僅憑發現並不授予任何權限。
# langchain-emilia — wrap any LangChain tool with an EP gate
from langchain_emilia import EmiliaGateClient
gate = EmiliaGateClient(base_url="https://www.emiliaprotocol.ai", api_key="...")
safe_tool = gate.wrap(your_destructive_tool)
pip install langchain-emilia # PyPI
npm install @emilia-protocol/verify # npm
代理程式獲得執行有限工作的能力,而非可自行重新詮釋的常設憑證。
企業為何需要它
代理程式流程會重新啟動,模型也會變更。客戶的授權任務、消耗狀態、撤銷、不確定性與工作歷史必須保存在這些流程之外。EMILIA 將持久授權狀態保存在客戶邊界,同時透過固定的轉接器接受外部憑證。
受管理的 Gate 與 Assurance Plane 在開放協定周圍增加授權任務操作、整合、證據操作、重新執行、支援與服務等級。客戶仍保有對權限、信任根、憑證、政策與可攜證據的控制。
標準
EMILIA Protocol 是開放且採用 Apache-2.0 授權。其標準工作以一系列個人網際網路草案(Internet-Draft)的形式發布。已發布的 Internet-Draft 並非 RFC、非被採納的工作組項目,亦非 IETF 認可;修訂與狀態以 Datatracker 為準。
標準四文件呈現表面
為方便讀者導覽,標準證據路徑如下:
- Authorization Receipts-11 定義綁定動作的核准證據設定檔。目前發布的修訂版本為 -11,以標準軌候選個人提交形式提出。
- Human Authorization Binding-00 將具名人類授權工件綁定至相鄰的主機記錄。
- Authority Introduction-03 建立依賴方固定的信任根與範圍化權限。
- Authorization Evidence Chain-05
評估原生驗證且動作相符的證據是否滿足依賴方的要求;它回傳
SATISFIED或UNSATISFIED,絕不回傳AUTHORIZED。
此四文件表面僅供呈現之用。它不會合併、退役、取代、更新、使任何活躍組合中的草案過時、從屬化或降級。
獨立的執行時執行主幹
執行時路徑為 Architecture-02 → CAID-02 → AEC-05 → AEB-03: 系統邊界、精確實質動作比對、證據滿足,接著是執行端准入與持久後果保管。AEC 出現在兩個視圖中,是因為證據滿足會饋入執行時准入,而非因為兩個視圖等價。
完整的活躍組合仍為 23 筆 Datatracker 記錄:20 筆活躍的 draft-schrock-* 記錄與三筆共同著作記錄,各有其範圍與修訂歷史。請參閱標準指南、組合總覽與機器可讀的狀態清單。
| IETF Internet-Drafts | 目前本機快照:已發布清單 · 權威即時狀態:IETF Datatracker |
| 跨語言驗證器 | JavaScript · Python · Go — 三者在每次推送中均對對抗式一致性向量達成一致(npm run conformance)。此為單一團隊移植之間的一致性檢查,而非隔離實作的獨立實作。另外,外部作者依規格撰寫的 Rust 實作(原始碼公開)在評估者控制下從不可變原始碼樹重建,通過固定 16 套件/164 向量測試包與固定 359 案例敵意測試。其簽入的建構證據仍為實作者簽署,而非第三方認證(簽署聲明);嚴格的隔離實作驗收尚待修正後的第三方認證清單與獨立固定的認證者金鑰。 |
| 形式模型證據 | 在其組態狀態空間中維持 26 個有界 TLA+ 安全屬性;這並非實作精煉或無界證明 · 35 個 Alloy 事實、橫跨四個模型的 32 個斷言 · 兩個組合符號 Dolev-Yao 模型,涵蓋挑戰、CAID、兩個核准、發行者與權限固定、登錄視圖、撤銷、消耗、執行與六個專用主張邊界。二十個 Tamarin 引理通過驗證 — 17 個全軌跡義務與 3 個存在軌跡見證;八個刻意弱化的變體在移除承重檢查時產生具體攻擊軌跡(formal/tamarin/)。 |
| MCP 登錄 | 官方 MCP 登錄 · Glama(A 級、官方徽章) · Smithery |
| 授權 | Apache-2.0 |
三個同團隊參考移植(JS / Python / Go)在全部 21 個套件與 331 個向量上達成一致。另外,外部作者撰寫的 Rust 實作從固定的公開原始碼樹重建,通過固定的 16 套件/164 向量隔離實作測試包與 359 案例敵意測試,並在每次變更時於其自有 CI 通道重新執行。較新的 AEC 驗收與四結果調解套件不歸屬於 Rust。這是外部互通性證據,而非嚴格的隔離實作建構驗收;彙總 CI 案例記錄嚴格驗收次數為零,等待獨立認證。請參閱 CONFORMANCE.md,或自行在 emiliaprotocol.ai/verify 驗證收據。
權限堆疊
| 層級 | 功能 |
|---|---|
| Mandate | 定義任務、限制、證據、到期、委派與例外規則。 |
| CAID / 精確動作 | 凍結具體可執行物件,使證據無法移至不同工作。 |
| AEC | 評估經獨立驗證且相符的證據是否滿足依賴方要求;它不進行授權。 |
| AEB / Gate | 做出本機授權決定、保留涵蓋權限,並控制提供者進入。 |
| 結果證據 | 將呼叫、提供者回應、觀察到的效果與不確定性保持區分。 |
證明要點
| 指標 | 數值 |
|---|---|
| 自動化測試案例 | 8,865 個,橫跨 533 個檔案;所有平台適用的案例均須通過 |
| TLA+ 安全屬性 | 在組態狀態空間中維持 26 個有界不變量;非實作精煉或無界證明 — 請參閱 PROOF_STATUS.md |
| Alloy 關係斷言 | 35 個事實 + 橫跨四個模型的 32 個斷言 — 已在 CI 中驗證 |
| 紅隊案例目錄 | 85 — RED_TEAM_CASES.md |
| 發布安全狀態 | 儲存庫安全檢查通過;受稽核變更上的每個 Strix 發現均以回歸覆蓋補救,其審查討論串已解決 |
| 一致性(7/7) | node conformance/ep-conformance-test.js https://www.emiliaprotocol.ai |
| 跨語言一致性 | 331 個向量 · 21 個套件:收據 · 裝置簽核 · 四結果調解 · 多方法定人數 · 撤銷 · Outcome Binding(語意 + 真實加密) · Authority Document/Proof 發行者連接 · 時間認證 · 信任收據(x2 設定檔) · 來源 · 證據記錄 · 正規化 · 邊界 · AEC 驗收 · 貨幣性 · 發起者認證 · 消耗證明 · 見證 · 時間戳證明(RFC 3161)。JS / Python / Go 驗證器達成一致(node conformance/run.mjs)。外部 Rust 基準仍為 164 個向量 / 16 個套件。請參閱 CONFORMANCE.md。 |
| 握手建立 p95 | 50 個虛擬使用者下 575ms — PERFORMANCE_PROOF.md |
核心協定物件
| 物件 | 說明 |
|---|---|
| 權限程式 / 有界能力 | 具有明確範圍、預算或單位、到期、委派與消耗規則的有限授權任務。 |
| CAID | 在具名對映設定檔下,單一實質動作的標準識別碼;比對不等於授權。 |
| 證據要求與 AEC 結果 | 依賴方固定的規則及其 SATISFIED、UNSATISFIED 或 INDETERMINATE 評估。 |
| AEB 准入與保管記錄 | 執行端關於授權、保留、提供者進入與調解狀態的記錄。 |
| 授權與結果證據 | 可攜的原生或 EP 工件,保留其精確的發行者、範圍與主張邊界。 |
快速入門
- 執行
npx @emilia-protocol/scan protect ./tools.json以對映支援的已宣告介面。 - 檢閱產生的動作清單、實質欄位、憑證與具名盲點。
- 在持有提供者憑證與持久消耗狀態的路徑上安裝 Gate。
- 定義操作授權任務與任何新的人類或法定人數例外規則。
- 在啟用執行前,執行拒絕、精確動作、重播、逾時與調解案例。
90 秒示範 · 快速入門 · 代理程式逐步解說 · IETF 草案 · Discord
EP 是什麼 — 以及不是什麼
EMILIA 是自主工作的權限基礎設施,而非身分系統、錢包、聲譽評分、結算軌道或通用政策引擎。
- 是:有限操作授權任務的控制平面、精確動作驗證、持久准入狀態、真實的不確定性,以及涵蓋執行者路徑上的可攜證據。
- 不是:OAuth/OIDC、工作負載身分或政策引擎的替代品。這些仍是在依賴方固定條件下的原生輸入。
- 不是:要求人類核准每個動作的要求。授權任務可允許在有限範圍內的自動工作,僅在邊界要求新的權限。
- 不是:已准入動作成功執行或產生預期效果的證明。
- 不是:專有協定控制。核心為 Apache-2.0,且 Internet-Drafts 為個人提交,而非 RFC 或 IETF 認可。
請參閱 CONFORMANCE.md · SECURITY.md · THREAT_MODEL.md · GOVERNANCE.md · Neutrality Covenant