Skip to main content

Draft vs. published

Every page has two versions: 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.
Create a page with "publish": false to save a private draft without making it live. Then call publish when you’re ready.

Access levels

Access is independent of publish state. Set it with the access field:
No sign-in required. Anyone who has the URL can view. This is the default for published pages.
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.
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.
Only you
Only the owner can open the page.
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).
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.

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 · Pro

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 votepoll_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.