Skip to content

Security controls

Ódinn’s default policy enables public web reading and browser access while blocking private-network targets. Browser clicks, typing, and keypresses require approval.

Inspect the active posture:

Terminal window
odinn config security show

An allowlist limits a surface to specific domains:

Terminal window
odinn config security set \
--surface web \
--allowed-domains docs.example.com

You can also maintain blocked domains. Redirects are evaluated against the same policy.

Terminal window
odinn config security set --surface browser --enabled false

Disabling access narrows authority and does not require a dangerous-change confirmation.

Allowing private-network targets can expose internal services and cloud metadata endpoints. Disabling browser approval lets model-driven actions change external accounts without a human checkpoint.

These changes require deliberate review and explicit confirmation:

Terminal window
odinn config security set \
--surface web \
--allow-private-network true \
--confirm-impact
odinn config security set \
--surface browser \
--require-approval false \
--confirm-impact

Use these switches only when you understand the added authority and have an independent network boundary.

Security configuration does not turn forked workers into a sandbox. Extensions, MCP adapters, browser pages, model output, and public web content remain untrusted inputs.

The browser uses a separate profile. Web fetches and browser traffic apply DNS and domain checks, workspace reads reject escaping symlinks, and control-plane mutations require authentication and origin validation.

Read the security model and known limits before weakening defaults.