# Sharing Artifacts

> Artifacts start private. Sharing is a deliberate step, viewers see one live version, and you choose which one that is.

**URL:** https://inference.sh/docs/artifacts/sharing
**Last updated:** 2026-10-30

---

**Artifacts start private. Sharing is a deliberate step, viewers see one live version, and you choose which one that is.**

```bash
belt artifact share acme/q3-funnel
```

---

## Visibility

An artifact is a capture of one person's work until it is explicitly shared, so it is created private. From there it can be shared with named people or workspaces, or made public. A public artifact is readable by anyone with the link, signed in or not.

Visibility controls who may call the artifact API. It does not put page source or uploaded assets on the public file CDN used for task uploads. Those bytes live in a separate private object store and are served only through artifact routes (`content`, `render`, `frame`, asset download) after the same read check as `GET /artifacts/{id}`. Guessing an object key does not bypass that. The read check admits a viewer to the live version only; see [Versions](#versions).

---

## Versions

Every publish appends a version, but an artifact has one live version and that is all a viewer is served. By default it is the latest one, so updating the page updates it for everyone who has it open.

The history is private to the owner and editors (people shared with write permission, and workspace members). Viewers cannot list versions, and a link carrying another version id resolves to the live version in the browser; against the API it is not found.

```bash
belt artifact versions acme/q3-funnel
```

You can pin instead. Pinning a version makes it the live one: viewers keep seeing that version while you keep publishing — useful when a link has gone out and you want to keep working without changing what people already opened. Pinning changes which version is live; it hides nothing from editors, who still see and can open every version.

While a pin is active, live updates follow the same rule: [`GET /artifacts/{id}/stream`](/docs/api/rest/artifacts#live-updates) keeps naming the pinned version for viewers, even when you publish again. Owners and editors still see the latest version on the stream.

---

## Named collaborators

Besides changing visibility, you can share an artifact with specific people, with another workspace in your organization, or with the whole organization. A share never reaches outside your organization. A workspace that is in no organization shares only with its own members.

| `permission` | What they can do |
|---|---|
| `read` | View the artifact and interact with it: comment, and write its page data |
| `use` | The same as `read`. An artifact has nothing to run. |
| `write` | Publish versions, list version history, manage shares, and other write operations on the artifact |

Only someone with **write** access on the artifact can add, list, or revoke shares. A viewer cannot invite others.

→ [Artifacts API — Visibility, sharing, transfer](/docs/api/rest/artifacts#visibility-sharing-transfer)

---

## Comments

People can leave comment threads on a published artifact.

```bash
belt artifact comments acme/q3-funnel
belt artifact comments resolve acme/q3-funnel <thread-id>
```

A thread can be sent to an agent, which can then reply into it and resolve it once it has acted.

---

## Reading one back

```bash
belt artifact get acme/q3-funnel            # the source you published
belt artifact get acme/q3-funnel --render   # the wrapped document
belt artifact open acme/q3-funnel           # in a browser
```

Each reads the live version. Other versions are reachable to editors only.

---

## Indexing

Published pages carry `noindex, nofollow`. Anyone can publish a page here; none of them should turn up in a search index on our behalf.
