Skip to content

Studio

alpha, and network exposed by design

Studio browses tables, runs SQL and reads schema. It is a client of the daemon API like everything else, and it is the youngest surface in the project.

Terminal window
hobby studio passwd # once, to set the operator password
hobby studio # prints the URL, and opens it

The password prompt never echoes what you type, so the credential does not appear on screen, in scrollback, or in a terminal recording.

By default Studio listens on 8443. If you have configured a public host through Caddy, hobby studio prints that instead of the loopback URL.

There is exactly one operator credential, and it belongs to you. Studio does not ship user accounts, roles, or an auth system for anyone else’s application, and it never will: end-user auth as a service is out of scope.

ADR 0008 is explicit that because Studio is meant to be reachable from a browser on another machine, its authentication is a security boundary rather than a formality. A control plane that can create and destroy databases is worth as much as the databases.

The recommendation, plainly: do not expose Studio on the open internet. Reach it over Tailscale or a Cloudflare Tunnel.

This is not a statement that the authentication is known to be weak. It is that this is a v0-alpha surface on a project with no security team, the failure mode of getting it wrong is someone else owning your box, and a tunnel removes the entire class of problem for about ten minutes of setup. The project’s own position is that it does not ship things whose failure mode is someone getting owned quietly, and a tunnel is how this one is kept to that standard.

If you find something with a security impact, mail business@uziiuzair.com rather than opening a public issue.

Browse tables and rows yes
Run SQL yes
Read schema yes
See sleep state, and wake something yes
Create a postgres resource yes
Create an app or worker not yet. It hardcodes kind: 'postgres', and the daemon side that would allow it has landed
API tokens not built

Studio bundles its own fonts and ships no CDN references, because it runs on a box that may have no internet. Nothing it renders makes a request that leaves the machine.