The security model
Anything that can log in to VCode runs code as your user on that machine. A login can put any tab at Full, where the agent runs anything without asking, so a login is full trust. VCode's security is about who can log in, not about limiting what a logged-in session can do.
Why you would use it
Before you open VCode to the internet or pair a phone, you should know what a login is worth and what stands in front of it.
How to use it
- Keep your fezu.dev account to yourself, and the email inbox behind it. You sign in to the account with a code sent to that email. A device signed in to the account opens every box linked to it, with no code from the box, and can put any tab on those boxes at Full (add-a-phone).
- Keep the box's
AUTH_TOKENsecret. It is what thev-codeCLI and scripts on the machine send; treat it like the password to a shell there. If it leaks, change it and restart VCode. - Remove a device you no longer use from Settings. A device you remove stays out of that box until it pairs again with a code from the box. To stop it on every box, remove it from your account on fezu.dev.
What you see
- A browser that opens the box's own address sees a page that points at app.fezu.dev, and nothing else.
- A device logged in to the app sees every thread, the shell and the files on every box on the account, and can do anything you can do in a terminal.
Limits and known gaps
- Your email is the key to every box. Anyone who gets a sign-in code from your inbox signs in to your account and opens every box on it, tabs at Full included. No box can be set to keep a signed-in device out.
- Login is full trust. There is no read-only mode, no permission per thread and no sandbox. A session opens a shell, reads and writes any file your user can, and runs any command.
- A session changes files directly, not only through an agent. It can edit, create, rename and delete files in any folder your user can write. A folder is deleted with everything in it, and there is no trash.
- Anything running in a thread, including the agent, can talk to VCode as you.
Related
- use-the-app: logging in on a new device
- reach-it-from-a-phone: how a phone gets to a box
- add-a-phone: removing a device, and pairing it again
- switch-accounts: which account the app is on, and switching
- permission-levels: what Ask stops, and what it does not
- shell-mode: the shell a session opens
- edit-a-file: the file writes a session makes
- manage-files: create, rename and delete from the explorer
- todo-list: an agent in a thread talking back to VCode