@f4bioo/berry-shield 2026.3.3-1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (52) hide show
  1. package/CONTRIBUTING.md +32 -0
  2. package/LICENSE +201 -0
  3. package/README.md +251 -0
  4. package/SECURITY_AUDIT.md +96 -0
  5. package/docs/wiki/README.md +108 -0
  6. package/docs/wiki/decision/README.md +48 -0
  7. package/docs/wiki/decision/modes.md +176 -0
  8. package/docs/wiki/decision/patterns.md +137 -0
  9. package/docs/wiki/decision/posture.md +68 -0
  10. package/docs/wiki/deploy/README.md +51 -0
  11. package/docs/wiki/deploy/auditing.md +56 -0
  12. package/docs/wiki/deploy/build.md +92 -0
  13. package/docs/wiki/deploy/github-ci-cd.md +107 -0
  14. package/docs/wiki/deploy/installation.md +348 -0
  15. package/docs/wiki/engine/README.md +53 -0
  16. package/docs/wiki/engine/match-engine.md +91 -0
  17. package/docs/wiki/engine/performance.md +114 -0
  18. package/docs/wiki/engine/redaction.md +120 -0
  19. package/docs/wiki/layers/README.md +68 -0
  20. package/docs/wiki/layers/leaf.md +126 -0
  21. package/docs/wiki/layers/pulp.md +139 -0
  22. package/docs/wiki/layers/root.md +130 -0
  23. package/docs/wiki/layers/stem.md +139 -0
  24. package/docs/wiki/layers/thorn.md +139 -0
  25. package/docs/wiki/layers/vine.md +154 -0
  26. package/docs/wiki/operation/README.md +31 -0
  27. package/docs/wiki/operation/cli/README.md +122 -0
  28. package/docs/wiki/operation/cli/add.md +157 -0
  29. package/docs/wiki/operation/cli/help.md +83 -0
  30. package/docs/wiki/operation/cli/init.md +52 -0
  31. package/docs/wiki/operation/cli/list.md +78 -0
  32. package/docs/wiki/operation/cli/mode.md +93 -0
  33. package/docs/wiki/operation/cli/policy.md +202 -0
  34. package/docs/wiki/operation/cli/profile.md +98 -0
  35. package/docs/wiki/operation/cli/remove.md +96 -0
  36. package/docs/wiki/operation/cli/report.md +66 -0
  37. package/docs/wiki/operation/cli/reset.md +99 -0
  38. package/docs/wiki/operation/cli/rules.md +161 -0
  39. package/docs/wiki/operation/cli/status.md +103 -0
  40. package/docs/wiki/operation/cli/test.md +119 -0
  41. package/docs/wiki/operation/cli/toggle.md +90 -0
  42. package/docs/wiki/operation/cli/vine.md +193 -0
  43. package/docs/wiki/operation/web/README.md +27 -0
  44. package/docs/wiki/tutorials/README.md +40 -0
  45. package/docs/wiki/tutorials/audit-to-enforce-rollout.md +99 -0
  46. package/docs/wiki/tutorials/build-custom-rules.md +99 -0
  47. package/docs/wiki/tutorials/choose-profile.md +91 -0
  48. package/docs/wiki/tutorials/incident-triage-report.md +99 -0
  49. package/docs/wiki/tutorials/secure-session.md +115 -0
  50. package/docs/wiki/tutorials/tune-policy.md +111 -0
  51. package/openclaw.plugin.json +293 -0
  52. package/package.json +70 -0
@@ -0,0 +1,98 @@
1
+ ---
2
+ summary: "CLI reference for `openclaw bshield profile` (set policy profile to strict, balanced, or minimal)"
3
+ read_when:
4
+ - You need to change policy behavior quickly without editing individual policy paths
5
+ - You want to standardize profile setup before security tests
6
+ title: "profile"
7
+ ---
8
+
9
+ # `openclaw bshield profile`
10
+
11
+ Set the Berry Shield policy profile to `strict`, `balanced`, or `minimal`.
12
+
13
+ ## What it does
14
+ - Validates profile argument against allowed values.
15
+ - Writes profile into policy config path.
16
+ - Returns explicit success or failure output.
17
+
18
+ ## When to use
19
+ - When switching between policy behavior presets.
20
+ - Before adaptive behavior validation.
21
+ - When setting a consistent baseline in scripts.
22
+
23
+ ## Syntax
24
+
25
+ ### Set strict profile
26
+ Use this profile when full policy injection is required each turn.
27
+ ```bash
28
+ openclaw bshield profile strict
29
+ ```
30
+ Expected: CLI confirms switch to STRICT profile.
31
+
32
+ ### Set balanced profile
33
+ Use this profile as the default operating baseline.
34
+ ```bash
35
+ openclaw bshield profile balanced
36
+ ```
37
+ Expected: CLI confirms switch to BALANCED profile.
38
+
39
+ ### Set minimal profile
40
+ Use this profile when low-noise behavior is preferred.
41
+ ```bash
42
+ openclaw bshield profile minimal
43
+ ```
44
+ Expected: CLI confirms switch to MINIMAL profile.
45
+
46
+ ## Options
47
+ Positional argument:
48
+ - `<profile>`: accepted values are `strict`, `balanced`, `minimal`.
49
+
50
+ ## Tuning guide
51
+
52
+ | Profile | Use when | Expected behavior | Tradeoff |
53
+ | --- | --- | --- | --- |
54
+ | `strict` | You want maximum policy visibility and deterministic guardrails | Full policy is injected every turn | Strongest posture, highest context overhead |
55
+ | `balanced` | You need default production behavior with adaptive control | Full at session start, then adaptive reminders/escalation | Best general balance between safety and noise |
56
+ | `minimal` | You want low-noise interaction and rely on trigger-based escalation | No full injection on new session; escalates when needed | Lowest overhead, depends more on runtime triggers |
57
+
58
+ ## Examples
59
+
60
+ ### Apply balanced profile for standard operation
61
+ Use the balanced syntax command shown above before routine enforce-mode workflows.
62
+ Result: Policy profile is set to balanced and adaptive behavior follows balanced defaults.
63
+
64
+ ### Verify profile after update
65
+ Use this check immediately after profile changes.
66
+ ```bash
67
+ openclaw bshield status
68
+ ```
69
+ Result: Policy section shows the selected profile in uppercase.
70
+
71
+ ## Common errors
72
+
73
+ ### Invalid profile value
74
+ Use this to validate input checking behavior.
75
+ ```bash
76
+ openclaw bshield profile advanced
77
+ ```
78
+ Expected: CLI fails with an invalid profile message listing supported values.
79
+
80
+ ### Profile write failure
81
+ Use this when a valid profile update command (for example `openclaw bshield profile strict`) reports operation failure.
82
+ Expected: CLI prints operation failure and returns non-zero exit code.
83
+
84
+ Possible causes:
85
+ - Config write permission issue.
86
+ - Config backend/runtime error.
87
+
88
+ ## Related commands
89
+ - [index](README.md)
90
+ - [policy](policy.md)
91
+ - [status](status.md)
92
+ - [mode](mode.md)
93
+
94
+ ---
95
+
96
+ ## Navigation
97
+ - [Back to CLI Index](README.md)
98
+ - [Back to Wiki Index](../../README.md)
@@ -0,0 +1,96 @@
1
+ ---
2
+ summary: "CLI reference for `openclaw bshield rules remove custom` (delete one custom security rule by typed id)"
3
+ read_when:
4
+ - You need to remove a custom Berry Shield rule
5
+ - You are cleaning up test or deprecated custom rules
6
+ title: "remove"
7
+ ---
8
+
9
+ # `openclaw bshield rules remove custom`
10
+
11
+ Remove one custom Berry Shield rule by its identifier.
12
+
13
+ ## What it does
14
+ - Looks up a custom rule by typed identifier (`type:name`).
15
+ - Removes the rule from persistent custom storage.
16
+ - Returns success output when the rule is removed.
17
+ - Returns failure output when the rule does not exist.
18
+ - Does not mutate baseline rules.
19
+
20
+ ## When to use
21
+ - Removing obsolete custom patterns.
22
+ - Cleaning up temporary testing rules.
23
+ - Replacing a rule with a new pattern/version.
24
+
25
+ ## Syntax
26
+
27
+ ### Remove one custom rule by id
28
+ Use this to remove one existing custom rule.
29
+ ```bash
30
+ openclaw bshield rules remove custom <id>
31
+ ```
32
+ Expected: CLI confirms successful removal or reports that rule was not found.
33
+
34
+ ## Options
35
+ Positional arguments:
36
+ - custom: required target for custom-rule removal.
37
+ - `<id>`: custom rule identifier in `type:name` format.
38
+
39
+ ## Examples
40
+
41
+ ### Remove an existing custom rule
42
+ Use this when the exact custom rule id is known.
43
+ ```bash
44
+ openclaw bshield rules remove custom secret:MyToken
45
+ ```
46
+ Result: CLI confirms custom rule removal.
47
+
48
+ ### Remove a custom file rule
49
+ Use this when a file-pattern custom rule must be removed.
50
+ ```bash
51
+ openclaw bshield rules remove custom file:team-key
52
+ ```
53
+ Result: CLI confirms custom file-rule removal.
54
+
55
+ ### Verify removal through rules list
56
+ Use this to confirm the removed rule is no longer present.
57
+ ```bash
58
+ openclaw bshield rules list
59
+ ```
60
+ Result: Removed custom rule no longer appears in custom entries.
61
+
62
+ ### Disable a baseline rule (separate command)
63
+ Use this when the target is a baseline ID.
64
+ ```bash
65
+ openclaw bshield rules disable baseline secret:openai-key
66
+ ```
67
+ Result: Baseline rule is marked disabled in rules inventory.
68
+
69
+ ## Common errors
70
+
71
+ ### Wrong target
72
+ Use this to validate explicit target semantics.
73
+ ```bash
74
+ openclaw bshield rules remove baseline secret:openai-key
75
+ ```
76
+ Expected: CLI returns usage error because remove supports only custom target.
77
+
78
+ ### Rule not found
79
+ Use this to verify missing-rule behavior.
80
+ ```bash
81
+ openclaw bshield rules remove custom secret:UnknownRule
82
+ ```
83
+ Expected: CLI reports that the rule was not found.
84
+
85
+ ## Related commands
86
+ - [index](README.md)
87
+ - [rules](rules.md)
88
+ - [list](list.md)
89
+ - [add](add.md)
90
+ - [test](test.md)
91
+
92
+ ---
93
+
94
+ ## Navigation
95
+ - [Back to CLI Index](README.md)
96
+ - [Back to Wiki Index](../../README.md)
@@ -0,0 +1,66 @@
1
+ ---
2
+ summary: "CLI reference for `openclaw bshield report` (show or clear persisted audit events)"
3
+ read_when:
4
+ - You need to inspect persisted Berry Shield audit events
5
+ - You need to clear audit history before controlled tests
6
+ title: "report"
7
+ ---
8
+
9
+ # `openclaw bshield report`
10
+
11
+ Show persisted audit report data or clear it.
12
+
13
+ ## What it does
14
+ - Reads persisted audit events from Berry Shield storage.
15
+ - Prints event period, summary counters, and detail rows.
16
+ - Clears persisted events when `--clear` is provided.
17
+
18
+ ## When to use
19
+ - After tests to confirm `blocked` and `would_block` activity.
20
+ - Before tests to reset report state.
21
+ - During incident analysis to inspect recent security decisions.
22
+
23
+ ## Syntax
24
+
25
+ ### Show persisted report
26
+ Use this to inspect current persisted audit events.
27
+ ```bash
28
+ openclaw bshield report
29
+ ```
30
+ Expected: CLI prints total events, period, summary counters, and detail rows.
31
+
32
+ ### Clear persisted report
33
+ Use this to clear persisted audit events before a new test cycle.
34
+ ```bash
35
+ openclaw bshield report --clear
36
+ ```
37
+ Expected: CLI confirms clear operation and reports how many events were removed.
38
+
39
+ ## Options
40
+ - `--clear`: clear persisted audit report data instead of printing it.
41
+
42
+ ## Common errors
43
+
44
+ ### Report backend read failure
45
+ Use this when report rendering fails unexpectedly.
46
+ Expected: CLI prints a report generation error and returns non-zero exit code.
47
+
48
+ Possible causes:
49
+ - Audit storage file is not readable.
50
+ - Runtime/config path permission issue.
51
+ - Corrupted persisted report payload.
52
+
53
+ ### In-flight write visibility after clear
54
+ Use this when events appear shortly after `--clear`.
55
+ Expected: clear succeeds, but buffered in-flight events may still be written after the clear operation.
56
+
57
+ ## Related commands
58
+ - [index](README.md)
59
+ - [status](status.md)
60
+ - [mode](mode.md)
61
+
62
+ ---
63
+
64
+ ## Navigation
65
+ - [Back to CLI Index](README.md)
66
+ - [Back to Wiki Index](../../README.md)
@@ -0,0 +1,99 @@
1
+ ---
2
+ summary: "CLI reference for `openclaw bshield reset defaults` (restore built-in and optional full defaults)"
3
+ read_when:
4
+ - You need to restore built-in defaults after custom tuning
5
+ - You need to reset all custom state and policy to defaults
6
+ title: "reset"
7
+ ---
8
+
9
+ # `openclaw bshield reset`
10
+
11
+ Restore Berry Shield defaults with explicit scope control.
12
+
13
+ ## What it does
14
+ - Supports `reset defaults` as the default restoration target.
15
+ - Scope builtins clears disabled built-in IDs only.
16
+ - Scope all clears disabled built-ins, custom rules, and restores default policy.
17
+ - Requests confirmation unless `--yes` is provided.
18
+
19
+ ## When to use
20
+ - Reverting built-in tuning after a temporary exception.
21
+ - Returning to baseline protection before deployment.
22
+ - Recovering from heavy local customization during testing.
23
+
24
+ ## Syntax
25
+
26
+ ### Reset built-in defaults only
27
+ Use this to restore built-in baseline and keep custom rules.
28
+ ```bash
29
+ openclaw bshield reset defaults --scope builtins
30
+ ```
31
+ Expected: Disabled built-in IDs are cleared; custom rules remain intact.
32
+
33
+ ### Reset full defaults
34
+ Use this to restore both rule state and policy defaults.
35
+ ```bash
36
+ openclaw bshield reset defaults --scope all
37
+ ```
38
+ Expected: Disabled built-ins and custom rules are cleared; policy is restored to default config.
39
+
40
+ ### Non-interactive reset
41
+ Use this in automation where prompts are not allowed.
42
+ ```bash
43
+ openclaw bshield reset defaults --scope builtins --yes
44
+ ```
45
+ Expected: Command executes without confirmation prompt.
46
+
47
+ ## Options
48
+ Supported options:
49
+ - `--scope <scope>`
50
+ - builtins (default): reset disabled built-in IDs only
51
+ - all: reset disabled built-ins + custom rules + policy defaults
52
+ - `--yes`: skip confirmation prompt
53
+
54
+ Positional arguments:
55
+ - `<target>` currently supports defaults.
56
+
57
+ ## Examples
58
+
59
+ ### Restore only built-in baseline
60
+ Use this to keep your custom rules while undoing built-in disables.
61
+ ```bash
62
+ openclaw bshield reset defaults
63
+ ```
64
+ Result: Same behavior as `--scope builtins`.
65
+
66
+ ### Restore full baseline for clean-room testing
67
+ Use this before a full smoke test.
68
+ ```bash
69
+ openclaw bshield reset defaults --scope all --yes
70
+ ```
71
+ Result: Rules and policy return to default baseline without prompt.
72
+
73
+ ## Common errors
74
+
75
+ ### Invalid target
76
+ Use this to validate target parsing behavior.
77
+ ```bash
78
+ openclaw bshield reset unknown
79
+ ```
80
+ Expected: CLI returns usage failure and exits with error.
81
+
82
+ ### Invalid scope
83
+ Use this to validate scope values.
84
+ ```bash
85
+ openclaw bshield reset defaults --scope unknown
86
+ ```
87
+ Expected: CLI returns failure with valid scope values.
88
+
89
+ ## Related commands
90
+ - [index](README.md)
91
+ - [rules](rules.md)
92
+ - [list](list.md)
93
+ - [policy](policy.md)
94
+
95
+ ---
96
+
97
+ ## Navigation
98
+ - [Back to CLI Index](README.md)
99
+ - [Back to Wiki Index](../../README.md)
@@ -0,0 +1,161 @@
1
+ ---
2
+ summary: "CLI reference for `openclaw bshield rules` (baseline/custom rule management)"
3
+ read_when:
4
+ - You need to manage baseline and custom rule state from one namespace
5
+ - You are onboarding operators to the new rules command family
6
+ title: "rules"
7
+ ---
8
+
9
+ # `openclaw bshield rules`
10
+
11
+ Manage baseline and custom Berry Shield rules from one command group.
12
+
13
+ ## What it does
14
+ - Centralizes rule operations under rules.
15
+ - Reads and writes custom rule state from `pluginConfig.customRules` (single CLI/Web source).
16
+ - Lists baseline and custom inventory with explicit status.
17
+ - Removes custom rules by target + id (`type:name`).
18
+ - Enables or disables baseline and custom rules by ID or in bulk.
19
+
20
+ ## When to use
21
+ - Day-to-day rule operations in terminal automation.
22
+ - Security hardening sessions for baseline tuning.
23
+ - Cleanup or rotation of custom patterns.
24
+
25
+ ## Syntax
26
+
27
+ ### List inventory
28
+ Use this to review the current baseline and custom inventory before applying any change.
29
+ ```bash
30
+ openclaw bshield rules list
31
+ ```
32
+ Expected: Shows Baseline and Custom sections with explicit status.
33
+
34
+ ### List inventory with detailed patterns
35
+ Use this to inspect identifier and raw pattern together.
36
+ ```bash
37
+ openclaw bshield rules list --detailed
38
+ ```
39
+ Expected: Shows the same inventory plus `pattern:` lines for baseline and custom rules.
40
+
41
+ ### Remove custom rule
42
+ Use this to remove one custom rule by its stable custom identifier.
43
+ ```bash
44
+ openclaw bshield rules remove custom <id>
45
+ ```
46
+ Expected: Removes one custom rule by typed id (`secret:<name> | file:<name> | command:<name>`).
47
+
48
+ ### Disable one baseline rule
49
+ Use this to disable a single baseline rule when you need a controlled exception.
50
+ ```bash
51
+ openclaw bshield rules disable baseline <id>
52
+ ```
53
+ Expected: Marks one baseline rule as disabled.
54
+
55
+ ### Disable one custom rule
56
+ Use this to disable one custom rule without deleting it.
57
+ ```bash
58
+ openclaw bshield rules disable custom <id>
59
+ ```
60
+ Expected: Marks one custom rule as disabled and keeps it in inventory.
61
+
62
+ ### Enable one baseline rule
63
+ Use this to re-enable a previously disabled baseline rule by ID.
64
+ ```bash
65
+ openclaw bshield rules enable baseline <id>
66
+ ```
67
+ Expected: Marks one baseline rule as enabled.
68
+
69
+ ### Enable one custom rule
70
+ Use this to re-enable one custom rule by ID.
71
+ ```bash
72
+ openclaw bshield rules enable custom <id>
73
+ ```
74
+ Expected: Marks one custom rule as enabled.
75
+
76
+ ### Disable all baseline rules
77
+ Use this only in controlled testing scenarios where default baseline coverage must be turned off.
78
+ ```bash
79
+ openclaw bshield rules disable baseline --all --yes
80
+ ```
81
+ Expected: Disables all baseline IDs and warns about protection impact.
82
+
83
+ ### Enable all baseline rules
84
+ Use this to restore complete baseline coverage after bulk-disable scenarios.
85
+ ```bash
86
+ openclaw bshield rules enable baseline --all --yes
87
+ ```
88
+ Expected: Re-enables all baseline IDs.
89
+
90
+ ### Disable all custom rules
91
+ Use this to keep custom entries persisted but inactive.
92
+ ```bash
93
+ openclaw bshield rules disable custom --all --yes
94
+ ```
95
+ Expected: Disables all custom entries across secret, file, and command categories.
96
+
97
+ ### Enable all custom rules
98
+ Use this to reactivate all custom entries in one operation.
99
+ ```bash
100
+ openclaw bshield rules enable custom --all --yes
101
+ ```
102
+ Expected: Enables all custom entries across secret, file, and command categories.
103
+
104
+ ### Disable all rules globally
105
+ Use this to disable baseline and custom rules together.
106
+ ```bash
107
+ openclaw bshield rules disable --all --yes
108
+ ```
109
+ Expected: Applies disable to full rule scope (`baseline + custom`) with impact warning.
110
+
111
+ ### Enable all rules globally
112
+ Use this to restore full baseline and custom coverage in one step.
113
+ ```bash
114
+ openclaw bshield rules enable --all --yes
115
+ ```
116
+ Expected: Applies enable to full rule scope (`baseline + custom`).
117
+
118
+ ## Option rules
119
+ - disable/enable accept exactly one mode:
120
+ - `<id>` OR `--all`
121
+ - target is optional only for global `--all`.
122
+ - Invalid combinations return usage failure:
123
+ - `<id> + --all`
124
+ - neither `<id>` nor `--all`
125
+ - `--yes` is meaningful only for `--all` operations.
126
+
127
+ ## Common errors
128
+
129
+ ### Wrong target for remove
130
+ Use this check to validate that remove only accepts the custom target.
131
+ ```bash
132
+ openclaw bshield rules remove baseline secret:openai-key
133
+ ```
134
+ Expected: Usage failure (remove supports only custom target).
135
+
136
+ ### Unknown baseline ID
137
+ Use this check to validate error handling when an ID does not exist in baseline catalog.
138
+ ```bash
139
+ openclaw bshield rules disable baseline secret:does-not-exist
140
+ ```
141
+ Expected: Operation failure (`Unknown baseline rule id`).
142
+
143
+ ### Unknown custom ID
144
+ Use this check to validate error handling when a custom rule is not found.
145
+ ```bash
146
+ openclaw bshield rules disable custom secret:does-not-exist
147
+ ```
148
+ Expected: Operation failure (`Unknown custom rule id`).
149
+
150
+ ## Related commands
151
+ - [index](README.md)
152
+ - [list](list.md)
153
+ - [remove](remove.md)
154
+ - [add](add.md)
155
+ - [reset](reset.md)
156
+
157
+ ---
158
+
159
+ ## Navigation
160
+ - [Back to CLI Index](README.md)
161
+ - [Back to Wiki Index](../../README.md)
@@ -0,0 +1,103 @@
1
+ ---
2
+ summary: "CLI reference for `openclaw bshield status` (runtime mode, policy, rules, and layers)"
3
+ read_when:
4
+ - You need to verify current Berry Shield runtime configuration
5
+ - You changed mode, profile, policy, or layers and want confirmation
6
+ title: "status"
7
+ ---
8
+
9
+ # `openclaw bshield status`
10
+
11
+ Show the effective Berry Shield runtime state resolved from OpenClaw plugin config plus Berry defaults.
12
+
13
+ ## What it does
14
+ - Reads plugin config from OpenClaw config storage.
15
+ - Merges config with Berry Shield defaults.
16
+ - Prints current plugin state (`Status`, `Mode`, and rule counters).
17
+ - Prints policy state (`Profile`, adaptive values, and global escalation toggle).
18
+ - Prints Vine state (`Mode`, thresholds, retention, and allowlist size).
19
+ - Prints each security layer status as `ACTIVE` or `OFF`.
20
+
21
+ ## When to use
22
+ - After changing `mode`, `profile`, or `policy`.
23
+ - After toggling a layer.
24
+ - Before and after smoke tests to confirm runtime posture.
25
+ - During incident triage to verify what is effectively active.
26
+
27
+ ## Syntax
28
+
29
+ ### Base command
30
+ Use this command to inspect the full Berry Shield state.
31
+ ```bash
32
+ openclaw bshield status
33
+ ```
34
+ Expected: Output includes Status, Mode, Rules, Policy, Vine, and Security Layers sections.
35
+
36
+ ## Options
37
+ This command has no command-specific flags or positional arguments.
38
+
39
+ ## Output interpretation guide
40
+
41
+ ### Status and mode
42
+ Command for this check: `openclaw bshield status`.
43
+ Result expected for an active deployment:
44
+ - `Status` should be `ENABLED`.
45
+ - `Mode` should be either `AUDIT` or `ENFORCE`, matching your intended test posture.
46
+
47
+ ### Rules counters
48
+ Command for this check: `openclaw bshield status`.
49
+ Result expected:
50
+ - `BASELINE` count represents baseline shipped protections.
51
+ - `CUSTOM` count represents user-defined entries currently loaded.
52
+
53
+ ### Policy section
54
+ Command for this check: `openclaw bshield status`.
55
+ Result expected:
56
+ - `Profile` is one of `STRICT`, `BALANCED`, `MINIMAL`.
57
+ - `Escalation`, `Stale (min)`, `Heartbeat`, and `Global Escalation` reflect configured values.
58
+
59
+ ### Vine section
60
+ Command for this check: `openclaw bshield status`.
61
+ Result expected:
62
+ - `Mode` shows Vine behavior (`BALANCED` or `STRICT`).
63
+ - Thresholds and retention values match expected operational tuning.
64
+ - `Allowlist` shows the number of exempt tools.
65
+
66
+ ### Security layers section
67
+ Command for this check: `openclaw bshield status`.
68
+ Result expected:
69
+ - Each layer is explicitly shown as `ACTIVE` or `OFF`.
70
+ - Use this as the authoritative source before any behavior validation run.
71
+
72
+ ## Common errors
73
+
74
+ ### Status command fails due to config read error
75
+ Use this check when the status command exits with operation failure.
76
+ Expected: CLI prints a failure message and returns non-zero exit code.
77
+
78
+ Possible causes:
79
+ - OpenClaw config path is unavailable or corrupted.
80
+ - Runtime permission issue when reading config.
81
+ - Unexpected config wrapper/backend failure.
82
+
83
+ ### Output does not reflect a recent change
84
+ Use this check when you changed config in Web or CLI but output still looks stale.
85
+ Expected: after OpenClaw restarts its gateway, `status` reflects the new effective values.
86
+
87
+ Possible causes:
88
+ - Gateway restart has not happened yet.
89
+ - You edited a different environment/root than the active OpenClaw runtime.
90
+ - Another write operation overwrote your previous setting.
91
+
92
+ ## Related commands
93
+ - [index](README.md)
94
+ - [mode](mode.md)
95
+ - [profile](profile.md)
96
+ - [policy](policy.md)
97
+ - [vine](vine.md)
98
+
99
+ ---
100
+
101
+ ## Navigation
102
+ - [Back to CLI Index](README.md)
103
+ - [Back to Wiki Index](../../README.md)