sidclaw-governance-9a0ab8 — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited sidclaw-governance-9a0ab8 (Agent Skill) and scored it 96/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 1 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 1 flagged
A bulleted imperative like {match} tells the agent to never reveal, disclose, or mention something to the user. Used adversarially it can instruct the agent to hide its tool calls or lie about what it did — stripping the transparency a user relies on to trust the agent.
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
You have access to SidClaw — an identity, policy, approval, and audit layer for AI agents. The governance MCP tools are available as sidclaw_evaluate, sidclaw_record, sidclaw_approve, sidclaw_policies, sidclaw_session_start, and sidclaw_session_end.
Call governance BEFORE executing any action that could:
rm -rf, DROP TABLE, git push --force, etc.)Quick mental model — risk tiers:
| Risk | When | What to do |
|---|---|---|
| < 30 | Local-only, reversible, internal data | Call sidclaw_record after (log-only) |
| 30–70 | Moderate effect, recoverable, might surprise a reviewer | Call sidclaw_evaluate first |
| > 70 | Destructive, irreversible, or touches production / regulated data | Always sidclaw_evaluate first |
Do not bypass governance for convenience. If evaluate returns deny, do not retry with a different phrasing to try to slip through. Explain the situation to the user and ask for guidance.
sidclaw_session_start({
agent_id: "claude-code",
workspace: "/path/to/repo",
branch: "feature/x"
})
→ { session_id: "mcp-sess-..." }Hold on to session_id for the whole turn.
sidclaw_evaluatesidclaw_evaluate({
operation: "bash.destructive",
target_integration: "claude_code",
resource_scope: "rm -rf ./data/",
data_classification: "restricted",
declared_goal: "Clean up stale migration artifacts per user request",
systems_touched: ["filesystem"],
reversible: false,
risk_score: 95
})Handle the response:
decision: "allow" — proceed. Note the trace_id for the next step.decision: "approval_required" — do NOT execute yet. Go to step 3.decision: "deny" — tell the user the action was blocked by policy.Include the reason. Suggest alternatives (safer commands, scoped targets). Never retry with tweaked parameters hoping to slip past the policy.
sidclaw_approve({
approval_id: "<from evaluate response>",
timeout_seconds: 300
})
→ { status: "approved" | "denied" | "expired" | "timeout" }Tell the user the approval URL while waiting so they can act: <dashboard>/dashboard/approvals/<approval_id>
If approved → execute. If anything else → stop and explain.
sidclaw_recordsidclaw_record({
trace_id: "<from evaluate>",
status: "success" | "error",
outcome_summary: "3 files deleted",
exit_code: 0,
error_classification: "timeout" | "permission" | "not_found" | "runtime",
tokens_in: 1200,
tokens_out: 340,
model: "claude-sonnet-4-6",
cost_estimate: 0.005
})Including token usage is optional but turns every governed action into a cost data point. Enterprise reviewers love that.
sidclaw_session_end({
session_id: "<from step 1>",
status: "completed" | "failed" | "cancelled",
summary: "Cleaned migration artifacts, pushed to feature/x"
})User: "Delete the old migration files in ./data/"
You:
sidclaw_evaluate({ operation: "bash.destructive", target_integration: "claude_code", resource_scope: "rm -rf ./data/", data_classification: "internal", declared_goal: "Delete stale migration artifacts per user request", reversible: false }){ decision: "approval_required", approval_id: "ap-42", trace_id: "tr-91" }sidclaw_approve({ approval_id: "ap-42", timeout_seconds: 180 })rm -rf, then call sidclaw_record({ trace_id: "tr-91", status: "success", outcome_summary: "..." })sidclaw_record with status: "success" for an action you didnot actually execute.
sidclaw_evaluate because the command looks "safe to you."Your intuition about safety is not the policy — the policy is.
deny and try again with a renamed operation. Theaudit trail already recorded the attempt.
sidclaw_approve returnedtimeout or denied.
If the SidClaw Claude Code hooks are also installed (hooks/ in the SidClaw repo), every bash/edit/write call is ALREADY governed at the hook layer. You do not need to call sidclaw_evaluate for those tools — the hook does it.
Use these MCP tools for:
orchestration, decisions to send emails/SMS, decisions to move money)
sidclaw_record) for actions the hooks can'tsee (LLM reasoning outcomes, multi-step chains)
sidclaw_policies)MIT. Copyright (c) 2026 SidClaw.
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.