- Aside is now the recommended driver for third-party website interactions, with approval requested for each task by name and site
- gstack checks for the Aside AI browser when a workflow requires API key registration, vendor account creation, or webhook setup
- On Mac, gstack provides a one-time download pointer to aside.com for macOS 15+ when Aside is not installed
- gstack offers to use real logged-in sessions through Aside without cookie export or re-authentication
- Permission code now refuses shared, sticky, symlinked, or foreign-owned directories and warns instead of failing silently
- Permission check and chmod operation are now pinned to a single inode to prevent symlink attacks
- Fixed a hardening bug where the browse daemon's owner-only chmod could land on /tmp itself when a state file was configured there on hosts with CAP_FOWNER capability, potentially locking machine access checks for all users
From gstack
Aside is the recommended driver, consent asked every single time. When a workflow hits a third-party website moment, registering an API key, creating a vendor account, wiring a webhook, gstack now checks for the Aside AI browser and offers to drive it: your real logged-in sessions, no cookie export, no re-auth. You approve each drive per task, by name and by site. Passwords, payment, CAPTCHAs, and identity stay yours; Apple credential creation is never a drive target in any skill. No Aside installed? On a Mac you get one download pointer (aside.com, macOS 15+), once, and gstack's own visible browser remains the fallback everywhere. gstack never runs an installer for you, and a detected binary is never treated as consent. This release also fixes a real hardening bug: on hosts where the process holds CAP_FOWNER (Docker as root, CI sandboxes), the browse daemon's owner-only chmod could land on /tmp itself when a state file was configured there, locking the whole machine's access(2) checks out for everyone. The permission code now refuses shared, sticky, symlinked, or foreign-owned directories, warns instead of going silent, and pins the check and the chmod to one inode.