Concepts
Apps And Releases
How Userland app identity, immutable releases, activation, and rollback work.
For agents: Treat
app_idas stable identity,account_idas the control-plane owner, and release ids as immutable deployment snapshots. Rollback moves the live pointer only.
Model
Publishing creates an app or release. The runtime origin is always https://<app_id>.apps.userland.fun/.
App names and summaries are mutable metadata. They are not routing identity.
Ownership
Apps are owned by platform accounts. API keys authenticate actor users; app creation and account app lists use the actor’s default account unless the CLI selects an account with --account, USERLAND_ACCOUNT_ID, or accounts use, or the API request sends X-Userland-Account-Id.
Existing app operations authorize against the app’s owning account membership. App-user auth roles inside the runtime do not grant CLI or control-plane API access.
Activation
Activation can be live, pending_secrets, or requires_migration. Non-live releases are stored but do not replace the live pointer.