version: "__APP_VERSION__"
name: ro-offline-linux
type: bubblewrap
os: linux

# Read-Only access with NO network.
# Use case: Maximum isolation, reviewing untrusted code.

filesystem:
  read:
    # Working directory (read-only)
    - "."
    # System binaries and libraries
    - "/usr"
    - "/bin"
    - "/sbin"
    - "/lib"
    - "/lib64"
    - "/opt"
    # System config (sensitive files blocked in hidden)
    - "/etc"
    # User tools (uvx, pipx)
    - "~/.local"
    - "~/.cache/uv"
    - "~/.npm"  # npx cache
    # Devices
    - "/dev/null"
    - "/dev/zero"
    - "/dev/random"
    - "/dev/urandom"
    - "/dev/tty"
    - "/dev/ptmx"
    - "/dev/pts"
  write:
    # NO working directory write access
    - "/tmp"
    - "~/.cache/uv"  # uvx package cache
    - "~/.npm"  # npx package cache
    - "~/.local"  # uvx tools install here
    - "/dev/null"
    - "/dev/tty"
    - "/dev/ptmx"
    - "/dev/pts"
  hidden:
    # Environment and secrets
    - ".env"
    - "**/.env"
    - "**/.env.*"
    - "**/secrets.yml"
    - "**/secrets.yaml"
    - "**/credentials.json"
    # Git security
    - "**/.git/hooks"
    - "**/.git/config"
    # SSH and GPG
    - "~/.ssh"
    - "~/.gnupg"
    - "~/.git-credentials"
    # Shell configs (prevent persistence)
    - "~/.bashrc"
    - "~/.zshrc"
    - "~/.profile"
    - "~/.bash_profile"
    - "~/.zprofile"
    # Cloud credentials
    - "~/.aws"
    - "~/.config/gcloud"
    - "~/.azure"
    - "~/.kube"
    # Container and package manager credentials
    - "~/.docker/config.json"
    - "~/.netrc"
    - "~/.npmrc"
    - "~/.pypirc"
    - "~/.gem/credentials"
    - "~/.cargo/credentials"
    # System sensitive (Linux-specific)
    - "/etc/shadow"
    - "/etc/sudoers"
    - "/etc/sudoers.d"
    - "/etc/ssh"
    - "/root"
    # Private keys
    - "*.pem"
    - "*.key"
    - "*_rsa"
    - "*_ed25519"
    - "*_ecdsa"
    - "*_dsa"
    - "*.p12"
    - "*.pfx"
    - "id_rsa"
    - "id_ed25519"

network:
  remote: []
  local: []