Skip to content
532 linesCodeBlameRaw
1---
2title: Workspaces
3description: Workspaces, their names and icons, renaming and deleting one, members and roles, and access tokens that belong to a workspace.
4---
5
6A workspace owns repositories and is the first part of their address:
7`g1t.sh/<workspace>/<repo>`. There is one kind. A workspace for just you and
8one for a company are the same thing with a different number of members, so
9there is no separate notion of an organization.
10
11## Create a workspace
12
13Your account does not own repositories itself. After confirming your email
14the first thing you do is create a workspace, and repositories go in it.
15
161. Open [g1t.sh/workspaces/new](https://g1t.sh/workspaces/new).
172. Choose its name in URLs: lowercase letters, digits and single hyphens.
18 An owner can [change it later](#rename-a-workspace), and old addresses
19 redirect for 90 days.
203. Optionally give it a display name.
21
22From the API, `POST /workspaces` with `slug` and `name`, or the
23`workspace` tool's `create` action:
24
25```sh
26curl -X POST https://api.g1t.sh/workspaces \
27 -H "Authorization: Bearer $G1T_TOKEN" \
28 -H "Content-Type: application/json" \
29 -d '{"slug": "acme", "name": "Acme"}'
30```
31
32You can belong to up to ten workspaces. `GET /user`, or the `account` tool's `whoami` action, lists the
33ones you belong to.
34
35Usernames and workspaces share one set of names, so a name means the same
36thing wherever it appears. Your username is reserved for you: only you can
37create a workspace with that name, and nobody can register a username that
38is already a workspace. The names `g1t` and `g1t-agent` belong to
39[g1t's agent](/guides/working-with-g1t/), and nobody can register them.
40
41## Display name, slug and icon
42
43A workspace has two names:
44
45| | Example | Where it appears | Changes |
46| --- | --- | --- | --- |
47| **Display name** | `Flagon Industries` | The sidebar, the top of its page, mission control and link previews | Any time, up to 80 characters; spaces and capitals are fine |
48| **Slug** | `flagon` | Every address: `g1t.sh/flagon/<repo>`, clone URLs, API paths and `g1t.page` app addresses | By an owner, once a day at most; the old one redirects for 90 days. See [rename a workspace](#rename-a-workspace) |
49
50Without a display name, the slug is shown. Where an address is shown, the
51slug is in monospace beside the name. Owners change the display name and
52description (up to 160 characters) on **Settings → General**, or with
53[`PATCH /workspaces/{workspace}`](/reference/api/workspaces/update-workspace/)
54(MCP: `workspace` `update`), which takes `name` and `description` and
55changes only the fields given. It needs the `workspace:admin` scope, and
56is recorded in the [audit log](/guides/audit-log/):
57
58```sh
59curl -X PATCH https://api.g1t.sh/workspaces/flagon \n -H "Authorization: Bearer $G1T_TOKEN" \n -H "Content-Type: application/json" \n -d '{"name": "Flagon Industries", "description": "Rockets, and the software that flies them."}'
60```
61
62Neither changes the slug; that is a [rename](#rename-a-workspace).
63
64A workspace also has an icon. Without
65one, g1t draws its first letter in a colour of its own. To upload one, an
66owner opens **Settings → General** and picks an image:
67
68- PNG, JPEG, WebP or GIF, at most 1 MB. Square images look best.
69- An image is checked by its contents, not its name. SVG is refused,
70 because it can carry script.
71- **Remove** goes back to the letter.
72
73The icon then shows wherever the workspace does, and on its link previews
74(PNG and JPEG icons only). Each image is served from
75`g1t.sh/avatars/<sha256>`, an address named after its contents, so an icon
76that changes gets a new address and nothing shows the old one.
77
78You can upload a picture of yourself the same way, under
79[Settings → Profile](https://g1t.sh/settings/profile).
80
81## Rename a workspace
82
83Renaming changes the slug, the first part of every address under the
84workspace. The display name is separate; change it on its own under
85**Settings → General → Workspace details**. Only owners can rename a
86workspace.
87
881. Open the workspace's **Settings → General** and go to **Address**.
892. Type the new slug. The field shows the new address, `g1t.sh/<new>`, and
90 whether the name is available.
913. Choose **Change address**, read what changes, type the new slug to
92 confirm, and choose **Change address** again.
93
94You land on the workspace's settings at its new address. Repositories,
95issues and the rest move with it within a few seconds.
96
97### What changes
98
99| | Before | After |
100| --- | --- | --- |
101| Pages | `g1t.sh/old/<repo>` | `g1t.sh/new/<repo>` |
102| Git remotes | `https://g1t.sh/old/<repo>.git` | `https://g1t.sh/new/<repo>.git` |
103| API paths | `https://api.g1t.sh/repos/old/<repo>` | `https://api.g1t.sh/repos/new/<repo>` |
104| MCP tool arguments | `"owner": "old"` | `"owner": "new"` |
105| Production apps | `https://<project>-old.g1t.page` | `https://<project>-new.g1t.page` |
106| Previews | `https://<project>-git-<branch>-old.g1t.page` | `https://<project>-git-<branch>-new.g1t.page` |
107
108These stay the same: the display name, description and icon, members and
109roles, access tokens, secrets and variables, integrations, webhooks,
110issues and pull requests, and billing, plans and credit.
111
112### What redirects, and for how long
113
114For 90 days after a rename, the old name keeps working:
115
116| | Behaviour |
117| --- | --- |
118| Web pages | Answer with a permanent redirect (301) to the same page under the new name, query string included. |
119| `git clone`, `fetch`, `pull` and `push` | Redirected to the new remote. Git follows it, but prints a warning each time until you update the remote. |
120| API and MCP | A call that names the old slug runs under the new one. |
121| `g1t.page` apps | Production and preview addresses under the old name redirect to the new ones. |
122
123Update your remotes now rather than relying on the redirect:
124
125```sh
126git remote set-url origin https://g1t.sh/<new>/<repo>.git
127```
128
129Update anything else that has the old name written into it, too: links in
130READMEs and docs, CI configuration, API clients and MCP clients.
131
132### Limits
133
134- A workspace can be renamed once every 24 hours.
135- For 90 days the old name is held for the workspace. Nobody else can take
136 it, and you can rename back to it.
137- After 90 days the redirects stop, and anyone can create a workspace or
138 register a username with the old name. Links and remotes that still use
139 it then reach whatever has the name, or nothing.
140- The new name follows the same rules as a new workspace: lowercase letters,
141 digits and single hyphens, up to 39 characters, not a reserved word, and
142 not another workspace's slug or someone else's username.
143
144## Data residency
145
146Data residency says where the git data of the workspace's new repositories
147is stored. The section appears in **Settings** once g1t can store
148repositories in the EU. Until then it is not shown, and every repository is
149stored wherever g1t stores repositories.
150
151| Setting | What it does |
152| --- | --- |
153| Anywhere | New repositories are stored wherever g1t stores repositories. The default. |
154| EU only | New repositories are stored in the EU. If EU storage cannot take one right now, the repository is not made, and you are told why. It is never stored somewhere else instead. |
155
156To change it:
157
1581. Open the workspace, then **Settings**. Only owners see the page.
1592. Under **Data residency**, choose **Anywhere** or **EU only**.
1603. Select **Save**.
161
162The setting applies to repositories made after you save it, however they
163are made: from the site, with the API, by pushing to a new address, or by
164importing. Repositories the workspace already has stay where they are. To
165move them, contact support; a move keeps each repository's address, history
166and settings, and pushes to it wait a few minutes while it happens.
167
168Data residency covers the git data: commits, branches, tags and files,
169including pull requests' working copies, which are stored with their
170repository. Issues, pull requests, comments and settings are not affected.
171A repository [transferred](/guides/transferring-repositories/) to another
172workspace stays where it is stored.
173
174Changing the setting is recorded in the
175[audit log](/guides/audit-log/) as `workspace.residency_changed`.
176
177## Delete a workspace
178
179Deleting a workspace takes everything in it with it, in one step: its
180repositories, projects, apps, members' access and tokens. Only an owner can,
181signed in as a person, typing the workspace's slug to confirm.
182
183It is not gone at once. For **30 days** g1t keeps all of it, so that a
184deletion you did not mean, or did not make, can be undone: an owner writes
185to support@g1t.sh, and support restores the workspace as it was. After 30
186days it is purged for good.
187
1881. Open the workspace's **Settings → General** and go to **Danger zone**.
189 It lists what will go with the workspace: its repositories, projects,
190 live apps and members.
1912. Choose **Delete workspace**, read what happens, type the workspace's
192 slug to confirm, and choose **Delete workspace** again. You are taken
193 back to your own home.
194
195The one thing that can stand in the way is billing: see
196[what billing needs](#what-billing-needs). Repositories you want to keep in
197another workspace, [transfer](/guides/transferring-repositories/) first;
198their old addresses keep redirecting after the workspace is gone.
199
200From the API, call
201[`DELETE /workspaces/{workspace}`](/reference/api/workspaces/delete-workspace/)
202with the slug in `confirm`; over MCP, the `workspace` tool's `delete`
203action.
204
205Some workspaces can never be deleted, by anyone, such as Flagon's, which
206runs g1t. Their Danger zone says so instead of offering the button.
207
208### What billing needs
209
210| | |
211| --- | --- |
212| Money owed | Charged to the workspace's card at once, with no minimum charge. With no card, add one or pay from **Billing** first. |
213| An unpaid invoice | Pay it from **Billing** first. |
214| Prepaid credit | It would be lost: spend it, or write to support@g1t.sh about a refund, first. |
215| Usage this month still being metered | Storage and git operations are charged when the month closes. You can delete the workspace from the 1st of next month. |
216| The g1t plan | Ends at Stripe at once, not at the end of the period. |
217| An enterprise account | A workspace billed through one is moved off it by g1t first: write to support@g1t.sh. |
218
219A comped workspace owes nothing; only its plan is ended.
220
221### What happens
222
223At once, when an owner deletes it:
224
225| | |
226| --- | --- |
227| Members | Lose access, and the workspace leaves their list. Their own accounts are not touched: a person with no workspace left can still sign in, and create or join one. |
228| Access tokens | The workspace's own tokens stop working. Personal tokens are not affected. |
229| Repositories | Deleted with it: git refuses them, and their pages answer 404. Agents and workflow runs stop. Ones deleted on their own earlier stay deleted. |
230| Projects and apps | Hidden. Its apps are taken offline and nothing builds. Custom domains are kept for a restore. |
231| Its pages | Answer 404, and it drops out of search. |
232| Billing | What it owes is charged, and its plan ends, as [billing needs](#what-billing-needs). Nothing more is charged. |
233| The audit log | Records the deletion. |
234
235Within 30 days, support can restore it: its members, tokens, repositories,
236projects and apps come back as they were, and its apps go back up as its
237limit allows. Its plan does not come back by itself: an owner starts it
238again from **Billing**. A repository deleted on its own before the
239workspace was stays in **Recently deleted**.
240
241After 30 days it is purged:
242
243| | |
244| --- | --- |
245| Repositories | Purged, their git data with them, including any that were in Recently deleted. |
246| Projects, apps and custom domains | Removed. |
247| Webhooks, integrations, secrets and variables | The workspace's own are removed. |
248| Memory and guardrails | The workspace's own are removed. |
249| Statements, invoices and the ledger | Kept, for accounting. |
250| The audit log | Kept as [long as its account keeps it](/guides/audit-log/#how-long-it-is-kept), with the purge as its last entry: once the plan ends with the workspace, that is 7 days, unless an enterprise pays for it or longer was arranged. With no owners left, ask support@g1t.sh for an export. |
251| Old addresses | Redirects for repositories transferred out keep working. The workspace's own pages answer 404. |
252
253### The name afterwards
254
255A deleted workspace's slug is never given to another workspace or used as
256someone else's username. While it can still be restored, the slug is held
257for it. Links and git remotes that still use it keep
258meaning what they meant: a transferred repository's old address keeps
259redirecting to it, and nobody can take the name in the meantime.
260
261The one exception: when the slug is your own username, you may create a
262workspace with that name again once the old one is purged. It starts empty, on standard billing terms,
263and a repository made in it at an old address ends that address's redirect.
264
265## Members and roles
266
267| Role | Can |
268| --- | --- |
269| Member | Create repositories, see the workspace's usage and billing, and get the workspace's [base permission](/guides/access-and-roles/#the-base-permission) on every repository in it: Write unless an owner changes it, which is enough to push, manage issues, merge pull requests, plan work and put g1t to work. |
270| Owner | Everything a member can, and manage members, the base permission, the workspace's access tokens, its details, and billing: the plan, card checks, prepayment and limits. Admin on every repository, and the only ones who can transfer and delete them; see [access and roles](/guides/access-and-roles/). |
271
272Whoever creates a workspace is its owner. An owner adds people on the
273workspace's **People**, `g1t.sh/<workspace>/-/people` (a tab of the
274workspace's page, and in the sidebar):
275
276- **By username**: someone already on g1t joins at once, as a member.
277- **By email address**: g1t emails an invite that only that address can
278 use. Without a g1t account, accepting it makes the account and joins the
279 workspace in one step, and uses one of the workspace's granted invites, or
280 else one of yours (see [invites](/guides/authentication/#invites)). With
281 an account, it costs nothing, and they join when they accept. The page
282 never says which it was.
283
284The email names you and the workspace and links to the invite's page.
285Someone new signs up right there, with the invited address filled in and
286already confirmed; someone with an account signs in. Either way they land
287in the workspace as a member, with a one-time welcome. See
288[using an invite](/guides/authentication/#using-an-invite).
289
290Pending invites are listed under the members, with a link to copy and
291**Revoke**. An owner can also remove a member there. Through the API, use
292[`POST /workspaces/{workspace}/invitations`](/reference/api/invites/invite-member/)
293(the `workspace` tool's `invite_member` action over MCP).
294
295To give someone a role on one repository without making them a member,
296add them as an [outside collaborator](/guides/access-and-roles/#outside-collaborators).
297
298## The workspace's page
299
300A workspace's own page, `g1t.sh/<workspace>`, has its icon, name, address
301and description at the top, and tabs under them:
302
303| Tab | Address | Who | |
304| --- | --- | --- | --- |
305| **Overview** | `g1t.sh/<workspace>` | Everyone | Your [pinned projects](#pinned-and-recent-projects), then the most active ones, the pull requests in progress across them, and **All projects**. Members also see a **Usage** card with this month's spend, and who belongs. |
306| **Projects** | `/-/projects` | Everyone | Every project you can see, with their count. See [the Projects tab](#the-projects-tab). |
307| [**Packages**](/guides/packages/) | `/-/packages` | Everyone | What the workspace publishes. |
308| [**Teams**](/guides/teams/) | `/-/teams` | Members | Groups of members given roles on repositories together, mentioned as `@workspace/team` and asked to review together. Each team has its own page at `/-/teams/<team>`. |
309| **People** | `/-/people` | Members | Who belongs, with their count. Owners add and remove people here. |
310| **Insights** | `/-/insights` | Members | Coming soon: how the whole workspace delivers. |
311| **Settings** | `/-/settings` | Owners | How the workspace is set up and connected (below). |
312
313Each person sees the projects they can read: a member whose base permission
314is None, an [outside collaborator](/guides/access-and-roles/#outside-collaborators)
315or a visitor sees the public ones and those shared with them, without the
316workspace's people, deployments or settings.
317
318Older addresses still work: `/-/members` opens People, and
319`g1t.sh/<workspace>?tab=projects` (or `repositories`, `packages`,
320`people`) opens that tab.
321
322### The Projects tab
323
324The Projects tab is made for workspaces with hundreds of projects:
325
326- **Find a project** matches every word you type in a project's name, its
327 address or its description. Press <kbd>/</kbd> anywhere on the page to
328 start typing.
329- **Filters**: public or private; apps or libraries; the language its
330 manifests say it is written in; only projects with
331 [Deployments](/guides/deployments/) on; and archived projects, which are
332 left out unless you ask for them. Each choice shows how many projects it
333 holds.
334- **Sort** by recently updated (its settings or its last push, whichever is
335 later), recently pushed, most active, or name. Most active counts each
336 push, issue or pull request opened or closed, review, comment and
337 deployment, and what happened a week ago counts half as much.
338- **List** or **grid**, 30 projects to a page.
339- The arrow keys (or <kbd>j</kbd> and <kbd>k</kbd>) move between projects,
340 and <kbd>Enter</kbd> opens one.
341
342Everything you choose is in the address, so a filtered list can be
343bookmarked or shared.
344
345## The sidebar
346
347The sidebar is always about one workspace: the one the switcher at its top
348names. On a workspace's pages, and on a project in one of your workspaces,
349that is the workspace the page belongs to; on a project somewhere you are
350not a member, it stays the one you chose last. Choose the workspace's name
351to open its page, or the arrows beside it to switch, or for **Workspace
352overview** and **All projects**.
353[Explore](https://g1t.sh/explore), public projects from all of g1t, is in
354the top bar, beside **Docs**.
355
356In order, it lists **Mission control**; the workspace's
357[projects](#pinned-and-recent-projects); under **Workspace**, the places work
358happens across them (**Agent fleet**, **Context**, **Memory**, **Security**
359and [**Packages**](/guides/packages/), with **Boards** and **Roadmap**
360soon); then **People**, [**Teams**](/guides/teams/), **Usage**, what g1t's runs have
361cost (see [usage and billing](/guides/usage-and-billing/)), **Support** and
362**Settings**. An item with an arrow opens a list of its own in the sidebar:
363**Settings** slides over to how the workspace is set up and connected, and
364the row at the top, **‹ Settings**, slides back:
365
366| Settings | Who | |
367| --- | --- | --- |
368| **General** | Owners | The icon, the display name, a one-line description and the address (the slug). |
369| **Repositories** | Members | The workspace's repositories. Owners also see **Recently deleted**, where a [deleted repository](/guides/managing-repositories/#restore-a-repository) can be restored, or purged, for 30 days. |
370| **Access tokens** | Members | The workspace's own tokens. Owners create and delete them. |
371| **Guardrails** | Members | What agents may do and spend across the workspace. Owners change them. |
372| [**Secrets and variables**](/guides/secrets-and-variables/) | Members | What runs and deployments are given. Owners change them. |
373| **Runners** | Owners | The workspace's self-hosted machines, their groups and registration tokens. |
374| [**Integrations**](/guides/integrations/) | Members | Model providers and connected services. Owners connect and remove them. |
375| [**Webhooks**](/guides/webhooks/) | Members | Where the workspace's events are sent. Owners add and change them. |
376| **Billing and plans** | Members | [The g1t plan](/guides/usage-and-billing/#the-g1t-plan), [limits](/guides/usage-and-billing/#limits) and the statement. Owners start the plan, check a card, prepay and set limits. |
377| **Audit log** | Members | [Every action agents, people and tokens took](/guides/audit-log/). |
378
379**People** is in the main list, for every member to see; owners add and
380remove people there, set the
381[base permission](/guides/access-and-roles/#the-base-permission), and see
382the **Outside collaborators** tab. Each member's row also shows the
383[teams](/guides/teams/) they are in that you can see.
384
385Opening a [project](/guides/projects/) slides the sidebar over to the
386project's own list, with **‹ All projects** at the top to go back. Its
387**Settings** opens one level further: **General**, **Deployments**,
388**Domains**, **Agents**, **Guardrails**, **Repository**, **Access**,
389**Branches and merging**, **Secrets and variables** and **Webhooks**, each
390for the roles that can use it. A link straight to any of these pages opens
391the sidebar already there.
392
393### Pinned and recent projects
394
395However many projects a workspace has, its sidebar lists a few:
396
397- **Pinned**: the projects you pinned, in your order, up to eight a
398 workspace. Pin one with **Pin** on its page, or the pin on its row of the
399 Projects tab or its card on the Overview. Drag a pinned project to move
400 it, or hold <kbd>Alt</kbd> and press the up or down arrow.
401- **Recent**: the projects you opened last that you have not pinned, up to
402 five.
403- **All projects**, with how many there are, opens the Projects tab.
404
405Pins and recent projects are yours: nobody else sees them, and each
406workspace has its own. ⌘K finds any project in the workspace, pinned or not.
407From the API, use
408[`GET /user/pinned_projects/{workspace}`](/reference/api/pinned-projects/list-pinned-projects/)
409and the other [pinned projects](/reference/api/pinned-projects/list-pinned-projects/)
410operations, or the `workspace` tool's `list_pinned_projects`,
411`pin_project`, `unpin_project` and `reorder_pinned_projects` actions
412over MCP.
413
414## Mission control
415
416Mission control, `g1t.sh` when you are signed in, is your home page. It
417shows where you are needed in the workspace you have chosen in the
418sidebar, what its agents are doing, and what landed without you.
419
420Under the greeting, one line sums up the week, such as *Agents landed 37
421of their 39 changes this week without you, and people landed 8 changes of
422their own*. An agent's change landed without you when g1t merged it, by
423auto-merge or from the [merge queue](/guides/merge-queue/), with no person
424pressing merge. People's changes are their merged pull requests and the
425commits they pushed straight to the default branch. **Review N that need you** jumps to the
426list, and **New issue** opens a new issue in the project you pick.
427
428| Across the top | What it counts |
429| --- | --- |
430| **Projects** | The workspace's projects, and how many were added this month. |
431| **Agents** | Agent runs going now, and the hours agents worked in the last 7 days. |
432| **Changes this week** | Pull requests merged in the last 7 days, and commits people pushed straight to the default branch, with the change from the 7 days before. The change is left out when g1t cannot read far enough back to count it. |
433| **Landed without you** | The share of agents' changes that g1t merged with no person pressing merge. People's own changes are not counted in it. |
434| **Need you** | What is waiting on you, and how many of those block work. |
435
436The list has three tabs. Each row opens to say more; the first is open.
437
438| Tab | What it lists |
439| --- | --- |
440| **Needs you** | Pull requests g1t stopped seeing through, reviews asked of you, changes ready for you to merge, failed checks, quiet agents, failed production builds, repository invitations and a usage limit that is close or reached. |
441| **Waiting on agents** | Pull requests in an agent's hands (making the change, checking, reviewing, revising, catching up or in the merge queue), and runs going now. |
442| **Landed today** | Pull requests merged today in your time zone, and whether a person merged them. |
443
444Each row in **Needs you** carries the reason it needs you:
445
446| Reason | Means |
447| --- | --- |
448| `BLOCKING` | Nothing moves until a person acts: a failed production build, a merge g1t could not make, or the usage limit. |
449| `ASKED FOR YOU` | A review or an invitation addressed to you by name. |
450| `CHECKS FAILING` | A required check still fails after the agent revised. |
451| `OUTSIDE GUARDRAILS` | A run reached a cost or time cap set in [Guardrails](/guides/guardrails/). |
452| `NEEDS REVIEW` | The repository wants a person's approval, or the review still asks for changes after the agent revised. |
453| `STALLED` | An agent stopped, or has reported nothing for 10 minutes. |
454| `READY TO MERGE` | Checks passed and it was approved; the repository lands changes only when a person merges them. |
455
456Opened, a row shows **The ask** (what g1t stopped with, and who the work
457was started for), **What the agent already knows** (its checks, the files
458and lines it changes, the test files it touches, how often the agent was
459sent back, and what its runs cost) and **Why this needs you**. From
460there, **Review and respond** opens it, and where it can be done without
461leaving the page you can approve the change, merge it or re-run its failed
462jobs. **By impact** puts the most urgent first; **Newest** sorts by time.
463
464On the right, **This week** charts the changes landed each day, split
465by who did the work: agents on their own, agents with a person merging,
466and people (their pull requests and direct pushes, merges left out), with what
467agents and sandboxes cost over the same days. **Activity** lists what
468moved across the workspace, agents marked apart from people. The page
469refreshes itself while agents are at work.
470
471## Workspace access tokens
472
473A workspace has access tokens of its own, for CI, integrations and agents
474that work for a team. There is no shared service account to create, pay
475for or lose the password to.
476
477| | Personal token | Workspace token |
478| --- | --- | --- |
479| Belongs to | You | The workspace |
480| Acts as | You | The workspace: its name is the author of what it does |
481| Can reach | Every workspace you belong to | That workspace only |
482| Can do | What its [scopes](/guides/authentication/#scopes) allow, never more than you can | What its scopes allow, on the workspace's repositories; it cannot manage people, tokens or workspaces |
483| Expires | 7, 30 or 90 days (the default), 1 year, or never | The same choices |
484| When its creator leaves | Stops working | Keeps working |
485| Created by | You, in [Settings → Access tokens](https://g1t.sh/settings/tokens) | An owner, under the workspace's **Settings → Access tokens** |
486
487They are the same kind of token and are sent the same way; see
488[access tokens](/guides/authentication/#access-tokens). With git, any
489username works; the token is the password. `GET /user` answers with
490`"kind": "workspace"` for one, and `"kind": "user"` for a personal token.
491
492Every member can see a workspace's tokens: the name, who created each,
493when it was last used and when it expires. Only owners can create or
494delete them. An owner creates one with a name, an expiry (No expiry shows
495a warning) and the same scope checklist as a personal token, starting on
496the CI preset.
497
498## Profiles
499
500Every person has a profile at `g1t.sh/u/<username>`, apart from the
501workspaces at `g1t.sh/<workspace>`. Author names on issues and pull
502requests link to it.
503
504**What it shows.** Your picture, name, username, pronouns, bio, location,
505website and when you joined; then your work in three tabs:
506
507- **Overview:** pull requests merged, open pull requests and issues
508 opened, and your most recent activity.
509- **Pull requests** and **Issues:** everything you opened, and what g1t
510 opened for you, newest first,
511 with filters beside the list for state (open, closed, merged), type,
512 repository and sort order. Add `?tab=pulls&state=merged` and the like to
513 link to a filtered list.
514
515**Edit it** in [Settings → Profile](https://g1t.sh/settings/profile). Every
516field is optional. The bio takes up to 160 characters and is also what a
517link to your profile says. The website must be an `https://` address;
518`example.com` is saved as `https://example.com`. Your email address is
519never shown.
520
521**Who sees what.** A profile is public, but the work and workspaces on it
522are filtered for whoever is looking:
523
524| On the profile | Shown to a visitor when |
525| --- | --- |
526| An issue or pull request, and its title | They can read its repository: it is public, or they are a member of its workspace |
527| The counts | Only what they could see is counted |
528| A workspace | They are a member of it too, or you made a public project in it, whose page shows that already |
529
530Someone signed out sees your public work and the workspaces where you made
531a public project; nothing else. The link preview for a profile uses only
532public work.