Skip to content
Niki v0.11.0: TUI redesign, Go rewrite, and platform hardening.Read the release notes
niki
Esc
↑↓navigate↵open⌘Jpreview
On this page

Command Deny-Lists

Policy enforcement and prohibited command lists in NIKI.

Command Deny-Lists & Security Policies

NIKI parses and validates every shell command generated by agents against a multi-layer security policy before execution.


Global Deny-List

The global default blocks only these narrow patterns across all roles and backends:

  • Force pushes: git push --force and git push -f
  • Root filesystem removal: rm -rf / and rm -rf /*
  • Disk/device commands: mkfs and dd
  • Pipe-to-shell execution: curl | sh, curl | bash, wget | sh, and wget | bash
  • The standalone --no-verify argument

It does not generally block git reset --hard, rm -rf ~, fdisk, or git branch -D main; narrower per-role policies may still deny some of those commands.


Role-Specific Access Policies

Default role policies add the following deny prefixes; allow-list entries are fast paths, not exclusive permissions:

Agent Role Additional default deny prefixes
Coder git push, git push --force, git push -f
Tester git push, git commit, git merge, git rebase, git checkout, git reset, git branch -D, rm, mv, cp, mkdir, touch, chmod, chown
Reviewer Same Tester list
Other roles No role-specific defaults beyond the global list

Was this page helpful?