Sharing
Two ways to give someone access to a single object without adding them to your workspace: a grant to one named person, or a public link anyone can open. Both are read-only on your side, revocable, and scanned for credentials before they are created. Membership is the only way to let someone write into a workspace; see Workspaces.
Sharing with a person
Share lives on a file's row menu on the Files page, under File → Share… in a notebook, on a run's page, and on an environment's card. Enter the person's email address; they must already have a Neural Studio account. Recipients can view the object, and they can never edit it or see the rest of the workspace. Remove next to a recipient revokes the grant, and from then on the object answers them as if it had never been shared.
On the recipient's side everything shared with them is on Shared with me, in sections for Files, Notebooks, Experiments and Environments:
- A file or notebook opens in a read-only viewer with Copy to my workspace. The copy lands in a workspace where the recipient is an editor or owner, counts against their storage pool, and is refused when the pool lacks the space. One copy may be up to 10 GiB.
- A run opens with the same tabs as in the owner's workspace.
- An environment shows its recipe with environment-variable values blanked and build errors withheld; Fork makes an editable copy under the recipient's account. The original is never modified. See Environments.
Every recipient read goes through the platform: no storage credential, mount or filesystem path is ever issued to the recipient, and a shared file never appears on their runtime. The Shared by me tab lists everything you have shared, with Revoke on each row.
Public links
Files, notebooks and runs (not environments) can also be shared with anyone
who has the link. In the same dialog, Public link and Create link
produce an address of the form https://neuralstudio.co/shared/<token>.
- Anyone with the link can view the object. No account is needed.
- The view is read-only and shows only the sharer's display name, never an email address or account id.
- The token is unguessable, and opening links is rate-limited per address (30 views a minute).
- Revoke ends it: "Link revoked. It can never be opened again." A revoked or unknown link shows "Link not found", the same answer as for a link that never existed.
When sharing pauses
If the sharer's account is suspended, every link and grant they created stops working until sharing is restored; the dialog says so. The same "not found" answer applies to anyone who is not a member and holds no grant, so a URL leaks nothing about what it points at.
The share-time secret scanner
Mistakes happen, so every sharing surface scans what it is about to expose.
Before an environment is shared, before a file or notebook grant is created,
and before a public link is minted, the content is checked for
credential-shaped strings: cloud key ids, sk--style API keys, GitHub,
Slack, Hugging Face and Google tokens, private-key headers, webhook URLs,
user:credential@ URLs, and an entropy heuristic for secret-looking
environment variables.
If it finds something, the share is refused with the findings listed, and you can either remove the secret or confirm with Share anyway (or Create link anyway). A finding shows at most the first four characters of the match, never the value. Environment saves report the same findings as advisory warnings. The scanner is best-effort: it is a safety net, not a guarantee, and it never blocks an operation by failing.
The right place for a credential is Workspace Secrets, which are never part of what gets shared; see Isolation and secrets.
Related
- Workspaces and members: roles, and why a grant is never a role.
- Isolation and secrets: who can see your data, and secrets by name.
- Experiments: sharing a run.