Using Zaprex
Approvals and safety
Which steps ask first, what the buttons do, and why prompt injection can't skip them.
Zaprex asks before risky actions. A risky step pauses the run, posts an approval card in the chat thread of the Zaprex app and notifies you.
What asks by default
- Adding or upgrading dependencies.
- Network calls outside the allowlist.
- Deleting many files at once.
- Editing CI or workflow files.
- Bulk lockfile changes.
- Opening a non-draft PR.
- Going over the run budget.
Pushing to your default branch or a protected branch is always denied. There is no button for it.
The approval card
- Approve: allow this one step.
- Approve for this run: allow this kind of step for the rest of the run.
- Reject: the run is cancelled.
Approvals expire after 24 hours; the run is then cancelled.
Nothing runs while it waits
While a run waits for you, its sandbox is stopped and a checkpoint is saved, so no compute is used. When you approve, it resumes in a fresh sandbox from the checkpoint.
Your policy
You can set each kind of step to ask, always allow or never, for your account or per routine.
Why it can't be talked out of it
The policy engine runs outside the model. Repository content and model output are treated as untrusted, so instructions hidden in a README or an issue cannot skip an approval.