People, teams and limits
Accounts, teams and limits are managed in id at https://id.xvii.network.
Invite people
There is no public sign-up: an instance invites its users.
- Into a team, a team admin invites an existing account by name or e-mail with a role:
xvii teams invite frontend bob --role developer. The invitee accepts on their teams page.
- Someone without an account: a team admin makes an invitation link (admin, developer or viewer,
valid a week). Its holder picks a name, registers a passkey and lands in the team.
- A superuser can create accounts directly (id → Users) and hand out a one-time sign-in link (72
hours), sent to the person's confirmed e-mail if you like.
Superusers
Superusers administer the instance: services and updates in home, users, plans, nodes shared between
teams, the instance's look, AI accounts. Make someone a superuser in id → Users. Keep at least two, so one
lost device doesn't lock the instance.
Appearance
Home's appearance settings apply the instance's name, logo, accent, wallpaper and theme colours to
all panels. With wallpaper enabled, tables, mobile lists and content panels use tinted, blurred glass
cards so text stays readable. Search fields, form inputs and filters also keep a tinted backing.
The wallpaper remains visible around the cards; turning it off restores
the normal theme surfaces. This works in both light and dark themes.
Recover an account
| Situation |
Do |
| a person lost their passkey device |
a superuser makes a sign-in link in id → Users; redeeming it adds a new passkey |
| a person has a confirmed e-mail |
they ask for a sign-in link on the sign-in page (30 minutes) |
| nobody can sign in |
on the control plane: xvii-node recover alice prints a sign-in link |
| a laptop was stolen |
revoke its CLI sign-in and API tokens in id; sessions are listed per device |
Recovering an account doesn't recover lost data or encryption keys.
E-mail
id sends sign-in links and e-mail confirmations through the instance's SMTP (SMTP_URL, MAIL_FROM in
id's settings in home). Without them, e-mail features are off and links are handed over by hand.
Plans and limits
Services declare their limits (pages.storage, apps.memory, ai.tokens…) and id stores values on
three levels:
- Plans (superusers): named bundles of limits. One plan can be the default for personal teams and one
for other teams.
- Team: a plan plus overrides ("this customer gets 50 GB").
- Project (team admins): caps inside the team's limits ("previews of this project get at most
2 GB").
A missing value means no limit at that level. A project's effective limit is the smaller of its cap and
its team's limit; usage counts against both. Services check before creating anything and say which level
refused. The team's and the project's Limits tab shows every limit next to its usage. The full list:
Limits.
Shared resources
A node, an AI quota and similar resources can be shared from the instance (or a team) to other teams with
a quota. They are managed in the service that owns them (apps for nodes, ai for keys and accounts) and
listed on the team's page in id.