Det öppna protokollet

En öppen standard för transparent agent–app-styrning

App Use är portabelt med avsikt. Det finns inget antagande om vilken agent, vilket ramverk eller vilken leverantör som sitter i andra änden. Vilken agent som helst som talar Model Context Protocol (MCP) kan beskriva, läsa och styra vilken applikation som helst som exponerar en App Use-yta. Vi publicerar protokollet öppet så att hela branschen kan införa det.

SÅ HÄR FUNGERAR DET

Fyra lager, en ledning

Varje lager äger en uppgift. Tillsammans låter de en agent beskriva och styra vilken deltagande app som helst — utan skräddarsydd integration per app.

1

AppSpec

Ett deklarativt dokument som appen publicerar: dess skärmar, de styrbara elementen på var och en (textrutor, knappar, listor), namngivna flerstegsflöden, händelser och åtgärdskatalogen. Varje element bär ett syfte, validering, stödda åtgärder och om det är hemligt.

2

MCP-transport

Appen hostar standardverktygen app.* över en loopback-SSE-MCP-server med en bearer-token per instans. Beskriv, läs en skärm, hämta eller sätt ett värde, anropa en åtgärd, navigera — allt över en enda ledning.

3

Hub-förmedling

En hub samlar många körande appar till en enda MCP-yta: apps.list, apps.launch, apps.stop och app.call för att dirigera ett verktyg till rätt instans. En enda agentanslutning styr varje app.

4

Federering (valfritt)

Många hubbar över enheter bildar ett enda kluster. En agent som är ansluten till vilken hub som helst kan transparent styra appar på varje annan — över ömsesidigt autentiserad TLS på LAN, eller ett totalsträckskrypterat relä över internet.

VOKABULÄREN

En liten, förutsägbar verktygsuppsättning

Varje App Use-app besvarar samma vokabulär, så en agent lär sig den en gång och styr vad som helst. Varje verktyg bär en risknivå; skriv- och exekveringsverktyg går genom samtyckesporten.

VerktygVad det görRisk
app.describeReturnera AppSpecläs
app.read_screenÖgonblicksbild av aktuellt skärmtillståndläs
app.get_valueLäs ett elements värdeläs
app.set_valueSätt ett elements värdeskriv
app.invokeUtlös en knapp/åtgärdexekvera
app.navigateGå till en annan skärmskriv
apps.list / app.callHub: räkna upp + dirigera till en instansförmedla
SÄKERHET & STYRNING

Säkert i sin konstruktion

Kapacitetsomfång

Varje token bär ett av tre omfång — ReadOnly, ReadWrite eller Admin — och varje verktyg styrs av det minsta omfång det behöver. En skrivskyddad agent kan fysiskt inte anropa en åtgärd.

Samtycke med människan i loopen

Innan något skriv- eller exekveringsverktyg körs kan en samtyckesport i processen pausa för ett mänskligt beslut: Tillåt en gång, Tillåt för sessionen eller Blockera. Operatören ser exakt vilken åtgärd som väntar.

Manipuleringssäker granskning

Varje anrop läggs till i en beständig, HMAC-hashkedjad logg. Att redigera eller radera en tidigare post bryter kedjan vid nästa verifiering — så loggen över vad en agent gjorde är tillförlitlig.

Redigering av hemligheter

Element märkta som hemliga redigeras bort överallt — läsningar, ögonblicksbilder, live-flödet och granskningsloggen — så att lösenord och nycklar aldrig läcker genom ytan.

Krypterat mellan enheter

Hub-till-hub-trafik på ett LAN körs över ömsesidigt autentiserad TLS, fäst till en privat kluster-CA. Över internet krypterar en Noise-IK-handskakning varje ram totalsträckskrypterat — även reläet ser bara ogenomskinliga byte.

Snabb återkallelse

Signerade, monotona återkallelselistor sprids över ett kluster inom ungefär 60 sekunder, så en komprometterad behörighet är en enda spak att dra i.

Den fullständiga specifikationen publiceras

Det fullständiga ledningsformatet — AppSpec-schemat, den fullständiga verktygsreferensen app.* och apps.*, granskningsloggformatet och federeringens peer-kontrakt — förbereds för öppen publicering här. Vill du ha tidig åtkomst eller hjälpa till att forma specifikationen? Hör av dig.