The desktop app, Content spaces and device keys
Control Panel ships as a macOS app, blogs and help centers become Content spaces with SEO and publish controls, and each computer gets a key of its own.
A macOS app
The web app and the runner are bundled into one Electron app with auto-updates. Open it, sign in, and the runner starts in the background: no terminal needed. Every request to the local server needs a secret cookie only the app's window has, so other programs and OS users can't call it.
Content spaces
Blogs, Help Centers and Directories are now Content spaces. A project can have any number of each — a help center per role, an internal and an external blog — set under Settings → Content. Pages get SEO fields, a publish switch, and a Notion-style editor with callouts, galleries, pricing tables, cards and embeds. Images upload to Bunny CDN when it's connected.
Pages can also say how they read where they're listed — a shorter title for navigation, a different description for a directory card — under dirSettings, separate from the page's own title and description.
Screenshot notes
Tell Claude how to get into the running app — sign-in steps, test credentials, dialogs to dismiss — once, in project settings. It reads them before taking screenshots and can drive the page with a use_page tool before capturing.
Device keys
Nobody can see or change anyone else's data. Every Convex function checks who is calling. The web server and runner on your computer have no browser session, so after you sign in the page creates a random key for the computer: Convex stores only its SHA-256, and the key goes to ~/.control-panel/devices.json. Signing out revokes it.