Skip to main content

Overview

During an active Pi native run, RStack intercepts every tool_call event. Certain destructive commands and sensitive file paths are blocked by default — they require explicit human approval before they can execute. This prevents AI agents from accidentally shipping code, destroying data, or leaking secrets.

Blocked shell commands


Blocked write paths

RStack also blocks writes to files that match these patterns — to prevent secret exfiltration or credential overwriting:

Approving a protected action

Via sdlc_approve

This records a one-time approval in approvals.json. The agent can then execute the blocked action once. For release-level actions (deploys, publishes), approve the release artifact:

Via environment variable

To bypass all protections for a session (use with caution):
RSTACK_ALLOW_DESTRUCTIVE=1 disables all protections for the entire session. Prefer sdlc_approve for targeted one-time approvals.

Protection scope

Protection via tool_call hooks is a Pi-native feature. For other adapters, the governance model relies on the agent following the operating standard in agents/core/orchestrator.md — which instructs it to ask before destructive actions.

Audit log

Every blocked and approved action is logged to the run event stream:
This gives you a full audit trail of what was attempted and what was approved.