{{define "admin_users"}}
{{len .Pending}} waiting for approval · {{len .Active}} active
{{.Error}}
{{end}} {{if .Message}}{{.Message}}
{{end}}| Name | Signed up | Project | ||
|---|---|---|---|---|
| {{.Email}} | {{.Name}} | {{ago .CreatedAt}} | ||
Nobody is waiting.
{{end}}| State | Admin | Project | Last login | ||
|---|---|---|---|---|---|
| {{.Email}} | {{.State}} | {{if .IsAdmin}}yes{{else}}—{{end}} | {{or .ProjectID "—"}} | {{ago .LastLoginAt}} | {{if eq (printf "%s" .State) "active"}} {{else}} {{end}} |
No accounts yet.
{{end}}Three things are deliberately not here. Making someone an admin,
resetting a password and issuing keys on another person's behalf all need a
shell on the control plane — llmgw users promote,
reset-password, llmgw keys. A stolen admin session can
approve and suspend; it cannot hand itself more access or take over an account.