Ana içeriğe atla

openclaw policy

openclaw policy, paketle gelen Policy Plugin tarafından sağlanır. Policy, mevcut OpenClaw ayarlarının üzerinde bir kurumsal uyum katmanıdır. İkinci bir yapılandırma sistemi eklemez. policy.jsonc yazılmış gereksinimleri tanımlar, OpenClaw etkin çalışma alanını kanıt olarak gözlemler ve Policy sağlık kontrolleri sapmayı doctor --lint üzerinden raporlar. Nihai uyum sinyali temiz bir doctor --lint çalıştırmasıdır; Policy, ayrı bir sağlık geçidi oluşturmak yerine bulguları bu paylaşılan lint yüzeyine katkı olarak ekler. Policy şu anda yapılandırılmış kanalları, MCP sunucularını, model sağlayıcılarını, ağ SSRF duruşunu, giriş/kanal erişim duruşunu, Gateway açığa çıkma duruşunu, ajan çalışma alanı duruşunu, veri işleme duruşunu, OpenClaw yapılandırma gizli bilgi sağlayıcısı/kimlik doğrulama profili duruşunu ve yönetilen araç bildirimlerini yönetir. Örneğin BT veya bir çalışma alanı operatörü, Telegram’ın onaylı bir kanal sağlayıcısı olmadığını kaydedebilir, MCP sunucularını ve model başvurularını onaylı girdilerle sınırlayabilir, özel ağ fetch/tarayıcı erişiminin devre dışı kalmasını şart koşabilir, doğrudan mesaj oturumu yalıtımının ve kanal giriş duruşunun incelenmiş sınırlar içinde kalmasını şart koşabilir, Gateway bağlama/kimlik doğrulama/HTTP açığa çıkma duruşunun incelenmiş sınırlar içinde kalmasını şart koşabilir, ajan çalışma alanı erişiminin ve araç retlerinin incelenmiş bir duruşta kalmasını şart koşabilir, OpenClaw yapılandırma SecretRef’lerinin yönetilen sağlayıcıları kullanmasını şart koşabilir, yapılandırma kimlik doğrulama profillerinin sağlayıcı/mod meta verisi taşımasını şart koşabilir, yönetilen araçların risk ve hassasiyet meta verisi taşımasını şart koşabilir, hassas günlük kaydı redaksiyonunu şart koşabilir, telemetri içerik yakalamayı reddedebilir, oturum saklama bakımını şart koşabilir, oturum transkript belleği indekslemeyi reddedebilir ve ardından paylaşılan uyum geçidi olarak doctor --lint kullanabilir. Bir çalışma alanı “bu kanallar etkinleştirilmemelidir” veya “yönetilen araçlar onay meta verisi bildirmelidir” gibi kalıcı bir ifadeye ve OpenClaw’ın bu ifadeye hâlâ uyduğunu kanıtlamanın tekrarlanabilir bir yoluna ihtiyaç duyduğunda Policy kullanın. Yalnızca yerel davranışa ihtiyaç duyduğunuzda ve Policy bulgularına veya tasdik çıktısına ihtiyaç duymadığınızda yalnızca normal yapılandırmayı ve çalışma alanı belgelerini kullanın.

Hızlı başlangıç

İlk kullanımdan önce paketle gelen Policy Plugin’i etkinleştirin:
openclaw plugins enable policy
Policy etkinleştirildiğinde doctor, rastgele Plugin’leri etkinleştirmeden Policy sağlık kontrollerini yükleyebilir. policy.jsonc eksikse Plugin etkin kalır, böylece doctor eksik yapıtı raporlayabilir. Policy, kullanıcının geçerli ayarlarından üretilmez; yazılır. Kanallar, MCP sunucuları, model sağlayıcıları, ağ duruşu, giriş/kanal erişimi, Gateway açığa çıkma, ajan çalışma alanı duruşu, yapılandırılmış sandbox çalışma zamanı duruşu, OpenClaw veri işleme duruşu, yapılandırma gizli bilgi sağlayıcısı/kimlik doğrulama profili duruşu, exec onay dosyası duruşu ve araç meta verisi için en küçük Policy şuna benzer:
{
  "channels": {
    "denyRules": [
      {
        "id": "no-telegram",
        "when": { "provider": "telegram" },
        "reason": "Telegram is not approved for this workspace.",
      },
    ],
  },
  "mcp": {
    "servers": {
      "allow": ["docs"],
      "deny": ["untrusted"],
    },
  },
  "models": {
    "providers": {
      "allow": ["openai", "anthropic"],
      "deny": ["openrouter"],
    },
  },
  "network": {
    "privateNetwork": {
      "allow": false,
    },
  },
  "ingress": {
    "session": {
      "requireDmScope": "per-channel-peer",
    },
    "channels": {
      "allowDmPolicies": ["pairing", "allowlist", "disabled"],
      "denyOpenGroups": true,
      "requireMentionInGroups": true,
    },
  },
  "gateway": {
    "exposure": {
      "allowNonLoopbackBind": false,
      "allowTailscaleFunnel": false,
    },
    "auth": {
      "requireAuth": true,
      "requireExplicitRateLimit": true,
    },
    "controlUi": {
      "allowInsecure": false,
    },
    "remote": {
      "allow": false,
    },
    "http": {
      "denyEndpoints": ["chatCompletions", "responses"],
      "requireUrlAllowlists": true,
    },
  },
  "agents": {
    "workspace": {
      "allowedAccess": ["none", "ro"],
      "denyTools": ["exec", "process", "write", "edit", "apply_patch"],
    },
  },
  "dataHandling": {
    "sensitiveLogging": {
      "requireRedaction": true,
    },
    "telemetry": {
      "denyContentCapture": true,
    },
    "retention": {
      "requireSessionMaintenance": true,
    },
    "memory": {
      "denySessionTranscriptIndexing": true,
    },
  },
  "secrets": {
    "requireManagedProviders": true,
    "denySources": ["exec"],
    "allowInsecureProviders": false,
  },
  "auth": {
    "profiles": {
      "requireMetadata": ["provider", "mode"],
      "allowModes": ["api_key", "token"],
    },
  },
  "execApprovals": {
    "requireFile": true,
    "defaults": { "allowSecurity": ["deny"] },
    "agents": {
      "allowSecurity": ["deny", "allowlist"],
      "allowAutoAllowSkills": false,
      "allowlist": { "expected": ["deploy", "status"] },
    },
  },
  "tools": {
    "requireMetadata": ["risk", "sensitivity", "owner"],
    "profiles": {
      "allow": ["messaging", "minimal"],
    },
    "fs": {
      "requireWorkspaceOnly": true,
    },
    "exec": {
      "allowSecurity": ["deny", "allowlist"],
      "requireAsk": ["always"],
      "allowHosts": ["sandbox"],
    },
    "elevated": {
      "allow": false,
    },
    "denyTools": ["group:runtime", "group:fs"],
  },
}
Kurallar yetkili kaynaktır. Bir kategori bloğu yalnızca bir ad alanıdır; kontroller somut bir kural bulunduğunda çalışır. OpenClaw, mevcut channels.* ayarlarını, mcp.servers.*, models.providers.*, seçili ajan model başvurularını, ağ SSRF ayarlarını, doğrudan mesaj oturum kapsamını, kanal DM ilkesini, kanal grup ilkesini, kanal/grup mention geçitlerini, Gateway bağlama/kimlik doğrulama/Control UI/Tailscale/uzak/HTTP duruşunu, OpenClaw yapılandırma ajan sandbox çalışma alanı erişimini ve araç ret duruşunu, veri işleme yapılandırma duruşunu, yapılandırma gizli bilgi sağlayıcısını ve SecretRef kaynağını, yapılandırma kimlik doğrulama profili meta verisini, yapılandırılmış global/ajan başına araç duruşunu ve TOOLS.md bildirimlerini kanıt olarak okur, ardından uymayan gözlemlenen durumu raporlar. Bir Policy local loopback olmayan Gateway bağlamalarını reddediyorsa, gateway.bind değerini yalnızca çalışma zamanı varsayılanını incelemeye istekli olduğunuzda atlayın; sıkı yapılandırma uyumu için gateway.bind=loopback ayarlayın. Salt okunur ajan duruşu için geçerli varsayılanlarda veya ajanda sandbox modunu yapılandırın ve workspaceAccess değerini none veya ro olarak ayarlayın; atlanmış ya da off sandbox modu salt okunur/yazmasız Policy’yi karşılamaz. agents.workspace.denyTools, exec, process, write, edit ve apply_patch destekler; OpenClaw yapılandırması group:fs dosya mutasyon araçlarını, group:runtime ise shell/süreç araçlarını kapsar. Araç duruşu Policy’si tools.profile, tools.allow, tools.alsoAllow, tools.deny, tools.fs.workspaceOnly, tools.exec.security, tools.exec.ask, tools.exec.host, tools.elevated.enabled ve aynı ajan başına agents.list[].tools.* geçersiz kılmalarını gözlemler. Exec onay Policy’si, adlandırılmış exec-approvals.json ürün yapıtını yalnızca bir execApprovals kuralı mevcut olduğunda okur; kanıt, socket token’ları veya son kullanılan komut metni olmadan varsayılanları, ajan başına duruşu ve allowlist desenlerini kaydeder. Policy araç çağrılarını çalışma zamanında zorlamaz. Gizli bilgi kanıtı sağlayıcı/kaynak duruşunu ve SecretRef meta verisini kaydeder, ham gizli değerleri asla kaydetmez. Policy, auth-profiles.json gibi ajan başına kimlik bilgisi depolarını okumaz veya tasdik etmez; bu depolar mevcut kimlik doğrulama ve kimlik bilgisi akışlarına ait kalır. Veri işleme kanıtı yalnızca yapılandırma düzeyi duruştur: yapılandırılmış redaksiyon modunu, telemetri içerik yakalama geçişlerini, oturum bakım modunu ve oturum transkript belleği indeksleme ayarlarını kontrol eder. Ham günlükleri, telemetri dışa aktarımlarını, transkript içeriklerini, bellek dosyalarını incelemez veya hiçbir kişisel veri ya da gizli bilginin bulunmadığını kanıtlamaz.

Policy kural başvurusu

Aşağıdaki her Policy alanı isteğe bağlıdır. Bir kontrol yalnızca eşleşen kural policy.jsonc içinde mevcut olduğunda çalışır. Gözlemlenen durum mevcut OpenClaw yapılandırması veya çalışma alanı meta verisidir; Policy sapmayı raporlar ancak bir onarım yolu açıkça mevcut ve etkin değilse çalışma zamanı davranışını yeniden yazmaz. Policy dosyaları katıdır: desteklenmeyen bölümler veya kural anahtarları yok sayılmak yerine policy/policy-jsonc-invalid olarak raporlanır. Policy katmanları geniş üst düzey kuralları global tutar, ardından adlandırılmış kapsam bloklarının açık seçiciler için daha sıkı normal Policy bölümleri eklemesine izin verir. Kapsam adı yalnızca açıklayıcı bir kovadır; eşleştirme kapsam içindeki seçici değerlerini kullanır. Katman eklemelidir: global iddialar çalışmaya devam eder ve kapsamlı bir iddia aynı gözlemlenen yapılandırmaya karşı kendi bulgusunu üretebilir.

Kapsamlı katmanlar

Bir ajan veya kanal kümesinin üst düzey temel çizgiden daha sıkı Policy’ye ihtiyacı olduğunda scopes.<scopeName> kullanın. Ajan kapsamlı bölümler agentIds kullanır; bu tools.*, agents.workspace.*, sandbox.*, dataHandling.memory.* ve execApprovals.* destekler. Kanal kapsamlı giriş channelIds kullanır; bu ingress.channels.* destekler. Desteklenmeyen bölümler yok sayılmak yerine reddedilir. Bir agentIds girdisi agents.list[] içinde mevcut değilse OpenClaw, kapsamlı kuralı o çalışma zamanı ajan kimliği için devralınan global/varsayılan duruşa göre değerlendirir.
{
  "tools": {
    "exec": {
      "allowHosts": ["sandbox", "node"],
    },
  },
  "sandbox": {
    "requireMode": ["all", "non-main"],
  },
  "scopes": {
    "release-workspace": {
      "agentIds": ["release-agent", "review-agent"],
      "agents": {
        "workspace": {
          "allowedAccess": ["none", "ro"],
        },
      },
    },
    "release-lockdown": {
      "agentIds": ["release-agent"],
      "tools": {
        "exec": {
          "allowHosts": ["sandbox"],
          "allowSecurity": ["deny", "allowlist"],
          "requireAsk": ["always"],
        },
        "denyTools": ["exec", "process", "write", "edit", "apply_patch"],
      },
      "sandbox": {
        "requireMode": ["all"],
        "allowBackends": ["docker"],
      },
      "dataHandling": {
        "memory": {
          "denySessionTranscriptIndexing": true,
        },
      },
    },
    "shell-sandbox": {
      "agentIds": ["shell-agent"],
      "sandbox": {
        "allowBackends": ["openshell"],
        "containers": {
          "requireReadOnlyMounts": false,
        },
      },
    },
    "telegram-ingress": {
      "channelIds": ["telegram"],
      "ingress": {
        "channels": {
          "allowDmPolicies": ["pairing"],
          "denyOpenGroups": true,
          "requireMentionInGroups": true,
        },
      },
    },
  },
}
Aynı ajan, her kapsam farklı alanları yönettiğinde yukarıda gösterildiği gibi birden çok kapsamda görünebilir. Aynı ajan için tekrarlanan kapsamlı alan, Policy meta verilerine göre eşit derecede veya daha kısıtlayıcı olmalıdır; daha zayıf yinelenen iddialar reddedilir. Sıkılık meta verisi izin listelerini alt kümeler, ret listelerini üst kümeler ve zorunlu boole değerlerini sabit gereksinimler olarak ele alır. Konteyner duruşu Policy’si yalnızca OpenClaw’ın eşleşen ajan için gözlemleyebildiği kanıta göre değerlendirilir. Etkin bir sandbox.containers.* kuralı, sandbox arka ucu o alanı açığa çıkaramayan bir ajana uygulanırsa Policy iddiayı geçmiş saymak yerine policy/sandbox-container-posture-unobservable raporlar. Farklı sandbox arka uçları kullanan ajan grupları için ayrı agentIds kapsamları kullanın ve bu alanların gözlemlenemediği gruplarda desteklenmeyen konteyner kurallarını ayarsız veya false bırakın. Üst düzey ingress.session.requireDmScope global kalır çünkü session.dmScope kanal atfedilebilir kanıt değildir.
SeçiciDesteklenen bölümlerNe zaman kullanılır
agentIdstools, agents.workspace, sandbox, dataHandling.memory, and execApprovalsBir veya daha fazla çalışma zamanı ajanının daha sıkı kurallara ihtiyacı olduğunda.
channelIdsingress.channelsBir veya daha fazla kanalın daha sıkı giriş kurallarına ihtiyacı olduğunda.
policy.jsonc içinde bulunan her kapsam geçerli ve uygulanabilir olmalıdır.

Kanallar

İlke alanıGözlemlenen durumNe zaman kullanılır
channels.denyRules[].when.providerchannels.* sağlayıcısı ve etkin durumtelegram gibi bir sağlayıcıdan yapılandırılmış kanalları reddetmek için.
channels.denyRules[].reasonBulgu iletisi ve onarım ipucu bağlamıSağlayıcının neden reddedildiğini açıklamak için.

MCP sunucuları

İlke alanıGözlemlenen durumNe zaman kullanılır
mcp.servers.allowmcp.servers.* kimlikleriYapılandırılmış her MCP sunucusunun bir izin listesinde olmasını gerektirmek için.
mcp.servers.denymcp.servers.* kimlikleriBelirli yapılandırılmış MCP sunucusu kimliklerini reddetmek için.

Model sağlayıcıları

İlke alanıGözlemlenen durumNe zaman kullanılır
models.providers.allowmodels.providers.* kimlikleri ve seçili model referanslarıYapılandırılmış sağlayıcıların ve seçili model referanslarının onaylı sağlayıcıları kullanmasını gerektirmek için.
models.providers.denymodels.providers.* kimlikleri ve seçili model referanslarıYapılandırılmış sağlayıcıları ve seçili model referanslarını sağlayıcı kimliğine göre reddetmek için.

İlke alanıGözlemlenen durumNe zaman kullanılır
network.privateNetwork.allowÖzel ağ SSRF kaçış yollarıÖzel ağ erişiminin devre dışı kalmasını gerektirmek için false olarak ayarlayın.

Giriş ve kanal erişimi

İlke alanıGözlemlenen durumNe zaman kullanılır
ingress.session.requireDmScopesession.dmScopeİncelenmiş bir doğrudan mesaj yalıtım kapsamı gerektirmek için.
ingress.channels.allowDmPolicieschannels.*.dmPolicy ve eski kanal DM ilke alanlarıYalnızca incelenmiş doğrudan mesaj kanal ilkelerine izin vermek için.
ingress.channels.denyOpenGroupsKanal, hesap ve grup giriş ilkesiYapılandırılmış kanallar ve hesaplar için açık grup girişini reddetmek için.
ingress.channels.requireMentionInGroupsKanal, hesap, grup, guild ve iç içe mention gate yapılandırmasıGrup girişi açık veya mention-gated olduğunda mention gate gerektirmek için.

Gateway

İlke alanıGözlemlenen durumNe zaman kullanılır
gateway.exposure.allowNonLoopbackBindgateway.bindlocal loopback Gateway bağlaması gerektirmek için false olarak ayarlayın.
gateway.exposure.allowTailscaleFunnelTailscale serve/funnel Gateway duruşuTailscale Funnel açılımını reddetmek için false olarak ayarlayın.
gateway.auth.requireAuthgateway.auth.modeDevre dışı Gateway kimlik doğrulamasını reddetmek için true olarak ayarlayın.
gateway.auth.requireExplicitRateLimitgateway.auth.rateLimitAçık kimlik doğrulama hız sınırı yapılandırması gerektirmek için true olarak ayarlayın.
gateway.controlUi.allowInsecureControl UI güvensiz kimlik doğrulama/cihaz/origin anahtarlarıGüvensiz Control UI açılım anahtarlarını reddetmek için false olarak ayarlayın.
gateway.remote.allowUzak Gateway modu/yapılandırmasıUzak Gateway modunu reddetmek için false olarak ayarlayın.
gateway.http.denyEndpointsGateway HTTP API uç noktalarıchatCompletions veya responses gibi uç nokta kimliklerini reddetmek için.
gateway.http.requireUrlAllowlistsGateway HTTP URL getirme girdileriURL getirme girdilerinde URL izin listeleri gerektirmek için true olarak ayarlayın.

Ajan çalışma alanı

İlke alanıGözlemlenen durumNe zaman kullanılır
agents.workspace.allowedAccessagents.defaults.sandbox.workspaceAccess ve agents.list[].sandbox.workspaceAccessYalnızca none veya ro gibi sandbox çalışma alanı erişim değerlerine izin vermek için.
agents.workspace.denyToolsGenel ve ajan başına araç reddetme yapılandırmasıexec, process, write, edit veya apply_patch gibi çalışma alanı/çalışma zamanı mutasyon araçlarının reddedilmesini gerektirmek için.

Sandbox duruşu

İlke alanıGözlemlenen durumNe zaman kullanılır
sandbox.requireModeagents.defaults.sandbox.mode ve ajan başına modYalnızca all veya non-main gibi incelenmiş sandbox modlarına izin vermek için.
sandbox.allowBackendsagents.defaults.sandbox.backend ve ajan başına backendYalnızca docker gibi incelenmiş sandbox backend’lerine izin vermek için.
sandbox.containers.denyHostNetworkKonteyner destekli sandbox/tarayıcı ağ moduAna makine ağ modunu reddetmek için.
sandbox.containers.denyContainerNamespaceJoinKonteyner destekli sandbox/tarayıcı ağ moduBaşka bir konteyner ağ namespace’ine katılmayı reddetmek için.
sandbox.containers.requireReadOnlyMountsKonteyner destekli sandbox/tarayıcı bağlama moduBağlamaların salt okunur olmasını gerektirmek için.
sandbox.containers.denyContainerRuntimeSocketMountsKonteyner destekli sandbox/tarayıcı bağlama hedefleriKonteyner çalışma zamanı soketi bağlamalarını reddetmek için.
sandbox.containers.denyUnconfinedProfilesKonteyner güvenlik profili duruşuSınırsız konteyner güvenlik profillerini reddetmek için.
sandbox.browser.requireCdpSourceRangeSandbox tarayıcı CDP kaynak aralığıTarayıcı CDP açılımının bir kaynak aralığı bildirmesini gerektirmek için.
İlke, eksik sandbox.mode değerini örtük varsayılan off olarak ele alır; bu nedenle sandbox.requireMode, yeni veya yapılandırılmamış bir sandbox’ı ["all"] gibi bir izin listesinin dışında olarak raporlar.

Veri İşleme

İlke alanıGözlemlenen durumNe zaman kullanılır
dataHandling.sensitiveLogging.requireRedactionlogging.redactSensitivelogging.redactSensitive: "off" değerini reddetmek için true olarak ayarlayın.
dataHandling.telemetry.denyContentCapturediagnostics.otel.captureContentTelemetri içerik yakalamayı reddetmek için true olarak ayarlayın.
dataHandling.retention.requireSessionMaintenancesession.maintenance.modeEtkili oturum bakım modu enforce gerektirmek için true olarak ayarlayın.
dataHandling.memory.denySessionTranscriptIndexingmemory.qmd.sessions.enabled ve agents.*.memorySearch.experimental.sessionMemoryOturum transkripti belleğe indekslemeyi reddetmek için true olarak ayarlayın.

Gizli Değerler

İlke alanıGözlemlenen durumNe zaman kullanılır
secrets.requireManagedProvidersYapılandırma SecretRef’leri ve secrets.providers.* bildirimleriSecretRef’lerin bildirilen sağlayıcılara işaret etmesini gerektirmek için true olarak ayarlayın.
secrets.denySourcesGizli değer sağlayıcısı kaynakları ve SecretRef kaynaklarıexec, file veya yapılandırılmış başka bir kaynak adı gibi kaynakları reddetmek için.
secrets.allowInsecureProvidersGüvensiz gizli değer sağlayıcısı duruş bayraklarıGüvensiz duruşu kabul eden sağlayıcıları reddetmek için false olarak ayarlayın.

Exec onayları

Exec onayları ilkesi, etkin çalışma zamanı exec-approvals.json eserini gözlemler. Varsayılan olarak bu ~/.openclaw/exec-approvals.json olur; OPENCLAW_STATE_DIR ayarlandığında, İlke $OPENCLAW_STATE_DIR/exec-approvals.json dosyasını okur. execApprovals.defaults.* veya execApprovals.agents.* gibi gerçek duruş kuralları okunabilir eser kanıtı gerektirir; eksik veya geçersiz bir eser, sentetik çalışma zamanı varsayılanlarına karşı en iyi çaba geçişi olmak yerine gözlemlenemeyen kanıt olarak raporlanır. Eser okunabilir olduğunda, atlanan onay alanları çalışma zamanı varsayılanlarını devralır: eksik defaults.security değeri full olur ve eksik ajan güvenliği bu varsayılanı devralır. Kanıt; defaults, agents.* ve agents.*.allowlist[].pattern ile isteğe bağlı argPattern, etkin autoAllowSkills duruşu ve giriş kaynağını içerir. Soket yolunu/token’ını, commandText, lastUsedCommand, çözümlenen yolları veya zaman damgalarını içermez.
Politika alanıGözlemlenen durumNe zaman kullanılır
execApprovals.requireFileEtkin çalışma zamanı exec-approvals.json yoluOnay artefaktının var olmasını ve ayrıştırılmasını zorunlu kılmak için true olarak ayarlayın.
execApprovals.defaults.allowSecuritydefaults.security, varsayılan olarak fullYalnızca onaylanmış varsayılan onay güvenliği modlarına izin verin.
execApprovals.agents.allowSecurityVarsayılanları devralan agents.*.securityYalnızca onaylanmış aracı başına etkin onay güvenliği modlarına izin verin.
execApprovals.agents.allowAutoAllowSkillsÇalışma zamanı varsayılanlarını devralan defaults.autoAllowSkills ve agents.*.autoAllowSkillsÖrtük skill CLI onayı olmadan katı manuel izin listelerini zorunlu kılmak için false olarak ayarlayın.
execApprovals.agents.allowlist.expectedToplu agents.*.allowlist[] deseni ve isteğe bağlı argPattern girdileriOnay izin listesinin incelenmiş desen kümesiyle eşleşmesini zorunlu kılın.
Örneğin, onay artefaktını zorunlu kılın, izin verici varsayılanları reddedin ve seçili aracılar için yalnızca incelenmiş exec onay duruşuna izin verin:
{
  "execApprovals": {
    "requireFile": true,
    "defaults": {
      // Security modes: "deny", "allowlist", or "full".
      // This default permits only the locked-down deny posture.
      "allowSecurity": ["deny"],
    },
  },
  "scopes": {
    "restricted-shell": {
      "agentIds": ["family-agent", "groups-agent"],
      "execApprovals": {
        "agents": {
          // Selected agents may use reviewed allowlist posture, but not "full".
          "allowSecurity": ["allowlist"],
          // false means skill CLIs must appear in the reviewed allowlist instead of
          // being implicitly approved by autoAllowSkills.
          "allowAutoAllowSkills": false,
          "allowlist": {
            "expected": [
              // Simple entry: exact reviewed executable pattern with no argPattern.
              "travel-hub",
              // Constrained entry: pattern plus reviewed argument regex.
              { "pattern": "calendar-cli", "argPattern": "^sync\\b" },
              "/bin/date",
            ],
          },
        },
      },
    },
  },
}

Auth profilleri

Politika alanıGözlemlenen durumNe zaman kullanılır
auth.profiles.requireMetadataauth.profiles.* sağlayıcı ve mod meta verileriYapılandırma auth profillerinde provider ve mode gibi meta veri anahtarlarını zorunlu kılın.
auth.profiles.allowModesauth.profiles.*.modeapi_key, aws-sdk, oauth veya token gibi yalnızca desteklenen auth profil modlarına izin verin.

Araç meta verileri

Politika alanıGözlemlenen durumNe zaman kullanılır
tools.requireMetadataYönetilen TOOLS.md bildirimleriYönetilen araçların risk, sensitivity veya owner gibi meta veri anahtarlarını bildirmesini zorunlu kılın.

Araç duruşu

Politika alanıGözlemlenen durumNe zaman kullanılır
tools.profiles.allowtools.profile ve agents.list[].tools.profileminimal, messaging veya coding gibi yalnızca araç profili kimliklerine izin verin.
tools.fs.requireWorkspaceOnlytools.fs.workspaceOnly ve aracı başına tools.fs geçersiz kılmalarıYalnızca çalışma alanı dosya sistemi aracı duruşunu zorunlu kılmak için true olarak ayarlayın.
tools.exec.allowSecuritytools.exec.security ve aracı başına exec güvenliğideny veya allowlist gibi yalnızca exec güvenliği modlarına izin verin.
tools.exec.requireAsktools.exec.ask ve aracı başına exec sorma modualways gibi onay duruşunu zorunlu kılın.
tools.exec.allowHoststools.exec.host ve aracı başına exec host yönlendirmesisandbox gibi yalnızca exec host yönlendirme modlarına izin verin.
tools.elevated.allowtools.elevated.enabled ve aracı başına elevated duruşuElevated araç modunun devre dışı kalmasını zorunlu kılmak için false olarak ayarlayın.
tools.alsoAllow.expectedtools.alsoAllow ve aracı başına tools.alsoAllowTam alsoAllow girdilerini zorunlu kılın ve eksik veya beklenmeyen ek araç izinlerini raporlayın.
tools.denyToolstools.deny ve agents.list[].tools.denyYapılandırılmış araç engelleme listelerinin group:runtime ve group:fs gibi araç kimliklerini veya grupları içermesini zorunlu kılın.
Yazım sırasında yalnızca politika kontrollerini çalıştırın:
openclaw policy check
openclaw policy check --json
openclaw policy check --severity-min error
policy check yalnızca politika kontrol kümesini çalıştırır ve kanıt, bulgular ve tasdik karmaları üretir. Policy plugin etkinleştirildiğinde aynı bulgular openclaw doctor --lint içinde de görünür. Bir operatör politika dosyasını yazılmış bir temel politika dosyasıyla karşılaştırın:
openclaw policy compare --baseline official.policy.jsonc
openclaw policy compare --baseline official.policy.jsonc --policy policy.jsonc --json
policy compare, politika dosyası söz dizimini politika dosyası söz dizimiyle karşılaştırır. OpenClaw çalışma zamanı durumunu, kanıtları, kimlik bilgilerini veya sırları incelemez. Komut, kapsamlı bindirmeleri yöneten aynı politika kuralı meta verilerini kullanır: izin listeleri eşit veya daha dar kalmalı, engelleme listeleri eşit veya daha geniş kalmalı, zorunlu boolean değerler zorunlu değerlerini korumalı, sıralı dizeler yapılandırılmış sıranın yalnızca daha kısıtlayıcı ucuna doğru hareket etmeli ve tam listeler eşleşmelidir. Temel dosya kuruluş tarafından yazılmış bir politika olabilir. Kontrol edilen politika daha katı değerler kullanabilir veya ek politika kuralları ekleyebilir. Üst düzeyde kontrol edilen bir kural, eşit veya daha kısıtlayıcı olduğunda kapsamlı bir temel kuralı da karşılayabilir çünkü üst düzey politika geniş biçimde uygulanır. Kapsam adlarının eşleşmesi gerekmez; kapsamlı karşılaştırma, agentIds veya channelIds gibi seçici değerine ve kontrol edilen politika alanına göre anahtarlanır. Örnek temiz karşılaştırma JSON çıktısı yalnızca politika dosyası karşılaştırma durumunu bildirir:
{
  "ok": true,
  "baselinePath": "official.policy.jsonc",
  "policyPath": "policy.jsonc",
  "rulesChecked": 3,
  "findings": []
}
Örnek temiz policy check --json çıktısı, bir operatör veya gözetmen tarafından kaydedilebilen kararlı karmaları içerir:
{
  "ok": true,
  "attestation": {
    "policy": {
      "path": "policy.jsonc",
      "hash": "sha256:..."
    },
    "workspace": {
      "scope": "policy",
      "hash": "sha256:..."
    },
    "findingsHash": "sha256:...",
    "attestationHash": "sha256:..."
  },
  "checksRun": 5,
  "checksSkipped": 0,
  "findings": []
}

Politikayı yapılandırma

Politika yapılandırması plugins.entries.policy.config altında bulunur.
{
  "plugins": {
    "entries": {
      "policy": {
        "enabled": true,
        "config": {
          "enabled": true,
          "path": "policy.jsonc",
          "workspaceRepairs": false,
          "expectedHash": "sha256:...",
          "expectedAttestationHash": "sha256:...",
        },
      },
    },
  },
}
AyarAmaç
enabledpolicy.jsonc var olmadan önce bile politika kontrollerini etkinleştirin.
workspaceRepairsdoctor --fix komutunun politika tarafından yönetilen çalışma alanı ayarlarını düzenlemesine izin verin.
expectedHashOnaylanmış politika artefaktı için isteğe bağlı karma kilidi.
expectedAttestationHashSon kabul edilmiş temiz politika kontrolü için isteğe bağlı karma kilidi.
pathPolitika artefaktının çalışma alanına göre konumu.
Bir çalışma alanı için politika kontrollerini devre dışı bırakırken plugin’in kurulu kalmasını sağlamak üzere plugins.entries.policy.config.enabled değerini false olarak ayarlayın. Araç meta veri gereksinimleri policy.jsonc içinde tools.requireMetadata ile yazılır, örneğin ["risk", "sensitivity", "owner"].

Politika durumunu kabul et

Örnek JSON çıktısı:
{
  "ok": true,
  "attestation": {
    "checkedAt": "2026-05-10T20:00:00.000Z",
    "policy": {
      "path": "policy.jsonc",
      "hash": "sha256:..."
    },
    "workspace": {
      "scope": "policy",
      "hash": "sha256:..."
    },
    "findingsHash": "sha256:...",
    "attestationHash": "sha256:..."
  },
  "evidence": {
    "channels": [
      {
        "id": "telegram",
        "provider": "telegram",
        "source": "oc://openclaw.config/channels/telegram",
        "enabled": false
      }
    ],
    "mcpServers": [
      {
        "id": "docs",
        "transport": "stdio",
        "source": "oc://openclaw.config/mcp/servers/docs",
        "command": "npx"
      }
    ],
    "modelProviders": [
      {
        "id": "openai",
        "source": "oc://openclaw.config/models/providers/openai"
      }
    ],
    "modelRefs": [
      {
        "ref": "openai/gpt-5.5",
        "provider": "openai",
        "model": "gpt-5.5",
        "source": "oc://openclaw.config/agents/defaults/model"
      }
    ],
    "network": [
      {
        "id": "browser-private-network",
        "source": "oc://openclaw.config/browser/ssrfPolicy/dangerouslyAllowPrivateNetwork",
        "value": false
      }
    ],
    "gatewayExposure": [
      {
        "id": "gateway-bind",
        "kind": "bind",
        "source": "oc://openclaw.config/gateway/bind",
        "value": "loopback",
        "nonLoopback": false,
        "explicit": true
      }
    ],
    "agentWorkspace": [
      {
        "id": "agents-defaults-workspace-access",
        "kind": "workspaceAccess",
        "source": "oc://openclaw.config/agents/defaults/sandbox/workspaceAccess",
        "scope": "defaults",
        "value": "ro",
        "sandboxMode": "all",
        "sandboxModeSource": "oc://openclaw.config/agents/defaults/sandbox/mode",
        "sandboxEnabled": true,
        "explicit": true
      },
      {
        "id": "agents-defaults-tool-exec",
        "kind": "toolDeny",
        "source": "oc://openclaw.config/tools/deny",
        "scope": "defaults",
        "tool": "exec",
        "denied": true,
        "explicit": true
      }
    ],
    "secrets": [
      {
        "id": "vault",
        "kind": "provider",
        "source": "oc://openclaw.config/secrets/providers/vault",
        "providerSource": "env"
      },
      {
        "id": "oc://openclaw.config/models/providers/openai/apiKey",
        "kind": "input",
        "source": "oc://openclaw.config/models/providers/openai/apiKey",
        "provenance": "secretRef",
        "refSource": "env",
        "refProvider": "vault"
      }
    ],
    "authProfiles": [
      {
        "id": "github",
        "source": "oc://openclaw.config/auth/profiles/github",
        "validMetadata": true,
        "provider": "github",
        "mode": "token"
      }
    ],
    "tools": [
      {
        "id": "deploy",
        "source": "oc://TOOLS.md/tools/deploy",
        "line": 12,
        "risk": "critical",
        "sensitivity": "restricted",
        "capabilities": ["IRREVERSIBLE_EXTERNAL"]
      }
    ]
  },
  "checksRun": 30,
  "checksSkipped": 0,
  "findings": []
}
İlke karması, yazılmış kural artefaktını tanımlar. Kanıt bloğu, ilke denetimleri tarafından kullanılan gözlemlenmiş OpenClaw durumunu kaydeder. workspace.hash değeri, denetlenen kapsam için bu kanıt yükünü tanımlar. Bulgular karması, denetim tarafından döndürülen tam bulgu kümesini tanımlar. checkedAt, değerlendirmenin ne zaman çalıştığını kaydeder. Onay karması, kararlı beyanı tanımlar: ilke karması, kanıt karması, bulgular karması ve sonucun temiz olup olmadığı. Bilerek checkedAt değerini içermez; böylece aynı ilke durumu, tekrarlanan denetimlerde aynı onayı üretir. Bunlar birlikte, bu ilke denetimi için denetim demetini oluşturur. Daha sonra bir Gateway veya gözetmen, çalışma zamanı eylemini engellemek, onaylamak ya da açıklama eklemek için ilke kullanırsa, son temiz ilke denetiminden gelen onay karmasını kaydetmelidir. checkedAt, denetim günlükleri için JSON çıktısında kalır, ancak kararlı onay karmasının parçası değildir. İlke durumunu kabul ederken bu yaşam döngüsünü kullanın:
  1. policy.jsonc dosyasını yazın veya gözden geçirin.
  2. openclaw policy check --json komutunu çalıştırın.
  3. Sonuç temizse, attestation.policy.hash değerini expectedHash olarak kaydedin.
  4. attestation.attestationHash değerini expectedAttestationHash olarak kaydedin.
  5. CI veya yayın kapılarında openclaw doctor --lint komutunu yeniden çalıştırın.
İlke kuralları bilinçli olarak değişirse, temiz bir denetimden kabul edilen iki karmayı da güncelleyin. Çalışma alanı ayarları bilinçli olarak değişir ancak ilke aynı kalırsa, genellikle yalnızca expectedAttestationHash değişir. agents.workspace kurallarını etkinleştirmek veya yükseltmek, çalışma alanı karmasına ve onay karmasına agentWorkspace kanıtı ekler. Operatörler, bu kuralları etkinleştirdikten sonra yeni kanıtı gözden geçirmeli ve kabul edilen onay karmalarını yenilemelidir. Araç duruşu kurallarını etkinleştirmek veya yükseltmek de aynı şekilde toolPosture kanıtı ekler. openclaw policy watch, aynı denetimi tekrar tekrar çalıştırır ve geçerli kanıt artık expectedAttestationHash ile eşleşmediğinde bunu bildirir:
openclaw policy watch --json
Yalnızca tek bir sapma değerlendirmesine ihtiyaç duyan CI veya betiklerde --once kullanın. --once olmadan komut varsayılan olarak her iki saniyede bir sorgular; farklı bir aralık seçmek için --interval-ms kullanın.

Bulgular

İlke şu anda şunları doğrular:
Denetim kimliğiBulgu
policy/policy-jsonc-missingPolitika etkin, ancak policy.jsonc eksik.
policy/policy-jsonc-invalidPolitika ayrıştırılamıyor veya hatalı biçimlendirilmiş kural girdileri içeriyor.
policy/policy-hash-mismatchPolitika yapılandırılmış expectedHash ile eşleşmiyor.
policy/attestation-hash-mismatchGeçerli politika kanıtı artık kabul edilen doğrulama beyanıyla eşleşmiyor.
policy/policy-conformance-invalidBir temel veya denetlenen politika dosyasında geçersiz karşılaştırma söz dizimi var.
policy/policy-conformance-missingDenetlenen bir politika dosyasında temel politika dosyasının gerektirdiği bir kural eksik.
policy/policy-conformance-weakerDenetlenen bir politika dosyasında temel politika dosyasından daha zayıf bir değer var.
policy/channels-denied-providerEtkin bir kanal, kanal reddetme kuralıyla eşleşiyor.
policy/mcp-denied-serverYapılandırılmış bir MCP sunucusu politika tarafından reddediliyor.
policy/mcp-unapproved-serverYapılandırılmış bir MCP sunucusu izin listesinin dışında.
policy/models-denied-providerYapılandırılmış bir model sağlayıcısı veya model referansı reddedilen bir sağlayıcı kullanıyor.
policy/models-unapproved-providerYapılandırılmış bir model sağlayıcısı veya model referansı izin listesinin dışında.
policy/network-private-access-enabledPolitika reddettiği halde özel ağ SSRF kaçış yolu etkin.
policy/ingress-dm-policy-unapprovedBir kanal DM politikası, politika izin listesinin dışında.
policy/ingress-dm-scope-unapprovedsession.dmScope, politikanın gerektirdiği DM yalıtım kapsamıyla eşleşmiyor.
policy/ingress-open-groups-deniedPolitika açık grup girişini reddederken bir kanal grubu politikası open.
policy/ingress-group-mention-requiredPolitika bunları gerektirirken bir kanal veya grup girdisi mention kapılarını devre dışı bırakıyor.
policy/gateway-non-loopback-bindGateway bağlama duruşu, politika reddettiği halde local loopback dışı maruz kalmaya izin veriyor.
policy/gateway-auth-disabledPolitika kimlik doğrulaması gerektirirken Gateway kimlik doğrulaması devre dışı.
policy/gateway-rate-limit-missingPolitika gerektirirken Gateway kimlik doğrulaması hız sınırlama duruşu açıkça belirtilmemiş.
policy/gateway-control-ui-insecureGateway Control UI güvensiz maruz kalma anahtarları etkin.
policy/gateway-tailscale-funnelPolitika reddettiği halde Gateway Tailscale Funnel maruziyeti etkin.
policy/gateway-remote-enabledPolitika reddettiği halde Gateway uzak modu etkin.
policy/gateway-http-endpoint-enabledPolitika tarafından reddedilmişken bir Gateway HTTP API uç noktası etkin.
policy/gateway-http-url-fetch-unrestrictedGateway HTTP URL getirme girdisinde gereken URL izin listesi yok.
policy/agents-workspace-access-deniedAjan korumalı alan modu veya çalışma alanı erişimi, politika izin listesinin dışında.
policy/agents-tool-not-deniedBir ajan veya varsayılan yapılandırma, politikanın gerektirdiği bir aracı reddetmiyor.
policy/tools-profile-unapprovedYapılandırılmış bir genel veya ajan başına araç profili izin listesinin dışında.
policy/tools-fs-workspace-only-requiredDosya sistemi araçları yalnızca çalışma alanı yolu duruşuyla yapılandırılmamış.
policy/tools-exec-security-unapprovedExec güvenlik modu politika izin listesinin dışında.
policy/tools-exec-ask-unapprovedExec sorma modu politika izin listesinin dışında.
policy/tools-exec-host-unapprovedExec ana makine yönlendirmesi politika izin listesinin dışında.
policy/tools-elevated-enabledPolitika reddettiği halde yükseltilmiş araç modu etkin.
policy/tools-also-allow-missingYapılandırılmış bir alsoAllow listesinde politikanın gerektirdiği bir girdi eksik.
policy/tools-also-allow-unexpectedYapılandırılmış bir alsoAllow listesi politikanın beklemediği bir girdi içeriyor.
policy/tools-required-deny-missingGenel veya ajan başına araç reddetme listesi, gerekli reddedilmiş aracı içermiyor.
policy/sandbox-mode-unapprovedKorumalı alan modu politika izin listesinin dışında.
policy/sandbox-backend-unapprovedKorumalı alan arka ucu politika izin listesinin dışında.
policy/sandbox-container-posture-unobservableGözlemleyemeyen bir arka uç için bir kapsayıcı duruş kuralı etkin.
policy/sandbox-container-host-network-deniedKapsayıcı destekli bir korumalı alan veya tarayıcı ana makine ağ modunu kullanıyor.
policy/sandbox-container-namespace-join-deniedKapsayıcı destekli bir korumalı alan veya tarayıcı başka bir kapsayıcı ad alanına katılıyor.
policy/sandbox-container-mount-mode-requiredKapsayıcı destekli bir korumalı alan veya tarayıcı bağlaması salt okunur değil.
policy/sandbox-container-runtime-socket-mountKapsayıcı destekli bir korumalı alan veya tarayıcı bağlaması kapsayıcı çalışma zamanı soketini açığa çıkarıyor.
policy/sandbox-container-unconfined-profilePolitika reddettiği halde kapsayıcı korumalı alan profili sınırsız.
policy/sandbox-browser-cdp-source-range-missingPolitika gerektirirken korumalı alan tarayıcı CDP kaynak aralığı eksik.
policy/data-handling-redaction-disabledPolitika gerektirirken hassas günlük kaydı redaksiyonu devre dışı.
policy/data-handling-telemetry-content-capturePolitika reddettiği halde telemetri içerik yakalama etkin.
policy/data-handling-session-retention-not-enforcedPolitika gerektirirken oturum saklama bakımı uygulanmıyor.
policy/data-handling-session-transcript-memory-enabledPolitika reddettiği halde oturum transkripti bellek indeksleme etkin.
policy/secrets-unmanaged-providerBir yapılandırma SecretRef’i secrets.providers altında bildirilmeyen bir sağlayıcıya başvuruyor.
policy/secrets-denied-provider-sourceBir yapılandırma gizli bilgi sağlayıcısı veya SecretRef, politika tarafından reddedilen bir kaynak kullanıyor.
policy/secrets-insecure-providerBir gizli bilgi sağlayıcısı, politika reddettiği halde güvensiz duruşu seçiyor.
policy/auth-profile-invalid-metadataBir yapılandırma kimlik doğrulama profilinde geçerli sağlayıcı veya mod meta verisi eksik.
policy/auth-profile-unapproved-modeBir yapılandırma kimlik doğrulama profili modu politika izin listesinin dışında.
policy/exec-approvals-missingPolitika exec-approvals.json gerektiriyor, ancak yapıt eksik.
policy/exec-approvals-invalidYapılandırılmış exec onayları yapıtı ayrıştırılamıyor.
policy/exec-approvals-default-security-unapprovedExec onayı varsayılanları, politika izin listesinin dışında bir güvenlik modu kullanıyor.
policy/exec-approvals-agent-security-unapprovedAjan başına geçerli exec onayı güvenlik modu izin listesinin dışında.
policy/exec-approvals-auto-allow-skills-enabledBir exec onay ajanı, politika reddettiği halde skill CLI’larına örtük olarak otomatik izin veriyor.
policy/exec-approvals-allowlist-missingOnay izin listesinde politikanın gerektirdiği bir kalıp eksik.
policy/exec-approvals-allowlist-unexpectedOnay izin listesi politikanın beklemediği bir kalıp içeriyor.
policy/tools-missing-risk-levelYönetilen bir araç bildiriminde risk meta verisi eksik.
policy/tools-unknown-risk-levelYönetilen bir araç bildirimi bilinmeyen bir risk değeri kullanıyor.
policy/tools-missing-sensitivity-tokenYönetilen bir araç bildiriminde hassasiyet meta verisi eksik.
policy/tools-missing-ownerYönetilen bir araç bildiriminde sahip meta verisi eksik.
policy/tools-unknown-sensitivity-tokenYönetilen bir araç bildirimi bilinmeyen bir hassasiyet değeri kullanıyor.
Politika bulguları hem target hem de requirement içerebilir. target, uyumlu olmayan gözlemlenen çalışma alanı öğesidir. requirement, bunu bulgu haline getiren yazılmış politika kuralıdır. İki değer de bugün adrestir, genellikle oc:// yollarıdır, ancak alan adları adres biçiminden çok politika rollerini açıklar. Örnek JSON bulgusu:
{
  "checkId": "policy/channels-denied-provider",
  "severity": "error",
  "message": "Channel 'telegram' uses denied provider 'telegram'.",
  "source": "policy",
  "path": "openclaw config",
  "ocPath": "oc://openclaw.config/channels/telegram",
  "target": "oc://openclaw.config/channels/telegram",
  "requirement": "oc://policy.jsonc/channels/denyRules/#0",
  "fixHint": "Telegram is not approved for this workspace."
}
Örnek araç bulgusu:
{
  "checkId": "policy/tools-missing-risk-level",
  "severity": "error",
  "message": "TOOLS.md tool 'deploy' has no explicit risk classification.",
  "source": "policy",
  "path": "TOOLS.md",
  "line": 12,
  "ocPath": "oc://TOOLS.md/tools/deploy",
  "target": "oc://TOOLS.md/tools/deploy",
  "requirement": "oc://policy.jsonc/tools/requireMetadata"
}
Örnek MCP bulgusu:
{
  "checkId": "policy/mcp-unapproved-server",
  "severity": "error",
  "message": "MCP server 'remote' is not in the policy allowlist.",
  "source": "policy",
  "path": "openclaw config",
  "ocPath": "oc://openclaw.config/mcp/servers/remote",
  "target": "oc://openclaw.config/mcp/servers/remote",
  "requirement": "oc://policy.jsonc/mcp/servers/allow"
}
Örnek model sağlayıcısı bulgusu:
{
  "checkId": "policy/models-unapproved-provider",
  "severity": "error",
  "message": "Model ref 'anthropic/claude-sonnet-4.7' uses unapproved provider 'anthropic'.",
  "source": "policy",
  "path": "openclaw config",
  "ocPath": "oc://openclaw.config/agents/defaults/model/fallbacks/#0",
  "target": "oc://openclaw.config/agents/defaults/model/fallbacks/#0",
  "requirement": "oc://policy.jsonc/models/providers/allow"
}
Örnek ağ bulgusu:
{
  "checkId": "policy/network-private-access-enabled",
  "severity": "error",
  "message": "Network setting 'browser-private-network' allows private-network access.",
  "source": "policy",
  "path": "openclaw config",
  "ocPath": "oc://openclaw.config/browser/ssrfPolicy/dangerouslyAllowPrivateNetwork",
  "target": "oc://openclaw.config/browser/ssrfPolicy/dangerouslyAllowPrivateNetwork",
  "requirement": "oc://policy.jsonc/network/privateNetwork/allow"
}
Örnek Gateway açığa çıkma bulgusu:
{
  "checkId": "policy/gateway-non-loopback-bind",
  "severity": "error",
  "message": "Gateway bind setting 'gateway-bind' permits non-loopback exposure.",
  "source": "policy",
  "path": "openclaw config",
  "ocPath": "oc://openclaw.config/gateway/bind",
  "target": "oc://openclaw.config/gateway/bind",
  "requirement": "oc://policy.jsonc/gateway/exposure/allowNonLoopbackBind"
}
Örnek ajan çalışma alanı bulgusu:
{
  "checkId": "policy/agents-workspace-access-denied",
  "severity": "error",
  "message": "agents.defaults sandbox workspaceAccess 'rw' is not allowed by policy.",
  "source": "policy",
  "path": "openclaw config",
  "ocPath": "oc://openclaw.config/agents/defaults/sandbox/workspaceAccess",
  "target": "oc://openclaw.config/agents/defaults/sandbox/workspaceAccess",
  "requirement": "oc://policy.jsonc/agents/workspace/allowedAccess"
}

Onarım

doctor --lint ve policy check salt okunurdur. doctor --fix, yalnızca workspaceRepairs açıkça etkinleştirildiğinde ilke tarafından yönetilen çalışma alanı ayarlarını düzenler. Bu katılım olmadan, ilke denetimleri neyi onaracaklarını bildirir ve ayarları değiştirmeden bırakır. Bu sürümde onarım, OpenClaw yapılandırmasında etkinleştirilmiş ancak channels.denyRules tarafından reddedilen kanalları devre dışı bırakabilir. workspaceRepairs özelliğini yalnızca ilke dosyası gözden geçirildikten sonra etkinleştirin, çünkü geçerli bir reddetme kuralı yapılandırılmış bir kanalı kapatabilir:
{
  "plugins": {
    "entries": {
      "policy": {
        "config": {
          "workspaceRepairs": true,
        },
      },
    },
  },
}

Çıkış kodları

Komut012
policy checkEşikte bulgu yok.Bir veya daha fazla bulgu eşiği karşıladı.Bağımsız değişken veya çalışma zamanı hatası.
policy compareİlke dosyası en az temel kadar katı.İlke dosyası geçersiz, eksik veya temel kurallardan daha zayıf.Bağımsız değişken veya çalışma zamanı hatası.
policy watchBulgu yok ve kabul edilen hash güncel.Bulgular var veya kabul edilen tasdik güncel değil.Bağımsız değişken veya çalışma zamanı hatası.

İlgili