Default Assumptions
Safehouse’s default behavior is designed to make common coding workflows functional while keeping sensitive paths and integrations opt-in. This page documents the baseline assumptions so you know what to expect without configuration.Design Assumptions
The defaults follow four principles:Agents should work with normal developer tooling
Sensitive paths require explicit opt-in
Least privilege should be practical to maintain
Final-deny overlays remain possible
--append-profileAllowed by Default
Filesystem Access
Selected Workdir (Read/Write)
Selected Workdir (Read/Write)
System Runtime Paths (Read-Only)
System Runtime Paths (Read-Only)
/usr/bin, /bin, /usr/lib, /System/Library, /Library, etc.Why: Shells, compilers, system utilities, and macOS frameworks live hereSecurity Note: These are read-only and contain system software, not personal dataToolchain Installation Directories (Read-Only to Read/Write)
Toolchain Installation Directories (Read-Only to Read/Write)
~/.npm, ~/.cargo, ~/.cache/pipPackage Manager Caches (Read/Write)
Package Manager Caches (Read/Write)
~/.npm, ~/.cargo, ~/.cache/pip, ~/.gem, etc.Why: Package managers need to cache downloads for performanceSecurity Note: Caches contain public packages, not sensitive dataGit Integration Paths (Selective)
Git Integration Paths (Selective)
.git directories, ~/.gitconfig, ~/.gitignore_global, ~/.ssh/config, ~/.ssh/known_hostsWhy: Git operations need repo metadata and SSH config for remotesSecurity Note: SSH private keys are explicitly denied; only config/known_hosts allowedTemporary Directories (Read/Write)
Temporary Directories (Read/Write)
/tmp, /var/tmp, $TMPDIRWhy: Many tools write temporary files during operationsSecurity Note: Standard temp dirs, automatically cleaned by OSIntegrations
Core SCM Tools (Always On)
Core SCM Tools (Always On)
git, gh (GitHub CLI), glab (GitLab CLI)Why: Version control is fundamental to coding workflowsSecurity Note: Includes config files but not private keysAgent-Specific Config Directories
Agent-Specific Config Directories
~/.aider for Aider, ~/.claude for Claude)Why: Agents need their own state/config directoriesSecurity Note: Only the profile matching the wrapped command is loadedNetwork and Environment
Network Access (Full)
Network Access (Full)
Sanitized Environment
Sanitized Environment
--pass-env or --keep-env to explicitly pass needed varsProcess Execution
Process Execution
Opt-In (Disabled by Default)
Enable these with--enable=<integration> only when needed:
Optional Integrations
clipboard
pbcopy/pbpasteEnable when: Agent needs to copy output or read clipboard inputRisk: Users often copy sensitive data temporarilycloud-credentials
docker
kubectl
shell-init
.zshrc, .bashrc, etc.)Enable when: Agent needs environment variables from shell configRisk: Shell files often contain API keys and tokensssh
browser-native-messaging
process-control
lldb
macos-gui
electron
macos-gui)Enable when: Agent is an Electron app (Cursor, VS Code, etc.)Risk: Access to Electron app directories and statewide-read
/Enable when: You need maximum convenience and trust the agent completelyRisk: Can read most files on the system (defeats much of the sandbox purpose)Agent/App Loading
all-agents
all-agents
all-apps
all-apps
Explicitly Denied by Default
These are blocked even if parent directories are allowed:SSH Private Keys
~/.ssh/id_*, ~/.ssh/*_keyRationale: Private keys provide authentication to remote servers; not needed for git-over-sshBrowser Profile Data
Setuid/Setgid Executables
Raw Device Access
/dev (with exceptions for /dev/null, /dev/urandom, etc.)Rationale: Direct device access can bypass filesystem permissionsOperational Defaults for Common Scenarios
Daily Coding Agent Use
Cross-Repo Read Context
Cloud Task Burst
Docker/k8s Workflow
Local Process Triage
IDE App-Hosted Agents
macos-gui
Denied: Other app profiles unless --enable=all-agents
Before You Enable Anything
Ask yourself these questions:Is this required for the current task?
Can I scope it narrower?
--enable=wide-read, use --add-dirs-ro for specific paths.Can I make it read-only?
--add-dirs-ro instead of --add-dirs if the agent only needs to read.Should this be temporary?
How to Override Defaults
Grant Additional Directories
Enable Optional Integrations
Apply Custom Policy Overlays
local.sb:
Explain Current Settings
Trust Workdir Config
By default,.safehouse config files in project directories are ignored for security.