diff --git a/CHANGELOG.md b/CHANGELOG.md index b8e6df03533..f67fa020bcf 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,6 +10,7 @@ Docs: https://docs.openclaw.ai - Android/Chat: improve streaming delivery handling and markdown rendering quality in the native Android chat UI, including better GitHub-flavored markdown behavior. (#26079) Thanks @obviyus. - Branding/Docs + Apple surfaces: replace remaining `bot.molt` launchd label, bundle-id, logging subsystem, and command examples with `ai.openclaw` across docs, iOS app surfaces, helper scripts, and CLI test fixtures. - Agents/Config: remind agents to call `config.schema` before config edits or config-field questions to avoid guessing. Thanks @thewilloftheshadow. +- Onboarding/Security: clarify onboarding security notices that OpenClaw is personal-by-default (single trusted operator boundary) and shared/multi-user setups require explicit lock-down/hardening. ### Fixes diff --git a/docs/start/onboarding.md b/docs/start/onboarding.md index e9f2edeb363..679ab059f45 100644 --- a/docs/start/onboarding.md +++ b/docs/start/onboarding.md @@ -29,6 +29,11 @@ For a general overview of onboarding paths, see [Onboarding Overview](/start/onb + +Security trust model: + +- By default, OpenClaw is a personal agent: one trusted operator boundary. +- Shared/multi-user setups require lock-down (split trust boundaries, keep tool access minimal, and follow [Security](/gateway/security)). diff --git a/src/wizard/onboarding.ts b/src/wizard/onboarding.ts index df826b62ccf..301375fbb59 100644 --- a/src/wizard/onboarding.ts +++ b/src/wizard/onboarding.ts @@ -31,15 +31,21 @@ async function requireRiskAcknowledgement(params: { "Security warning — please read.", "", "OpenClaw is a hobby project and still in beta. Expect sharp edges.", + "By default, OpenClaw is a personal agent: one trusted operator boundary.", "This bot can read files and run actions if tools are enabled.", "A bad prompt can trick it into doing unsafe things.", "", - "If you’re not comfortable with basic security and access control, don’t run OpenClaw.", + "OpenClaw is not a hostile multi-tenant boundary by default.", + "If multiple users can message one tool-enabled agent, they share that delegated tool authority.", + "", + "If you’re not comfortable with security hardening and access control, don’t run OpenClaw.", "Ask someone experienced to help before enabling tools or exposing it to the internet.", "", "Recommended baseline:", "- Pairing/allowlists + mention gating.", + "- Multi-user/shared inbox: split trust boundaries (separate gateway/credentials, ideally separate OS users/hosts).", "- Sandbox + least-privilege tools.", + "- Shared inboxes: isolate DM sessions (`session.dmScope: per-channel-peer`) and keep tool access minimal.", "- Keep secrets out of the agent’s reachable filesystem.", "- Use the strongest available model for any bot with tools or untrusted inboxes.", "", @@ -53,7 +59,8 @@ async function requireRiskAcknowledgement(params: { ); const ok = await params.prompter.confirm({ - message: "I understand this is powerful and inherently risky. Continue?", + message: + "I understand this is personal-by-default and shared/multi-user use requires lock-down. Continue?", initialValue: false, }); if (!ok) {