Het open protocol

Een open standaard voor transparante agent–app-besturing

App Use is met opzet portabel. Er is geen aanname over welke agent, welk framework of welke leverancier zich aan de andere kant bevindt. Elke agent die het Model Context Protocol (MCP) spreekt kan elke applicatie die een App Use-surface blootstelt beschrijven, lezen en aansturen. We publiceren het protocol openlijk zodat de hele industrie het kan adopteren.

HOE HET WERKT

Vier lagen, één verbinding

Elke laag heeft één taak. Samen laten ze een agent elke deelnemende app beschrijven en aansturen — zonder maatwerkintegratie per app.

1

AppSpec

Een declaratief document dat de app publiceert: haar schermen, de aanstuurbare elementen op elk (tekstvakken, knoppen, lijsten), benoemde meerstaps-flows, events, en de actiecatalogus. Elk element draagt een doel, validatie, ondersteunde acties en of het geheim is.

2

MCP-transport

De app host de standaard app.*-tools over een loopback-SSE-MCP-server met een bearer-token per instance. Beschrijven, een scherm lezen, een waarde ophalen of instellen, een actie aanroepen, navigeren — alles over één verbinding.

3

Hub-bemiddeling

Een hub bundelt vele draaiende apps in één MCP-surface: apps.list, apps.launch, apps.stop, en app.call om een tool naar de juiste instance te routeren. Eén agentverbinding stuurt elke app aan.

4

Federatie (optioneel)

Vele hubs over apparaten heen vormen één cluster. Een agent die met een willekeurige hub is verbonden kan transparant apps op elke andere aansturen — via wederzijds geauthenticeerd TLS op het LAN, of een end-to-end-versleutelde relay over het internet.

HET VOCABULAIRE

Een kleine, voorspelbare toolset

Elke App Use-app beantwoordt hetzelfde vocabulaire, zodat een agent het één keer leert en alles aanstuurt. Elke tool draagt een risiconiveau; schrijf- en uitvoer-tools lopen via de toestemmingspoort.

ToolWat het doetRisico
app.describeGeef de AppSpec teruglezen
app.read_screenMaak een momentopname van de huidige schermstatuslezen
app.get_valueLees de waarde van één elementlezen
app.set_valueStel de waarde van een element inschrijven
app.invokeActiveer een knop / actieuitvoeren
app.navigateGa naar een ander schermschrijven
apps.list / app.callHub: opsommen + routeren naar een instancebemiddelen
BEVEILIGING & GOVERNANCE

Veilig vanuit de constructie

Capability-scopes

Elk token draagt een van drie scopes — ReadOnly, ReadWrite, of Admin — en elke tool wordt gepoort door de minimale scope die deze nodig heeft. Een alleen-lezen agent kan fysiek geen actie aanroepen.

Toestemming met mens in de lus

Voordat een schrijf- of uitvoer-tool draait, kan een in-process toestemmingspoort pauzeren voor een menselijke beslissing: Eenmalig toestaan, Voor de sessie toestaan, of Blokkeren. De operator ziet precies welke actie in behandeling is.

Manipulatiebestendige audit

Elke aanroep wordt toegevoegd aan een duurzaam, HMAC-hash-geketend logboek. Het bewerken of verwijderen van een eerdere vermelding breekt de keten bij de volgende verificatie — zodat de registratie van wat een agent deed betrouwbaar is.

Redactie van geheimen

Elementen die als geheim zijn gemarkeerd worden overal geredigeerd — bij reads, snapshots, de live feed en het auditlogboek — zodat wachtwoorden en sleutels nooit via de surface lekken.

Versleuteld over apparaten heen

Hub-naar-hub-verkeer op een LAN loopt over wederzijds geauthenticeerd TLS, vastgepind op een privé cluster-CA. Over het internet versleutelt een Noise-IK-handshake elk frame end-to-end — zelfs de relay ziet alleen ondoorzichtige bytes.

Snelle intrekking

Ondertekende, monotone intrekkingslijsten verspreiden zich binnen ongeveer 60 seconden over een cluster, zodat een gecompromitteerd credential één enkele hendel is om aan te trekken.

De volledige specificatie wordt gepubliceerd

Het volledige wire-formaat — het AppSpec-schema, de volledige app.*- en apps.*-toolreferentie, het auditlog-formaat en het federatie-peer-contract — wordt hier voorbereid voor open publicatie. Wilt u vroege toegang of helpen de specificatie vorm te geven? Neem contact op.