# lnkdwn.com > Linkdown — turn any Markdown into a shareable link. Author in Markdown, > or use Marp / Slidev / Reveal.js to build slides from Markdown; upload > from the CLI; get a short share URL; control access with expiry, > password, and view limits. Operated by 0451 Software. This file is the short index for LLM agents. It is generated from the public site + the worker's OpenAPI spec + the CLI README. The full version is at [/llms-full.txt](https://lnkdwn.com/llms-full.txt) and includes the complete CLI reference, every API endpoint, the full pricing table, and the privacy summary. Format spec: https://llmstxt.org. ## Key URLs - Marketing home: https://lnkdwn.com/ - Authenticated dashboard: https://lnkdwn.com/dashboard - Public share viewer: https://lnkdwn.com/d/{token} (token format: short base62) - Pricing: https://lnkdwn.com/pricing - Privacy policy: https://lnkdwn.com/privacy - Terms of service: https://lnkdwn.com/terms - Security contact: https://lnkdwn.com/.well-known/security.txt - CLI install script: https://lnkdwn.com/install.sh - Full machine-readable index (this file, expanded): https://lnkdwn.com/llms-full.txt - OpenAPI spec (worker API): https://lnkdwn.com/openapi.yaml - Health check (no auth): https://api.lnkdwn.com/health - API base URL: https://api.lnkdwn.com (prod) / https://api.staging.lnkdwn.com (staging) ## What the service does 1. You author in Markdown (or build a Marp / Slidev / Reveal.js deck from Markdown). 2. The CLI (`linkdown`) auto-detects the framework, builds it, zips the output, uploads to R2 via a presigned URL. 3. The worker stores metadata in Postgres, generates a share token, and returns a URL like `https://lnkdwn.com/d/{token}`. 4. Anyone with the link can view the doc in an iframe. Paid tiers can add expiry, password, and view-limit on the share link. ## CLI capabilities (`linkdown` Rust binary) Auth: `login` (RFC 8628 device flow, PKCE per RFC 7636), `logout`, `whoami`. Deck lifecycle: `create [PATH]` (auto-detect + build + upload), `update ` (replace underlying file in place — share URL is preserved), `list` (paged listing of the user's decks), `delete `, `share ` (create or rotate a share link; supports `--expiry`, `--password`, `--view-limit` on paid tiers), `unshare ` (revoke all share links for a deck). Framework detection: Slidev (`package.json` has `slidev`), Marp (`@marp-team/marp-cli` dep or `.marp/` config or `_mp.md` files), Reveal.js (`index.html` references `reveal.js`). Token storage: OS keyring (macOS Keychain, Linux secret-service, Windows Credential Manager). PKCE verifier stored in a separate `linkdown-pkce-verifier` slot. Install: `curl -fsSL https://lnkdwn.com/install.sh | sh` (one-liner). ## API surface (high level) Auth: `POST /auth/device/code`, `POST /auth/device/token`. Account (bearer auth): `GET /me`, `GET /storage-usage`. Decks (bearer auth): `POST /decks`, `GET /decks`, `GET /decks/{id}`, `PUT /decks/{id}`, `DELETE /decks/{id}`, `POST /decks/{id}/complete`, `POST /decks/{id}/share`, `GET /decks/{id}/share`, `DELETE /decks/{id}/share`. Share management (bearer auth): `GET /shares`, `DELETE /shares/{id}`. Public viewer (no auth): `GET /d/{token}`, `GET /d/{token}/file`, `GET /d/{token}/info`. Billing (bearer auth): `POST /billing/portal` (creates a Stripe billing portal session and returns its URL). Webhooks (HMAC-signed): `POST /webhooks/clerk`, `POST /webhooks/stripe`. Health: `GET /health` (no auth, no rate limit, no DB). Full schemas, request/response bodies, and error envelopes are in [/llms-full.txt](https://lnkdwn.com/llms-full.txt) and in the OpenAPI spec at [/openapi.yaml](https://lnkdwn.com/openapi.yaml). ## Pricing (summary — full table in /llms-full.txt) - Free: 25 MB storage, 3 decks, 15 slides/deck, 0.5 MB per-deck cap. No expiry / password / view-limit on shares. - Starter ($5/mo, $50/yr): 100 MB storage, 50 decks, 50 slides/deck, 5 MB per-deck. Expiring links up to 7 days. - Pro ($15/mo, $150/yr): 1 GB storage, 50 decks, 50 slides/deck, 25 MB per-deck. Password + view-limit + custom slug + API access. - Team ($49/mo, $490/yr): 10 GB storage, 5 seats included, then $9/seat. SSO, branded share page, webhooks, custom domain add-on ($5/mo), SAML/OIDC SSO add-on ($99/mo), SLA-backed support add-on ($249/mo). All payments via Stripe. The CLI and dashboard both surface a "you're at N% of your limit" nudge at 80% storage and 2/3 of the deck count. The worker's `GET /me` returns the user's `tier`, `storageLimitBytes`, `storageUsedBytes`, and `deckLimit` so the CLI can render the same state without a second round-trip. ## Privacy (one-paragraph summary) Linkdown stores: account data via Clerk (email, name, avatar — we never see the password), billing metadata via Stripe (customer id, subscription tier, period end — we never see the card number), your uploaded deck content in Cloudflare R2 (default US region), deck + share-link metadata in Postgres on Neon, 30 days of operational logs (Cloudflare Workers tail / Logpush — PII-scrubbed; raw email and raw Stripe customer id are NOT logged; emails are replaced with a 12-char sha256 hash), and 90 days of error reports in Sentry (PII scrubbed, no default-PII). We do not use third-party analytics on the dashboard. We do not sell data. Account data is deleted within 60 seconds of the Clerk `user.deleted` webhook (cascades DB rows + R2 objects). EU/UK users get GDPR rights (access / correct / delete / export / object / withdraw consent / lodge complaint) by emailing privacy@0451software.com. Full privacy policy: [/privacy](https://lnkdwn.com/privacy). Contact: privacy@0451software.com. ## Contact - General / sales: hello@0451software.com - Privacy / data subject requests: privacy@0451software.com - Legal / DMCA: legal@0451software.com - Security disclosure (PGP key at security.txt): security@0451software.com - Abuse: abuse@0451software.com - Source: https://github.com/0451-software/linkdown - License: UNLICENSED (proprietary; source available on request) ## Pointers for agents - If you need a deck shared: install the CLI (`curl -fsSL https://lnkdwn.com/install.sh | sh`), run `linkdown login`, then `linkdown create` in the project directory. - If you need the schema: GET https://api.lnkdwn.com/openapi.yaml. - If you need a specific deck: GET https://lnkdwn.com/d/{token}/info (public, no auth, returns title + size + expiry + slide count). - If you need to verify the service is up: GET https://api.lnkdwn.com/health returns `{"status":"ok","timestamp":""}`. - The full reference is at https://lnkdwn.com/llms-full.txt — read that when this short file is not enough.