Keysat 47facc8909 Correct SDK-integration docs and add license-gating walkthrough
Fixes surfaced by the onboarding test harness, each verified against the
published SDKs and the daemon:

- integrate.html: real v0.3 verify() shape (throws/Err, returns
  VerifyOk{payload,...}, no `valid` bool; LicensingError `.code` in TS,
  `.kind` in Python; Rust Error::BadSignature/BadFormat). Offline-expiry
  and server-side key-transport notes; corrected the admin-API table
  (licenses list needs product_id; added the /search row).
- agent.html: merchant-onboard role row; product/policy-create workflows;
  buyer_note -> note; find-by-email -> /search; the worked-example
  walkthrough; code blocks restyled to the pre.code design contract.
- wire-format.html: corrected the GET /v1/issuer/public-key response shape.
2026-06-16 22:47:59 -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-06-13 06:58:12 -05:00
2026-05-07 10:42:46 -05:00
2026-06-13 06:58:12 -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.
  • 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%