- DM-koppeling (wie met de bot mag praten)
- Node-koppeling (welke apparaten/nodes mogen deelnemen aan het gatewaynetwerk)
1) DM-koppeling (inkomende chattoegang)
Wanneer een kanaal is geconfigureerd met DM-beleidpairing, krijgen onbekende afzenders een korte code en wordt hun bericht niet verwerkt totdat je het goedkeurt.
Standaard DM-beleid is gedocumenteerd in: Beveiliging
dmPolicy: "open" is alleen openbaar wanneer de effectieve DM-allowlist "*" bevat.
Setup en validatie vereisen die wildcard voor openbaar-open configuraties. Als bestaande
state open met concrete allowFrom-vermeldingen bevat, laat de runtime nog steeds
alleen die afzenders toe, en goedkeuringen in de pairing-store verbreden open-toegang niet.
Koppelcodes:
- 8 tekens, hoofdletters, geen dubbelzinnige tekens (
0O1I). - Verlopen na 1 uur. De bot verstuurt het koppelbericht alleen wanneer een nieuw verzoek wordt aangemaakt (ongeveer eenmaal per uur per afzender).
- Openstaande DM-koppelverzoeken zijn standaard beperkt tot 3 per kanaal; extra verzoeken worden genegeerd totdat er een verloopt of wordt goedgekeurd.
Een afzender goedkeuren
commands.ownerAllowFrom naar de goedgekeurde afzender, zoals telegram:123456789.
Dat geeft eerste setups een expliciete eigenaar voor bevoorrechte commando’s en exec-
goedkeuringsprompts. Nadat er een eigenaar bestaat, verlenen latere koppelgoedkeuringen alleen DM-
toegang; ze voegen geen extra eigenaren toe.
Ondersteunde kanalen: discord, feishu, googlechat, imessage, irc, line, matrix, mattermost, msteams, nextcloud-talk, nostr, openclaw-weixin, signal, slack, synology-chat, telegram, twitch, whatsapp, zalo, zalouser.
Herbruikbare afzendergroepen
GebruikaccessGroups op topniveau wanneer dezelfde vertrouwde afzenderset moet gelden voor
meerdere berichtkanalen of voor zowel DM- als groepsallowlists.
Statische groepen gebruiken type: "message.senders" en worden vanuit kanaalallowlists verwezen met
accessGroup:<name>:
Waar de state staat
Opgeslagen onder~/.openclaw/credentials/:
- Openstaande verzoeken:
<channel>-pairing.json - Goedgekeurde allowlist-store:
- Standaardaccount:
<channel>-allowFrom.json - Niet-standaardaccount:
<channel>-<accountId>-allowFrom.json
- Standaardaccount:
- Niet-standaardaccounts lezen/schrijven alleen hun scoped allowlist-bestand.
- Standaardaccount gebruikt het kanaalbrede unscoped allowlist-bestand.
De pairing-allowlist-store is voor DM-toegang. Groepsautorisatie staat hier los van.
Het goedkeuren van een DM-koppelcode staat die afzender niet automatisch toe om groepscommando’s
uit te voeren of de bot in groepen te besturen. Bootstrap van de eerste eigenaar is aparte configuratie-
state in
commands.ownerAllowFrom, en groepschatbezorging blijft de
groepsallowlists van het kanaal volgen (bijvoorbeeld groupAllowFrom, groups, of per-groep-
of per-topic-overschrijvingen afhankelijk van het kanaal).2) Node-apparaatkoppeling (iOS/Android/macOS/headless nodes)
Nodes verbinden met de Gateway als apparaten metrole: node. De Gateway
maakt een apparaatkoppelverzoek aan dat moet worden goedgekeurd.
Koppelen vanuit de Control UI (aanbevolen)
Gebruik een al verbonden Control UI-sessie metoperator.admin-toegang:
- Open de Control UI en selecteer Nodes.
- Klik in Apparaten op Mobiel apparaat koppelen.
- Open op je telefoon de OpenClaw-app → Instellingen → Gateway.
- Scan de QR-code of plak de installatiecode en maak vervolgens verbinding.
Koppelen via Telegram
Als je dedevice-pair-Plugin gebruikt, kun je eerste apparaatkoppeling volledig vanuit Telegram doen:
- Stuur in Telegram een bericht naar je bot:
/pair - De bot antwoordt met twee berichten: een instructiebericht en een afzonderlijk installatiecode-bericht (eenvoudig te kopiëren/plakken in Telegram).
- Open op je telefoon de OpenClaw iOS-app → Instellingen → Gateway.
- Scan de QR-code of plak de installatiecode en maak verbinding.
- De officiële mobiele app maakt automatisch verbinding. Als
/pair pendingeen verzoek toont, controleer dan de rol en scopes voordat je het goedkeurt.
url: de Gateway WebSocket-URL (ws://...ofwss://...)bootstrapToken: een kortlevend bootstrap-token voor één apparaat dat wordt gebruikt voor de initiële koppelhandshake
- het ingebouwde setupprofiel staat alleen de verse QR-/installatiecodebasis toe:
nodeplus een begrensdeoperator-overdracht - het overgedragen
node-token blijftscopes: [] - het overgedragen
operator-token is beperkt totoperator.approvals,operator.read,operator.talk.secretsenoperator.write operator.adminwordt niet verleend door QR-/installatiecode-bootstrap; daarvoor is een afzonderlijke goedgekeurde operator-koppeling of tokenflow vereist- latere tokenrotatie/-intrekking blijft begrensd door zowel het goedgekeurde rolcontract van het apparaat als de operator-scopes van de aanroepende sessie
wss:// Gateway-URL. Plaintext ws://-installatiecodes worden alleen geaccepteerd
voor loopback, privé-LAN-adressen, .local Bonjour-hosts en de Android-
emulatorhost. Tailnet CGNAT-adressen, .ts.net-namen en openbare hosts falen nog steeds
gesloten voordat QR-/installatiecode-uitgifte plaatsvindt.
Een Node-apparaat goedkeuren
operator.admin. Hierdoor kan een bestaand admin-capable gekoppeld apparaat een nieuwe
Control UI-/browserkoppeling herstellen zonder devices/paired.json handmatig te bewerken. De
Gateway valideert de opnieuw geprobeerde verbinding nog steeds; tokens die niet kunnen authenticeren
met operator.admin blijven geblokkeerd.
Als hetzelfde apparaat opnieuw probeert met andere auth-details (bijvoorbeeld een andere
rol/scopes/public key), wordt het vorige openstaande verzoek vervangen en wordt een nieuwe
requestId aangemaakt.
Een al gekoppeld apparaat krijgt niet stilzwijgend bredere toegang. Als het opnieuw verbinding maakt en om meer scopes of een bredere rol vraagt, houdt OpenClaw de bestaande goedkeuring ongewijzigd en maakt het een nieuw openstaand upgradeverzoek aan. Gebruik
openclaw devices list om de momenteel goedgekeurde toegang te vergelijken met de nieuw gevraagde toegang voordat je goedkeurt.Optionele vertrouwde-CIDR Node-auto-goedkeuring
Apparaatkoppeling blijft standaard handmatig. Voor strak gecontroleerde Node-netwerken kun je je aanmelden voor automatische goedkeuring van eerste Node-koppelingen met expliciete CIDR’s of exacte IP’s:role: node-koppelverzoeken zonder aangevraagde
scopes. Operator-, browser-, Control UI- en WebChat-clients vereisen nog steeds handmatige
goedkeuring. Wijzigingen in rol, scope, metadata en public key vereisen nog steeds handmatige
goedkeuring.
Opslag van Node-koppelstate
Opgeslagen onder~/.openclaw/devices/:
pending.json(kortlevend; openstaande verzoeken verlopen)paired.json(gekoppelde apparaten + tokens)
Opmerkingen
- De legacy
node.pair.*-API (CLI:openclaw nodes pending|approve|reject|remove|rename) is een afzonderlijke gateway-owned pairing-store. WS-nodes vereisen nog steeds apparaatkoppeling. - Het pairing-record is de duurzame bron van waarheid voor goedgekeurde rollen. Actieve apparaattokens blijven begrensd tot die goedgekeurde rollenset; een verdwaalde tokenvermelding buiten de goedgekeurde rollen creëert geen nieuwe toegang.