Keysat 95a11666d7 Docs index: refresh against current daemon state
Nine wording fixes:

- Hero lede: drop "Bitcoin payment via BTCPay" → "payment via
  BTCPay" (matches landing-page de-emphasis); split the dense
  one-paragraph lede into two.
- Products: "price in sats" → "price (sats / USD / EUR)";
  introduce the entitlements catalog concept.
- Policies table: add is_recurring + renewal_period_days,
  marketing_bullets, hidden_entitlements. Fix "default slug is
  canonical" myth — multi-tier ladders (Basic / Pro / Max) are
  first-class and the buy page renders a tier picker for products
  with 2+ public policies. Note tier_rank + drag-and-drop ordering.
  Split "private policies" out as a paragraph.
- Discounts: add set_price as a 4th kind. Note discount_currency
  on fixed-amount codes. Add multi-policy scope. Add featured
  / launch-special section (ribbon, auto-apply, pre-filled input).
- Revocation: "v0.2 will ship recurring renewals" → past-tense.
  Recurring is shipped.
- New "Operator tiers" section: explains Keysat self-licenses
  (Creator / Pro / Patron), notes caps are enforce-on-create
  (existing rows grandfathered), and lists four canonical sources
  for the live tier list (keysat.xyz, pricing.html, the public
  /v1/products/keysat/policies endpoint, the admin /v1/admin/tier
  endpoint). "As of this writing" framing for the current cap
  values so they don't go stale silently.
- TOC: add #operator-tiers anchor.

Pricing.html, install.html, integrate.html, wire-format.html,
operate.html — not touched; this is the introduction page only.
A separate pass should audit those too.
2026-05-11 18:53:40 -05:00
2026-05-07 10:42:46 -05:00
2026-05-07 10:42:46 -05:00
2026-05-07 10:42:46 -05:00
2026-05-07 10:42:46 -05:00

Keysat Docs

Operator-facing documentation for Keysat — the Bitcoin-native self-hosted software licensing service for StartOS.

This repo is a static HTML site. No build step. The deployed version lives at keysat.xyz/docs.

Pages

  • index.html — Introduction. What Keysat is, why it exists, and the sovereignty thesis behind it.
  • install.html — Operator setup walkthrough. Installing the .s9pk on StartOS, connecting BTCPay, creating your first product and policy, and sharing your buy URL.
  • integrate.html — Wiring Keysat licensing into your own software. Code examples for the TypeScript, Python, and Rust SDKs; entitlement-gating patterns; offline verification.
  • operate.html — Day-to-day operations. Managing licenses, suspending / revoking, search, audit log, discount codes, refund flows.
  • wire-format.html — Specification of the signed license key format (LIC1 envelope, base32 alphabet, Ed25519 signature scheme). Useful for porting the SDK to a new language.

Local development

The site is self-contained — open any .html file in a browser, or serve the directory with any static file server:

# Python
python3 -m http.server 8000
# or
npx serve .

Then visit http://localhost:8000.

Styling

All pages share docs.css. Brand assets live in assets/. The visual language matches the rest of the Keysat surface (cream paper-textured background, navy ink, gold accents, classical type — Manrope for display, Inter for body, JetBrains Mono for code).

Contributing

Issues and pull requests welcome. Substantive changes — new sections, restructuring, factual corrections to the wire-format spec — are best discussed in an issue first.

License

MIT. See LICENSE.

S
Description
No description provided
Readme MIT 360 KiB
Languages
HTML 91%
CSS 7.6%
JavaScript 1.4%