Offline by Default
Start in strict mode and permit only what you trust.
nvim-sandman helps you block plugin network access, allow only trusted tools, and audit what happened, directly inside Neovim.
Start in strict mode and permit only what you trust.
Use commands for temporary network windows and fast allow/block changes.
Add ordered allow/deny/prompt rules for exec and socket actions.
{
'stasfilin/nvim-sandman',
config = function()
require('nvim_sandman').setup({
enabled = true,
mode = 'block_all',
allow = { 'lazy.nvim' },
})
end
}
block_all.:Sandman stats.allow.:Sandman temp-net 30000 for short exceptions.block_all: block all except allowblocklist: block only listed pluginsallowlist: allow only listed plugins:Sandman block / :Sandman unblock:Sandman block-only <p1> <p2>:Sandman allow-only <p1> <p2>:Sandman stats / :Sandman stats-reset:Sandman temp-net [ms]
Policy evaluates ordered rules and applies allow, deny,
or prompt_once decisions for exec/socket.
monitor: log-only modeenforce: deny actually blockspolicy = {
enabled = true,
mode = 'enforce',
default = 'prompt_once',
rules = {
{ id = 'allow-rg', action = 'exec', exe = 'rg', decision = 'allow' },
{ id = 'deny-curl', action = 'exec', exe = 'curl', decision = 'deny' },
{ id = 'prompt-node', action = 'exec', exe = 'node', decision = 'prompt_once' },
},
}
blocked ... from unknown
Actor attribution is best-effort. Wrappers, timers, and manual :lua
paths may show as unknown.
Verify policy.enabled = true, policy.mode = 'enforce',
and rule order/default fallback.