> ## Documentation Index
> Fetch the complete documentation index at: https://docs.useshareable.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Publishing & access

> Drafts vs. published versions, and the five access levels.

## Draft vs. published

Every page has two versions:

|               | Description                                                       |
| ------------- | ----------------------------------------------------------------- |
| **Draft**     | Your working copy. Updating a page's HTML changes the draft only. |
| **Published** | What visitors actually see at the page's URL.                     |

When you publish, the draft is copied to the published version. **Editing afterward updates only the draft** — the live URL keeps showing the last published version until you publish again. A page with newer edits reports `has_unpublished_changes: true`.

This lets you iterate freely without disrupting people who already have the link.

<Note>
  Create a page with `"publish": false` to save a private draft without making it live. Then call [publish](/api-reference/publishing) when you're ready.
</Note>

## Access levels

Access is independent of publish state. Set it with the `access` field:

<ResponseField name="link" type="Anyone with the link">
  No sign-in required. Anyone who has the URL can view. This is the default for published pages.
</ResponseField>

<ResponseField name="people" type="Specific people">
  Invite-only — only emails in `allowed_emails` can view. By default invitees confirm their email with a one-time link (no Shareable account needed); set `require_signin: true` to require a sign-in instead. Others are shown an access gate.

  Set `allow_access_requests: true` to let someone who isn't on the list **request access** from the gate. They confirm their email first, so you see a verified address; you then approve or deny from the email we send you or from the Share dialog (a count badge on the dashboard tile flags pending requests). Approving adds their email to `allowed_emails` and sends them a link.
</ResponseField>

<Warning>
  **The email-confirm link is a bearer credential.** With the no-account default, the "View the page" link in the invite email confirms that address and opens the page in *whatever browser opens it* — incognito included, and on any device the recipient forwards it to. (The link is valid for 7 days; opening it then sets a 30-day cookie in that browser.) So an invite page is only as private as its invite link — it's not a public URL, but a forwarded one works.

  To lock a page to a specific person so a forwarded link is useless, set **`require_signin: true`**. Then invitees must sign in with that email's account to view, and the link grants nothing on its own.
</Warning>

<ResponseField name="private" type="Only you">
  Only the owner can open the page.
</ResponseField>

<ResponseField name="password" type="Anyone with the link + the password">
  No sign-in required, but visitors must enter the page password. Pass a `password` when setting `access: "password"` (or one is generated and returned to you).
</ResponseField>

<ResponseField name="email_gate" type="Anyone with a verified email">
  Semi-public: the link is freely shareable, but each viewer must enter and confirm an email before viewing — and the confirmed address is captured. Set `business_only: true` to reject personal-email providers (gmail, yahoo, …). Great for forward-able investor decks.
</ResponseField>

## Comments

Turn on **Comments** (Share dialog, or `allow_comments: true`) to add a small floating comment widget to the page. **Everyone who can see the page sees the thread.**

By default comments are **anonymous** — anyone viewing can comment with no account or email (they can still add a display name, or stay anonymous). If you'd rather, set **Who can comment** to *Verified email* (or `comments_require_email: true`) and each commenter confirms a one-time email link first; their email stays private (only you see it, for moderation). Either way you can hide or delete any comment, or turn comments off, from the Share dialog, and you're emailed when someone comments. Works on any published page (HTML, deck, PDF, or image).

## Approvals <span style={{fontSize: 13, fontWeight: 600, color: '#4f46e5'}}>· Pro</span>

Collect **client sign-off** on a published page — a proposal, deck, contract, or design. Turn on **Approvals** in the Share dialog and add the **approver emails**. Each approver gets an email asking them to review; they confirm their email once (no account), then **Approve** or **Request changes** on the page, with an optional note. You're emailed on every decision, and the Share dialog and dashboard show who has signed off.

You control who sees the results with one toggle:

* **Private (default)** — decisions and notes are visible only to you. Each approver sees just their own.
* **Shared** — approvers also see each other's decisions and notes.

Multiple approvers are supported (each acts independently — no required order). Approvers also need access to open the page, so set the page's access to a `link` or invite them as people. Approvals is a Pro feature.

## Polls

Add a one-question **poll** to a page (Share dialog, or `collect_votes: true` with `poll_question` + `poll_options`). Viewers pick one option in a small floating widget that shows a live bar chart. Free on every plan. You control:

* **Who can vote** — `poll_require_email: false` (anonymous, one vote per device) or `true` (verified email, one vote per person).
* **Who sees results** (`poll_results`) — `public` (everyone), `vote` (only after they vote), or `owner` (only you, on your dashboard).
* **Named results** (`poll_named`, verified-email polls only) — voters also see who picked each option.
* **A close date** (`poll_closes_at`) — after which voting stops.

Each voter gets one vote and can change it. You see the full tally and can reset votes from the Share dialog.

## Search-engine indexing

Published pages are **not indexed** by search engines by default (served with `X-Robots-Tag: noindex`). Set `"indexed": true` to allow indexing — only meaningful for `link` pages, since private/invite pages aren't crawlable anyway.

## Slugs

Each page gets a hard-to-guess slug: a readable title prefix plus a 12-character random token (e.g. `q3-revenue-k3f9d2a8xq4p`). For `link` pages the URL is the access boundary, so the random token prevents enumeration.

## Deleting your account

You can delete your account yourself anytime from **Plan & billing → Danger zone**. It's immediate and permanent: every page, file, folder, version, comment, approval, and view analytic is deleted, your API keys are revoked, your stored files are removed, and your shared links stop working. If you're on a paid plan, your subscription is canceled at the same time (you won't be billed again). We email a confirmation when it's done. This can't be undone.
