Share anything. Get a link. Watch it vanish.
Apple-native temporary share links for iPhone, iPad, and Mac.
Website · Product overview · CLI · Security · TestFlight runbook
FastShared turns the everyday "share a file" chore into one gesture: pick a file, choose how long the link should live, and paste the temporary URL from your clipboard.
Every link expires. Every file is deleted. By design.
| Surface | Experience |
|---|---|
| iPhone and iPad | Native Share Extension, background uploads, Live Activity, and Dynamic Island progress. |
| Mac | Menu bar workflow, drag-and-drop uploads, paste-to-upload command, and structured recent links. |
| CLI | Scriptable uploads for agents and shell workflows; stdout returns the temporary URL. |
| Recipient | Opens a short link in any browser. No account, app, or sign-in required. |
| Tier | File size | Retention | Uploads | Sync |
|---|---|---|---|---|
| Launch beta | 2 GB per file | Up to 30 days | Unlimited | iCloud metadata sync |
| Pro | 2 GB per file | Up to 30 days | Unlimited | iCloud metadata sync |
The backend is the source of truth for caps and retention. For the current
closed beta, production sets PRO_FOR_ALL_USERS=true, so every registered
device temporarily receives Pro caps until that flag is removed.
Share Extension / Mac App
|
| presign + retention policy
v
Cloudflare Worker API
|
| direct upload
v
Cloudflare R2 private bucket
|
| metadata, expiry, owner actions
v
Neon Postgres + KV rate limits
|
| short link
v
fastsha.red/s/<token>
Default retention is 24 hours. When a link expires, the resolve endpoint
returns 410 Gone; the underlying object is then deleted by the retention
workflow, with storage lifecycle rules as a safety net.
| Layer | Stack |
|---|---|
| Apple | SwiftUI, SwiftData, Share Extension, background URLSession, Keychain Sharing, CloudKit metadata sync |
| CLI | Node.js 20+, TypeScript, native fetch, local ZIP staging |
| Backend | Cloudflare Workers, Hono, Drizzle ORM, Neon Postgres, R2, KV |
| Web | Astro landing/docs surfaces |
| CI/CD | GitHub Actions, Xcode/TestFlight lanes, Wrangler deploy workflows |
| Path | Purpose |
|---|---|
apple/ |
iOS, iPadOS, macOS app targets, Share Extension, shared Swift package |
cli/ |
Node/TypeScript command-line uploader for agents and scripts |
backend/ |
Hono Worker API, persistence, billing verification, retention jobs |
web/ |
Public site and static marketing surfaces |
docs/ |
Product, architecture, security, launch, and ops documentation |
.github/ |
CI, preview, production, and release workflows |
Apple:
make bootstrap
make iosBackend:
cd backend
pnpm install
cp ../.env.example .dev.vars
pnpm devWeb:
cd web
pnpm install
pnpm buildCLI:
cd cli
pnpm install
pnpm test
pnpm buildBackend:
cd backend
npm run typecheck
npm testApple core package:
cd apple/Packages/FastSharedCore
swift testWeb:
cd web
pnpm buildCLI:
cd cli
pnpm typecheck
pnpm test
pnpm build- Product overview
- CLI
- System design
- Apple client
- Backend
- Upload flow
- Security
- Data model
- MVP roadmap
- Implementation checklist
- Apple preview builds publish both iOS and macOS TestFlight artifacts.
- Backend deploys are separated between staging and production promotion flows.
- Public docs should match the real retention, logging, Keychain, and download behavior before release.
TBD. This repository is currently private; a license will be chosen before any public release.