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:
odinn config security showRestrict domains
Section titled “Restrict domains”An allowlist limits a surface to specific domains:
odinn config security set \ --surface web \ --allowed-domains docs.example.comYou can also maintain blocked domains. Redirects are evaluated against the same policy.
Disable a surface
Section titled “Disable a surface”odinn config security set --surface browser --enabled falseDisabling access narrows authority and does not require a dangerous-change confirmation.
Dangerous changes
Section titled “Dangerous changes”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:
odinn config security set \ --surface web \ --allow-private-network true \ --confirm-impact
odinn config security set \ --surface browser \ --require-approval false \ --confirm-impactUse these switches only when you understand the added authority and have an independent network boundary.
Controls that remain
Section titled “Controls that remain”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.
