Sharing
Share a web app or grant trusted collaborators root access
You can share either a web app running on your VM or the VM itself.
## Choose an access level
- **Web** access lets someone open the VM's private HTTPS proxy after logging
into exe.dev. It does not give them a shell.
- **Root** access includes Web access plus SSH, the browser Terminal, and
Shelley. A Root collaborator can read, change, or delete anything inside the
VM, so only grant it to someone you trust. It does not transfer ownership of
the VM.
Root access requires an existing exe.dev account. Unlike a Web share, a Root
share does not invite an unregistered email address.
## Share with a person
Grant Web access and send an email invitation if needed:
```
share add <vm> <email>
```
Grant Root access to an existing exe.dev user, or upgrade their Web access:
```
share add <vm> <email> --root
```
For example:
```
share add mybox collaborator@example.com --root
```
A team's [sharing controls](/docs/teams/sharing-controls) may restrict grants to
people outside the team. When you share a VM, recipients can see your email
address.
## Share with your team
Share only the private web server with everyone on your team:
```
share add <vm> team
```
Grant the whole team Root access:
```
share add <vm> team --root
```
Team shares follow current membership: new members gain access and former
members lose it. See [Team VMs](/docs/teams/vms) for details.
## Share with a link
Create a link that grants Web access after the recipient registers and logs in:
```
share add-link <vm>
```
Revoke a link with `share remove-link <vm> <token>`. Revoking the link prevents
new people from using it, but does not remove people who already accepted it.
Remove those people individually with `share remove <vm> <email>`.
Share links grant Web access only, never Root access.
## Make the web server public
To let anyone access the web server without logging in:
```
share set-public <vm>
```
To choose a different port first, run `share port <vm> <port>`. Return the web
server to private access with `share set-private <vm>`.
## Change or remove access
Downgrade a person's Root access to Web access:
```
share remove <vm> <email> --root
```
Remove all of a person's access, including Root access:
```
share remove <vm> <email>
```
Revoke whole-team Root access with `share remove <vm> team --root`. Any
separately configured team Web share remains. Remove that with `share remove
<vm> team`.
Run `share show <vm>` to inspect the current settings.