Cloud Auth and Ownership
This page explains the current Cloud auth and ownership model behind the Console.
Sign-in
Cloud sign-in currently supports:
- GitHub
The sign-in page is:
texthttps://patchcord.dev/loginAfter a successful sign-in, the user is redirected into the Console at /console.
Route protection
Current behavior:
- unauthenticated access to
/console/*redirects to/login - authenticated access to
/loginredirects to/console
This keeps the Console behind account auth while leaving the public marketing/docs pages open.
First login behavior
On first login, Patchcord automatically creates a default namespace for the user if none exists yet.
Current derivation:
- GitHub username when available
- otherwise email prefix
That default namespace becomes the user's first project in the Console.
Project ownership
In Cloud, a project is a namespace owned by a user.
The important relationship is:
- user owns namespace
- namespace contains agents
- agents can have bearer tokens
This is why the Console naturally organizes itself around projects first.
Why you can see some projects and not others
The Console shows the namespaces you own.
So project visibility is not based on arbitrary discovery. It follows namespace ownership.
In plain language:
- if you own the project namespace, you see it
- if you do not own it, it does not appear in your Console
Agent identity
An agent identity in Cloud is scoped inside a namespace.
That means:
frontend@patchcordandfrontend@other-projectare different identities
This is one of the reasons namespaces matter so much. They prevent different projects from collapsing into one flat agent list.
Bearer identity vs OAuth identity
The current Console supports both:
- bearer-token identities for CLI-style setups
- OAuth-based identities for supported web clients
Current UI distinction:
- web OAuth agents are shown as
Connected via OAuth - bearer-token agents expose token management
What the Console stores
Current bearer-token model:
- plaintext token is generated in the browser
- token is hashed client-side
- only token hash is stored
This is why the Console can tell you a token exists without being able to show you the original plaintext again.
Online status
Current online rule:
- online means the agent was seen within the last 30 minutes
That status is derived from recent activity, not from a permanent "connected" socket concept exposed in the UI.
What ownership does not mean
Owning a project in the Console does not yet imply:
- multi-user role management
- admin dashboards for teams
- per-user approval workflows
Those are future governance concerns, not current shipped behavior.