AddThisFeature

Signed Share Links

Share one private item with someone outside the app, without giving them an account.

involved Social & Sharing

What it adds

Signed capability URLs scoped to a single record and a fixed set of actions, with expiry and revocation.

What your agent is told to do

5
  1. 1

    Generate links as unguessable signed tokens stored server-side, so a link can be revoked without rotating a global secret.

  2. 2

    Scope each token to one record and an explicit action set — view, comment, download — and check that scope on every request the link serves.

  3. 3

    Require an expiry at creation with a sane default, and give the owner a list of live links showing what each grants, when it was made, and when it was last opened.

  4. 4

    Treat anyone holding the link as the intended recipient. That is the security model; state it in the sharing UI so the owner understands what forwarding means.

  5. 5

    Do NOT put the token in a query string that leaks through referrers, server logs, or analytics, and do NOT let a link-holder discover other records by changing an ID in the path.

Edge cases it handles

6
  • An expired or revoked link must show the same neutral page whether or not the record ever existed — leaking that difference is an enumeration hole.
  • Link previews from chat apps and mail clients will fetch the URL. Suppress metadata and thumbnails that expose contents to anyone who never opened it.
  • Search engines must never index these pages; set noindex and exclude them from sitemaps.
  • Deleting the underlying record must invalidate its links rather than serving a stale cached copy.
  • Downgrading a link's scope has to take effect immediately for someone who already has the page open.
  • Revoking the owner's own access, or deactivating their account, must revoke the links they issued.

Definition of done

8
  • Links are unguessable, signed, stored server-side, and individually revocable.
  • Each link is scoped to one record and one action set, enforced on every request.
  • Every link has an expiry, and expired or revoked links show an identical neutral state.
  • Owners can list, inspect, and revoke their live links.
  • Tokens do not appear in referrers, logs, or analytics.
  • Shared pages are excluded from search indexing and rich previews.
  • The feature matches the existing design system.
  • No existing functionality is broken.

Related features

How it works

  1. 1

    Copy the link

    Grab the Markdown instruction URL for this feature.

  2. 2

    Give it to your AI

    Paste it into Claude Code, Cursor, v0, Lovable — whatever you build with.

  3. 3

    It inspects, then implements

    Your agent reads your existing app first, then adds the feature to fit it.

Works with your stack

These instructions are written to adapt. They tell the agent to detect your framework, match your existing design system, and reuse what you already have — rather than assuming a particular stack.

Need it tighter than that? Customize the feature and tell it exactly what you're running.