Sharing & Transfer

Beyond exporting a standalone file, there are two ways to hand an environment to someone else without giving up your own copy first.

Share a link

Generate a link, send it to someone. They sign in - a free account is enough - and the environment appears in their client. They can look at it, not change it. You can revoke it at any time.

Transfer ownership

Also a link, but accepting it moves the environment to the recipient's account permanently. It requires a paid plan and spare quota on their side. There is no undo.

Export a file

Already covered in the desktop docs - a portable file, not a link, with no ongoing connection to the original once it's been handed over. See the comparison on the sharing overview if you're deciding between the three.

What the Recipient Can Do

Accepting a share link requires only a free account - no upgrade, no proxy quota check, nothing to buy. Once accepted, the environment shows up in the recipient's client like any other, with a marker showing who it came from.

Can

Open the environment and browse with it. Look at its fingerprint. When the owner is on a managed proxy, browse through it without ever seeing its host, username or password - see Your Own Proxy for the exception.

Cannot

Rename it, change its fingerprint settings, delete it, export it to a file, or share it onward to a third person. Those actions stay with the owner.

Shared, not copied

The owner and the recipient are working against one archive, not two that drift apart. Cookies and logins written during the recipient's session are what the owner sees the next time they open it, and the same is true in reverse.

Revoking

Revoking removes the environment from the recipient's client and stops them from opening it again. If it uses a managed proxy, revoking also cuts off the credential the recipient was browsing through - they lose access to that exit IP along with the environment.

The environment is not left sitting on their machine. When the recipient closes the browser, their local copy is removed as soon as that session has been saved back to your archive - between sessions there is nothing of yours on their disk to take. If the save fails, or if it could not capture everything, the copy is kept rather than discarded - at that point it holds the only complete record of what happened in that session.

A proxy connection that was already open at the moment you revoke can keep running for a short time afterward before it's cut. New connections are no longer issued, but an existing one is not guaranteed to end at the moment you click revoke. Plan around "they can't get back in," not around a precise cutoff time.

Your Own Proxy

A managed proxy is the case the rest of this page describes: the recipient's traffic runs through it and they never receive its credentials. If the environment instead runs on a proxy you added yourself, that proxy is not part of the share - your proxy's host, username and password stay yours. The recipient will need to add a proxy of their own before they can open the environment.

Transferring Ownership

Generated the same way as a share link, from the same menu, with a different intent: accepting it does not add the environment to the recipient's client alongside yours, it moves ownership there and removes it from your account.

The recipient must be on a paid plan with room in their profile quota. A free account cannot accept a transfer.

If the environment is bound to a managed proxy, the recipient also needs room in their proxy quota - the proxy transfers along with the environment, so it now counts against their limit instead of yours.

If the environment instead runs on a proxy you added yourself, its credentials are copied to the recipient's account as part of the transfer - unlike a share link, a transfer does not hold those back.

This is the one operation on this page with no undo. Once the recipient accepts, the environment is gone from your account. There is no revoke, and no path back short of the new owner sharing or transferring it back to you.

API Reference

All endpoints require Authorization: Bearer <api-key>. The desktop app calls these directly - there is no SDK wrapper for sharing yet.

GET/api/v1/profiles/:name/share

Owner-side: current share state for a profile you own - sharedWith (the recipient's email, or null) and any live, unaccepted invite.

POST/api/v1/profiles/:name/share

Generates a link. Body: { kind: 'SHARE' | 'TRANSFER', ttlDays?: number } - ttlDays clamps to 1-30, default 7. Returns { url, token, expiresAt }. The token is only ever readable in this response - the server stores a hash, not the token itself.

DELETE/api/v1/profiles/:name/share

Revokes the current share and any pending invite for the profile, and cuts off proxy access issued because of it. See Revoking above for exactly what this does and does not undo.

GET/api/v1/shared

Recipient-side: environments shared with you. Each entry carries id, name, config, ownerEmail, hasProxy and updatedAt.

GET / POST/api/v1/shared/:profileId/archive

Presigned R2 URLs for the shared archive - GET to download before launch, POST for an upload URL after the session. This is the mechanism behind the one shared archive described above: both sides read and write the same object.

POST/api/v1/shared/:profileId/proxy

Issues a scoped proxy credential for a shared environment on a managed proxy. Returns { proxyUrl }, or { proxyUrl: null, reason } when there's nothing to hand out - no_proxy (owner isn't using one), owner_custom_proxy (see Your Own Proxy) or unknown_proxy (the environment's proxy settings could not be read - the client refuses to launch on a direct connection rather than guess). A revoked share answers 404.

From the Desktop App

Right-click an environment and choose Share or Transfer. Sharing opens a dialog with the expiry picker and the one-time link; the same dialog shows the current recipient and a revoke button once a share is live. A recipient who accepts a link sees the environment appear in their own client automatically - nothing to configure on their end beyond signing in. See the desktop walkthrough → for the rest of the environment menu.