You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
chore: unify credential passing pattern across all integrations #616
Credential handling across NemoClaw integrations uses inconsistent patterns that evolved organically as each integration was added at different times. This creates confusion about the intended architecture and makes security review harder.
NVIDIA_API_KEY gets extra file-write treatment that Discord/Slack don't. This is because OpenClaw's inference provider requires a specific JSON file, but it's not obvious why the patterns differ without reading the startup script.
TELEGRAM_BOT_TOKEN is not passed through onboard at all — only through the deploy path. If a user sets up Telegram after initial onboard, they have to recreate the sandbox or run the bridge manually.
No single place documents which credentials go where and why.
Proposed cleanup
Standardize on env-var-at-creation for all user-provided secrets (NVIDIA, Discord, Slack, Telegram).
Where OpenClaw requires a specific file format (auth-profiles.json), the startup script handles the translation — but this should be documented as the exception, not discovered by reading code.
Add a credential inventory table to the architecture doc.
Consider whether Telegram bridge should move inside the sandbox for consistency, or whether the host-side pattern is intentional and should be documented as such.
Context
This inconsistency became visible when #555/#588 made openclaw.json immutable, which broke Discord/Slack (#599, fixed in #601). Each fix was scoped narrowly to the immediate problem rather than unifying the pattern.
Activity
chore: unify credential passing pattern across all integrations
fix: unify credential passing pattern across integrations (NVIDIA#616)
fix: unify credential passing pattern across integrations (NVIDIA#616)
fix(security): use providers for messaging credential injection (NVID…
fix(security): use providers for messaging credential injection (NVID…
fix(security): use providers for messaging credential injection (NVID…