# Public sharing

> Let someone outside your organization use a prototype and leave feedback, without creating an account.
> URL: https://artor.app/docs/sharing

Share a working prototype with someone outside your organization. Choose which version they
see, how long the link works, and whether they can comment without an account.

## Create a public link

1. Open a prototype or version in the dashboard and find **Public sharing**.
2. Choose **Pinned** or **Latest**, then choose an expiry.
3. Check **Guest commenting** and the review-widget settings. **Show the review widget**
   decides whether signed-in organization members see the in-page review widget on this
   link; it's on by default. The CLI's `artor share add --hide-widget` creates a link
   with it off.
4. Create the link and use **Copy** to send it.

**Warning:** 
  Anyone holding the link can open it. Use demo data and share only with people you intend
  to reach. Public links don't require sign-in.

## Pinned or latest

- **Pinned:** points to the selected version. Use it to request feedback or sign-off on that build.
- **Latest:** follows the newest published version. Use it for an ongoing review.

Publishing a new numbered version doesn't move a pinned link. If an existing version is
replaced using [overwrite mode](https://artor.app/docs/deployments#honest-limits), public links pinned
to it are turned off; create a new link to share the replacement.

You can deliberately change a live link's target in **Edit** on its row. The URL stays
the same and the change appears in the [audit log](https://artor.app/docs/audit-log).

## Duration

Links expire after **7 days** by default. Your organization sets the maximum duration,
up to **90 days**. Use **Extend** to change a live link's expiry.

Expired and turned-off links can't be revived. Create a fresh link instead.

## Copying a link

Use **Copy** on a live link's row in **Public sharing**, or copy the address from the open
prototype. You can return to copy it again later. `artor share list` also shows live links.

If a row says **Copy link (reshare)**, create a fresh link. This can happen for an expired,
turned-off, or older link whose address is no longer available.

## Changing a link you've already shared

Open the link's **··· → Edit** menu to change:

- **Version to share:** choose another version, or switch between pinned and latest.
- **Password:** add, change, or remove the link's password.
- **Guest commenting:** choose whether visitors without accounts can comment.
- **Show the review widget:** choose whether the widget appears on this link.
- **Allow new comments:** turn it off to make the widget read-only through this link.

You can edit links you created; organization admins can edit anyone's. Changes keep the same URL and
appear in the [audit log](https://artor.app/docs/audit-log). Only live links can be edited.

## Password protection

A public link can ask for a password before it shows anything. Link passwords are available
on every plan, including Free, and are off by default.

### Adding a password

- **When creating a link:** turn on **Require a password** in the create dialog. Type one or
  use **Generate**, then **Copy** it before saving.
- **Later:** open the link's **··· → Edit** menu and use the **Password** section to add,
  change, or remove one.

A password is between **8 and 128 characters**; the field shows a live count. Send it to your
reviewers separately from the link.

### It can't be shown again

Artor stores the password in a form it can't read back, so no screen, listing, or export
shows it afterwards. Copy it when you set it. You can always change it or remove it later,
but you can't look it up.

Changing or removing a password locks out everyone who had already unlocked the link. They
need the new password, or none at all once it's removed.

### What a visitor sees

A protected link opens a short page asking for the password, at the same address you shared.
Once it's entered correctly, the prototype opens normally.

The unlock lasts for that browser session and no more than **24 hours**, then the page asks
again. Repeated wrong attempts are rate limited: after several, the page asks the visitor to
wait a few minutes before trying again.

Organization members who can open the prototype's Space don't need the password: the page has a
**Sign in to open it without the password** link. After signing in they go straight to the
prototype. A member who can't open that Space still needs the password.

### Requiring a password on every link

Under **Settings → Sharing**, an organization admin can turn on **Require a password on
public links**.

Turning it on shows how many live links currently have no password and asks you to confirm.
Those links stop opening until someone adds a password to them. This isn't a turn-off:
nothing is deleted, and each link works again at the **same address** as soon as it has a
password. While the requirement is on, Settings names how many links it's currently stopping,
and an existing password can be changed but not removed.

Turning the requirement off lets those links open again.

### What's recorded

Setting, changing, and removing a link password, and turning the organization requirement on
or off, all appear in the [audit log](https://artor.app/docs/audit-log). The password itself is never recorded
there or anywhere else.

### Protected links and older addresses

A protected link opens at its own address, the one Artor gives you. An older public link
redirects there, so a link you shared before adding a password keeps working.

## Turning a link off

Choose **Turn off** to stop further access through that link. The person who created it can
turn it off, and organization admins can turn off anyone's link. Admins can also turn off all public
links under **Settings → Sharing**.

The change applies to subsequent requests. It can't take back content someone has already
viewed or copied. To share again, create a new link with a new URL.

## Expiry reminders

When creating a link, turn on the email reminder to receive a message about a day before it
expires. Reminders are off by default. Extending the link resets the reminder for its new expiry.

## Who can share

Members with access to share a prototype can create public links, including
[reviewers](https://artor.app/docs/seats). Members who can only read a Space through **Open to org** can't
share its prototypes. See [Spaces](https://artor.app/docs/spaces).

Org admins manage the maximum link duration and organization-wide sharing controls in
**Settings → Sharing**.

## Comments on a shared link

The link's settings apply to anyone opening it:

| Setting | Effect |
| --- | --- |
| **Show the review widget** | Shows or hides the widget. On by default. |
| **Allow new comments** | Allows feedback, or makes the widget read-only. On by default. |
| **Guest commenting** | Controls commenting for visitors without an account. |

Signed-in teammates with access see the normal team discussion, including guest feedback.
**Allow new comments** off makes the link read-only for them too.

## Guest commenting

Choose what a visitor without an account needs to do before leaving feedback:

| Setting | What the visitor sees |
| --- | --- |
| **Off** | No commenting; they can still use the prototype. |
| **Anonymous** | They can comment immediately as **Anonymous guest**. |
| **Ask for a name** | A name field before their first comment. |
| **Ask for name and email** | Name and email fields before their first comment. |

### Setting the default for new links

New links use your organization's default, initially **Ask for a name**. Admins can change
it under **Settings → Sharing → Guest commenting**. Changing the default doesn't change
existing links. Links created before guest commenting was introduced remain **Off** unless
someone changes them.

### What a guest can and can't do

Guests can start threads, reply in their own threads, and edit or delete their own messages.
They see only threads they started, including team replies there. They can't see the team's
other discussions, another guest's notes, source code, or other projects.

Guests can't resolve threads, use AI ignore, or mention teammates.

### Identity is self-asserted

Guest names and email addresses are **self-entered and unverified**. Artor doesn't email
guests, even when a link asks for an address.

**Warning:** 
  The prototype's code can see information entered into its page, including the guest form.
  Ask for email addresses only when you trust the prototype with them.

### Identity sticks to the browser and the version

A guest can return to their notes in the same browser. Clearing cookies or switching devices
can make them appear as a new guest. People sharing a browser can appear as the same guest.

Comments belong to the version reviewed. If a latest link moves to another version, earlier
notes stay on the old version for the team to review.

### Moderating guest feedback

Guest comments appear in the widget, the dashboard's
[comment list](https://artor.app/docs/comments#triage-from-the-dashboard), and `artor comments`.

A prototype owner, organization admin, or admin of its Space with permission to edit its content can
delete guest messages or threads. They can't edit another person's words. Deletions appear
in the [audit log](https://artor.app/docs/audit-log).

Deleting a guest thread also removes any team replies inside it, whether the guest deletes
it or a moderator does. Keep a separate team thread for discussion you need to retain.

### Turning it off

Set **Guest commenting** to **Off** to stop new guest comments immediately, or turn off the
whole public link. A guest already reviewing sees their notes become read-only.

**Hiding the widget doesn't immediately stop an existing guest session from commenting**;
that session can continue for up to an hour. Use **Off** when you need to stop comments.

## From the CLI

After [installing the CLI](https://artor.app/docs/install-cli), run these in your linked project folder:

```bash
artor share add                         # latest version, 7 days
artor share add --mode pinned \
  --deployment <id> --days 14            # select a version
artor share add --comments name         # off | anonymous | name | name-email
artor share add --warn                  # request an expiry reminder
artor share add --password              # ask for a link password, hidden, typed twice
artor share list                        # find and recopy live links
artor share set <id> --comments off      # stop guest comments
artor share set <id> --password          # change a live link's password
artor share set <id> --remove-password   # remove the password
artor share extend <id> --days 7         # change a live link's expiry
artor share off <id>                    # turn off a link permanently
```

Without `--comments`, an interactive terminal asks you to choose, starting from the organization's
default. An automated command uses that default. `share set` requires an explicit choice
when run automatically.

`--password` never takes the password on the command line, so it can't reach your shell
history. In a script, pipe it in with `--password-stdin` instead. Link passwords need CLI
**0.26.0** or newer; run `artor update` if the flags aren't recognised. See the
[CLI reference](https://artor.app/docs/cli#link-passwords).

Use the link identifier from `artor share list`. A short identifier must match one link;
turning a link off without an interactive confirmation requires its full identifier.
See the [CLI reference](https://artor.app/docs/cli) for more options.

## The prototype behaves like the real thing

Visitors can click through the prototype, submit forms, and use its connected services.
These actions can have real effects. Guest commenting controls Artor feedback; it doesn't
disable the prototype's own buttons or forms.

Use staging or sample data. Don't connect a public demo to real payments, production
credentials, or destructive actions.

## What stays private

A public link gives access to its selected prototype, not your organization dashboard,
other projects, source downloads, or remix tools.

Artor doesn't supply **server-only environment values** to public visitors' running
prototypes. Values marked **local** can be used there. This doesn't protect data already
included in a published build or information the prototype displays or sends to another
service. See [Environment variables](https://artor.app/docs/env).

Artor asks search engines not to index public previews. This isn't a confidentiality
setting: someone holding the link can still forward it or copy what they see.

## Honest limits

- The link address can be seen by the prototype's scripts and some network services. Trust the prototype and the people you send it to with the link itself.
- Expiry and turning off a link don't delete screenshots or other copies people already made.
- Heavy traffic or blocked cookies can temporarily make a live link appear unavailable. Allow cookies for the preview and try again after about a minute.
- If the prototype generates broken links or redirects, give that example to your coding agent to fix before sharing more widely.
- Guest names aren't proof of identity, and guest history doesn't follow a person across devices.
- A password protects the link, not what's behind it. Anyone you give both to can pass them on, so sending the password in the same message as the link adds little.
- A password page tells whoever opens it that a live, protected link exists. An expired or turned-off link still shows the same neutral page as an unknown one.
- The password is typed on the prototype's own address, so code the prototype loaded on an earlier visit could observe it. Trust the prototype with the password as you trust it with anything else typed into its pages.
- Someone holding a protected link who keeps entering wrong passwords can delay unlocks for other visitors of that link for a few minutes.
- A visit that stops at the password page isn't counted as a view.

## Your link

Use the address Artor gives you, including when copying it from the browser. Older public
links redirect to their current address while they remain active.

## Related

- [Previews](https://artor.app/docs/preview): team-only links
- [Comments](https://artor.app/docs/comments): working through feedback
- [Access control](https://artor.app/docs/access): opening or closing a prototype
- [Deployments & versions](https://artor.app/docs/deployments): choosing a version to share
