OpenClaw ondersteunt additieve SecretRefs, zodat ondersteunde referenties niet als plaintext in de configuratie hoeven te worden opgeslagen.Documentation Index
Fetch the complete documentation index at: https://docs.openclaw.ai/llms.txt
Use this file to discover all available pages before exploring further.
Plaintext blijft werken. SecretRefs zijn opt-in per referentie.
Doelen en runtime-model
Geheimen worden opgelost naar een in-memory runtime-snapshot.- Resolutie gebeurt eager tijdens activatie, niet lazy op aanvraagpaden.
- Startup faalt snel wanneer een effectief actieve SecretRef niet kan worden opgelost.
- Reload gebruikt atomic swap: volledig succes, of de laatst bekende goede snapshot behouden.
- SecretRef-beleidsschendingen (bijvoorbeeld auth-profielen in OAuth-modus gecombineerd met SecretRef-invoer) laten activatie falen voordat de runtime-swap plaatsvindt.
- Runtime-aanvragen lezen alleen uit de actieve in-memory snapshot.
- Na de eerste succesvolle configuratieactivatie/load blijven runtime-codepaden die actieve in-memory snapshot lezen totdat een succesvolle reload deze verwisselt.
- Uitgaande afleverpaden lezen ook uit die actieve snapshot (bijvoorbeeld Discord-antwoord/thread-aflevering en Telegram-actieverzendingen); ze lossen SecretRefs niet opnieuw op bij elke verzending.
Filteren op actieve oppervlakken
SecretRefs worden alleen gevalideerd op effectief actieve oppervlakken.- Ingeschakelde oppervlakken: niet-opgeloste refs blokkeren startup/reload.
- Inactieve oppervlakken: niet-opgeloste refs blokkeren startup/reload niet.
- Inactieve refs geven niet-fatale diagnostiek met code
SECRETS_REF_IGNORED_INACTIVE_SURFACE.
Voorbeelden van inactieve oppervlakken
Voorbeelden van inactieve oppervlakken
- Uitgeschakelde kanaal-/accountvermeldingen.
- Top-level kanaalreferenties die door geen enkel ingeschakeld account worden geërfd.
- Uitgeschakelde tool-/functieoppervlakken.
- Webzoek-provider-specifieke sleutels die niet door
tools.web.search.providerzijn geselecteerd. In automatische modus (provider niet ingesteld) worden sleutels volgens prioriteit geraadpleegd voor automatische providerdetectie totdat er één wordt opgelost. Na selectie worden niet-geselecteerde providersleutels als inactief behandeld totdat ze worden geselecteerd. - Sandbox SSH-auth-materiaal (
agents.defaults.sandbox.ssh.identityData,certificateData,knownHostsData, plus overrides per agent) is alleen actief wanneer de effectieve sandbox-backendsshis voor de standaardagent of een ingeschakelde agent. gateway.remote.token/gateway.remote.passwordSecretRefs zijn actief als een van deze waar is:gateway.mode=remotegateway.remote.urlis geconfigureerdgateway.tailscale.modeisserveoffunnel- In lokale modus zonder die remote-oppervlakken:
gateway.remote.tokenis actief wanneer tokenauth kan winnen en er geen env-/authtoken is geconfigureerd.gateway.remote.passwordis alleen actief wanneer wachtwoordauth kan winnen en er geen env-/authwachtwoord is geconfigureerd.
gateway.auth.tokenSecretRef is inactief voor startup-auth-resolutie wanneerOPENCLAW_GATEWAY_TOKENis ingesteld, omdat env-tokeninvoer voor die runtime wint.
Diagnostiek voor Gateway-auth-oppervlak
Wanneer een SecretRef is geconfigureerd opgateway.auth.token, gateway.auth.password, gateway.remote.token of gateway.remote.password, logt Gateway-startup/reload de oppervlaktestatus expliciet:
active: de SecretRef maakt deel uit van het effectieve auth-oppervlak en moet worden opgelost.inactive: de SecretRef wordt voor deze runtime genegeerd omdat een ander auth-oppervlak wint, of omdat remote-auth is uitgeschakeld/niet actief is.
SECRETS_GATEWAY_AUTH_SURFACE en bevatten de reden die door het actieve-oppervlakkenbeleid is gebruikt, zodat je kunt zien waarom een referentie als actief of inactief is behandeld.
Preflightcontrole voor onboarding-referenties
Wanneer onboarding in interactieve modus wordt uitgevoerd en je SecretRef-opslag kiest, voert OpenClaw preflightvalidatie uit voordat er wordt opgeslagen:- Env-refs: valideert de env-var-naam en bevestigt dat tijdens setup een niet-lege waarde zichtbaar is.
- Provider-refs (
fileofexec): valideert providerselectie, lostidop en controleert het type van de opgeloste waarde. - Quickstart-hergebruikpad: wanneer
gateway.auth.tokenal een SecretRef is, lost onboarding deze op vóór probe/dashboard-bootstrap (voorenv-,file- enexec-refs) met dezelfde fail-fast gate.
SecretRef-contract
Gebruik overal één objectvorm:- env
- file
- exec
providermoet overeenkomen met^[a-z][a-z0-9_-]{0,63}$idmoet overeenkomen met^[A-Z][A-Z0-9_]{0,127}$
Providerconfiguratie
Definieer providers ondersecrets.providers:
Env-provider
Env-provider
- Optionele allowlist via
allowlist. - Ontbrekende/lege env-waarden laten resolutie falen.
File-provider
File-provider
- Leest lokaal bestand uit
path. mode: "json"verwacht een JSON-objectpayload en lostidop als pointer.mode: "singleValue"verwacht ref-id"value"en retourneert bestandsinhoud.- Pad moet eigendoms-/machtigingscontroles doorstaan.
- Windows fail-closed-opmerking: als ACL-verificatie niet beschikbaar is voor een pad, faalt resolutie. Stel alleen voor vertrouwde paden
allowInsecurePath: truein op die provider om padbeveiligingscontroles te omzeilen.
Exec-provider
Exec-provider
- Voert geconfigureerd absoluut binair pad uit, zonder shell.
- Standaard moet
commandnaar een regulier bestand wijzen (geen symlink). - Stel
allowSymlinkCommand: truein om symlink-commandopaden toe te staan (bijvoorbeeld Homebrew-shims). OpenClaw valideert het opgeloste doelpad. - Combineer
allowSymlinkCommandmettrustedDirsvoor package-managerpaden (bijvoorbeeld["/opt/homebrew"]). - Ondersteunt timeout, no-output timeout, uitvoerbytelimieten, env-allowlist en vertrouwde mappen.
- Windows fail-closed-opmerking: als ACL-verificatie niet beschikbaar is voor het commandopad, faalt resolutie. Stel alleen voor vertrouwde paden
allowInsecurePath: truein op die provider om padbeveiligingscontroles te omzeilen.
Exec-integratievoorbeelden
1Password CLI
1Password CLI
HashiCorp Vault CLI
HashiCorp Vault CLI
sops
sops
MCP-serveromgevingsvariabelen
MCP-server-env-vars die viaplugins.entries.acpx.config.mcpServers zijn geconfigureerd, ondersteunen SecretInput. Dit houdt API-sleutels en tokens uit plaintext-configuratie:
${MCP_SERVER_API_KEY} en SecretRef-objecten worden tijdens Gateway-activatie opgelost voordat het MCP-serverproces wordt gestart. Net als bij andere SecretRef-oppervlakken blokkeren niet-opgeloste refs activatie alleen wanneer de acpx-plugin effectief actief is.
Sandbox SSH-auth-materiaal
De coressh sandbox-backend ondersteunt ook SecretRefs voor SSH-auth-materiaal:
- OpenClaw lost deze refs op tijdens sandbox-activering, niet lui tijdens elke SSH-aanroep.
- Opgeloste waarden worden naar tijdelijke bestanden met beperkende machtigingen geschreven en gebruikt in de gegenereerde SSH-configuratie.
- Als de effectieve sandbox-backend niet
sshis, blijven deze refs inactief en blokkeren ze het opstarten niet.
Ondersteund oppervlak voor inloggegevens
Canonieke ondersteunde en niet-ondersteunde inloggegevens staan vermeld in:Tijdens runtime aangemaakte of roterende inloggegevens en OAuth-refreshmateriaal zijn bewust uitgesloten van read-only SecretRef-resolutie.
Vereist gedrag en prioriteit
- Veld zonder ref: ongewijzigd.
- Veld met een ref: vereist op actieve oppervlakken tijdens activering.
- Als zowel platte tekst als ref aanwezig zijn, krijgt ref prioriteit op ondersteunde prioriteitspaden.
- De redactie-sentinel
__OPENCLAW_REDACTED__is gereserveerd voor interne configuratieredactie/-herstel en wordt afgewezen als letterlijke ingediende configuratiegegevens.
SECRETS_REF_OVERRIDES_PLAINTEXT(runtimewaarschuwing)REF_SHADOWED(auditbevinding wanneerauth-profiles.json-inloggegevens prioriteit krijgen bovenopenclaw.json-refs)
serviceAccountRefkrijgt prioriteit boven platte tekstserviceAccount.- De plattetekstwaarde wordt genegeerd wanneer de sibling-ref is ingesteld.
Activeringstriggers
Geheimactivering wordt uitgevoerd bij:- Opstarten (preflight plus definitieve activering)
- Hot-apply-pad voor configuratieherladen
- Herstartcontrolepad voor configuratieherladen
- Handmatig herladen via
secrets.reload - Preflight van Gateway-configuratieschrijf-RPC (
config.set/config.apply/config.patch) voor SecretRef-oplosbaarheid van actief oppervlak binnen de ingediende configuratiepayload voordat bewerkingen worden opgeslagen
- Succes wisselt de snapshot atomair om.
- Opstartfout breekt het opstarten van de Gateway af.
- Fout bij runtimeherladen behoudt de laatst bekende goede snapshot.
- Preflightfout van schrijf-RPC wijst de ingediende configuratie af en houdt zowel de schijfconfiguratie als de actieve runtime-snapshot ongewijzigd.
- Het opgeven van een expliciet kanaaltoken per aanroep aan een uitgaande helper-/toolaanroep triggert geen SecretRef-activering; activeringspunten blijven opstarten, herladen en expliciet
secrets.reload.
Gedegradeerde en herstelde signalen
Wanneer activering tijdens herladen mislukt na een gezonde toestand, gaat OpenClaw naar een gedegradeerde geheimstatus. Eenmalige systeemevent- en logcodes:SECRETS_RELOADER_DEGRADEDSECRETS_RELOADER_RECOVERED
- Gedegradeerd: runtime behoudt de laatst bekende goede snapshot.
- Hersteld: eenmaal uitgezonden na de volgende succesvolle activering.
- Herhaalde fouten terwijl de status al gedegradeerd is, loggen waarschuwingen maar spammen geen events.
- Fail-fast bij opstarten zendt geen gedegradeerde events uit, omdat runtime nooit actief is geworden.
Resolutie van commandopaden
Commandopaden kunnen zich aanmelden voor ondersteunde SecretRef-resolutie via Gateway-snapshot-RPC. Er zijn twee brede gedragingen:- Strikte commandopaden
- Read-only commandopaden
Bijvoorbeeld externe-geheugenpaden van
openclaw memory en openclaw qr --remote wanneer externe shared-secret-refs nodig zijn. Ze lezen uit de actieve snapshot en falen snel wanneer een vereiste SecretRef niet beschikbaar is.- Snapshotverversing na secretrotatie in de backend wordt afgehandeld door
openclaw secrets reload. - Gateway-RPC-methode die door deze commandopaden wordt gebruikt:
secrets.resolve.
Audit- en configuratieworkflow
Standaard operatorflow:secrets audit
secrets audit
Bevindingen omvatten:
- plattetekstwaarden in rust (
openclaw.json,auth-profiles.json,.enven gegenereerdeagents/*/agent/models.json) - restanten van gevoelige providerheaders in platte tekst in gegenereerde
models.json-vermeldingen - onopgeloste refs
- prioriteitsoverschaduwing (
auth-profiles.jsonkrijgt prioriteit bovenopenclaw.json-refs) - legacy-restanten (
auth.json, OAuth-herinneringen)
- Standaard slaat audit oplosbaarheidscontroles voor exec SecretRefs over om bijwerkingen van commando’s te vermijden.
- Gebruik
openclaw secrets audit --allow-execom exec-providers tijdens audit uit te voeren.
- Detectie van gevoelige providerheaders is gebaseerd op naamheuristiek (veelvoorkomende namen en fragmenten van auth-/credentialheaders zoals
authorization,x-api-key,token,secret,passwordencredential).
secrets configure
secrets configure
Interactieve helper die:
- eerst
secrets.providersconfigureert (env/file/exec, toevoegen/bewerken/verwijderen) - je ondersteunde velden met geheimen in
openclaw.jsonplusauth-profiles.jsonlaat selecteren voor één agentscope - direct in de doelkiezer een nieuwe
auth-profiles.json-mapping kan maken - SecretRef-details vastlegt (
source,provider,id) - preflight-resolutie uitvoert
- direct kan toepassen
- Preflight slaat exec SecretRef-controles over tenzij
--allow-execis ingesteld. - Als je direct toepast vanuit
configure --applyen het plan exec-refs/providers bevat, houd--allow-execdan ook ingesteld voor de toepasstap.
openclaw secrets configure --providers-onlyopenclaw secrets configure --skip-provider-setupopenclaw secrets configure --agent <id>
configure:- overeenkomende statische inloggegevens uit
auth-profiles.jsonverwijderen voor gerichte providers - legacy statische
api_key-vermeldingen uitauth.jsonverwijderen - overeenkomende bekende geheimregels uit
<config-dir>/.envverwijderen
secrets apply
secrets apply
Een opgeslagen plan toepassen:Exec-opmerking:
- dry-run slaat exec-controles over tenzij
--allow-execis ingesteld. - schrijfmodus wijst plannen met exec SecretRefs/providers af tenzij
--allow-execis ingesteld.
Eenrichtingsveiligheidsbeleid
Veiligheidsmodel:- preflight moet slagen vóór schrijfmodus
- runtime-activering wordt gevalideerd vóór commit
- apply werkt bestanden bij met atomaire bestandsvervanging en best-effort herstel bij fouten
Compatibiliteitsopmerkingen voor legacy-authenticatie
Voor statische inloggegevens is runtime niet langer afhankelijk van legacy-authenticatieopslag in platte tekst.- Runtimebron voor inloggegevens is de opgeloste in-memory snapshot.
- Legacy statische
api_key-vermeldingen worden verwijderd wanneer ze worden ontdekt. - OAuth-gerelateerd compatibiliteitsgedrag blijft gescheiden.
Opmerking over Web UI
Sommige SecretInput-unions zijn gemakkelijker te configureren in raw-editormodus dan in formuliermodus.Gerelateerd
- Authenticatie — auth-installatie
- CLI: secrets — CLI-commando’s
- Omgevingsvariabelen — omgevingsprioriteit
- SecretRef-oppervlak voor inloggegevens — oppervlak voor inloggegevens
- Contract voor Secrets Apply-plan — details van plancontract
- Beveiliging — beveiligingshouding