A link is a link
- The URL is
/v/<secret>/on the instance (or on the dedicated viewer origin when the operator set one). The secret is 48 random bytes, stored hashed: the URL appears exactly once, when the link is created, and can never be retrieved again. To hand a deck out again, create another link. - Every link has an owner-facing Recipient label (
alice@client.com,Review round 2) that the recipient never sees. One recipient per link is the intent: each link is observable and revocable on its own. - Anyone with the URL is a recipient. Forwarding the URL forwards the access; revoking the link cuts it for everyone holding it.
What a link carries
Each link decides, on its own, what the recipient gets:
The switches can be changed after creation (the version, the capabilities, the expiry and the
password are all editable on the API with a
PATCH; the version from the page and the CLI too).
Each link also counts: its views (entry loads, one per browser within a short window), when it was
last opened, and its downloads. Link analytics keeps one event per
view, with the referring site and a placement label and without any IP address.
Where links are made
- The deck’s page: Share in the title menu opens the share sheet,
Links are made here, on top of the deck, with New share link, which opens the form in a dialog over the sheet. The form asks for the recipient, the version, the three switches, the notes button position when annotations are on, the expiry and the password, and answers with the URL once. - The dashboard: the share links panel of the deck’s dashboard page, the same form.
- The CLI:
slideless share <id> --name "Alice"prints the URL;--to-version,--annotator,--no-forms,--no-remember,--no-download,--no-bar,--expires,--passwordset the rest, and--embedadds the website snippets.slideless share-email <id> --to a@x.com b@x.commints one link per address and mails it. The CLI reference has every flag. - The API:
POST /api/v1/presentations/{id}/tokens. - MCP:
slideless_add_share_token.
What the recipient gets
The deck, whole, at the version the link resolves to, under a slim bar: theSlideless mark, the
deck’s title, the version (v3) and, when the version carries files and the link allows
downloads, a Download button whose menu lists each file with its size and Download all for
the zip. The bar collapses to a thin handle at the top (its Hide this bar button, or Esc while it has
focus) and stays collapsed on that link for the rest of the browser tab; the handle, Show the
presentation bar, brings it back. The
deck sits under the bar, pushed down by its height, never covered. With the bar off, the recipient
gets the deck alone, as it was pushed, and a deck that hands out its files then links them itself,
relative to its own URL (downloads/figures.csv, downloads.zip), as Attachments
explains. Beyond that, what the link allows: the notes layer on an annotator link, working forms
unless they were switched off, the files unless downloads were switched off. What the recipient
never gets: the deck’s page, the version history, the other links, the owner’s name, the
workspace.
A link answers for itself:
Revoking
Revoke a link when the recipient should stop: Revoke on the link’s row (the dialog says the link stops opening immediately and that its access stats are kept),slideless unshare <id> --token <tokenId>
for one link or slideless unshare <id> for every active link of the deck, DELETE on the API, or
the MCP tool slideless_unshare_presentation. Revocation is immediate, and the link’s history stays readable in
the dashboard.
Deleting the deck kills every one of its links at once.
Previews are not links
When you look at your own deck on its page or in the dashboard, the frame uses a short-lived preview link the instance mints for you. It expires within the hour and never counts as a view or a download. The dashboard’s share links panel does not list it;slideless tokens and the API do, named
Dashboard preview with purpose: preview, so a listing from the terminal can show links you did
not create: they are yours, and they die on their own.