---
epic: 9
story: 9.4
title: "Shareable URL Links"
status: draft
---

## Epic 9 — Web App (React + WASM)
**Goal:** Zero-install web experience with real-time collaboration.

### Story 9.4: Shareable URL Links

As a web user,
I want to share my CalcPad sheet via a unique URL,
So that others can view my calculations without needing an account.

**Acceptance Criteria:**

**Given** a user has an open CalcPad sheet
**When** they click the "Share" button
**Then** a unique URL is generated in the format `calcpad.app/s/{shortcode}`
**And** the URL is copied to the clipboard with confirmation feedback

**Given** a recipient opens a shared URL
**When** the page loads
**Then** the sheet is rendered in read-only mode with full formatting and answer display
**And** the recipient cannot edit the original sheet

**Given** a user is generating a share link
**When** they enable the "Password Protection" option and set a password
**Then** recipients are prompted to enter the password before viewing
**And** incorrect passwords display an error and deny access

**Given** a user is generating a share link
**When** they set an expiration (e.g., 1 hour, 1 day, 7 days, 30 days)
**Then** the link becomes inaccessible after the expiration period
**And** visiting an expired link shows a friendly "This link has expired" message
