Docs sweep: align install / integrate / operate / pricing / wire-format
Five-page sweep to match the current daemon state. install.html: - Step 6 (first product): "Price (sats)" → reflects the currency picker (sats / USD / EUR) shipped in migration 0010. - Step 7 (first policy): drop the "default slug is consumed by public flow" myth — buy page renders a tier picker for any product with ≥2 public policies. Add references to entitlements catalog, hide-on-buy toggles, marketing bullets, recurring subscriptions, and the drag-to-reorder policy grid. integrate.html: - "Three official SDKs" → "Four official SDKs" + Go tab + install snippet. Notes the daemon's cross-check fixtures assert byte-for-byte parity across all four. - Admin API table: drop "by npub" from the licenses search description (backend supports it; UI hasn't surfaced it yet since the purchase flow doesn't capture npubs). operate.html: - Backups section: drop the imaginary `/data/issuer-key.pem` file — the signing keypair lives in the `server_keys` SQLite table, not in a PEM file on disk. Mention the self-license file path (`/data/keysat-license.txt`). - Rotation: drop the "v0.1 doesn't support / v0.2 will" framing; rotation isn't on the v0.2 / v0.3 roadmap and the v0.1 caveat is misleading. Update steps to reflect SQLite-as-keystore. - Webhook troubleshooting: point at the dedicated Webhooks → Failed (DLQ) view rather than the audit log. pricing.html: - Creator: 21,000 sats one-time → Free forever (matches actual master Keysat configuration). - Pro: 250,000 sats/yr → 100,000 sats/yr (recurring). Note recurring + tier upgrades have shipped; only Zaprite remains v0.3. - Patron: 500,000 sats/yr → 250,000 sats one-time perpetual. Differentiation rewritten: perpetual license + direct 1:1 support (not just "Pro with a badge"). - Active discount-code cap: 5 → 10 (real cap). - New "Prices shown are a snapshot" note pointing at the canonical live source (keysat.xyz#tiers + the buy page). - Updated unlicensed-caps line to show 5/5/10 with units. wire-format.html: - Replace the entirely-fabricated "KS-base32-blob with KSAT magic bytes" layout with the actual LIC1 envelope: `LIC1-<base32 payload>-<base32 signature>` split on dashes. - Document BOTH payload versions: v1 (legacy 74-byte fixed) and v2 (current default, 83-byte head + variable entitlements table). Field offsets, flag bits, signature scope all match the daemon source. - Drop the bogus Crockford-base32 + dash-grouping sections — the daemon uses RFC 4648 base32 with single-dash structure separators, not grouped-dashes for readability. - Drop the fabricated hex-dump worked example. - Porting section now points at `licensing-service/tests/crosscheck/` (the actual fixtures location) instead of a Python-SDK path. - Versioning policy: clarify envelope-tag vs payload-version cadence.
This commit is contained in:
+39
-25
@@ -100,16 +100,16 @@
|
||||
|
||||
<div class="tier-card">
|
||||
<h3>Creator</h3>
|
||||
<div class="price">21,000<span class="unit">sats</span></div>
|
||||
<div class="frequency">one-time, perpetual</div>
|
||||
<div class="price">Free<span class="unit">forever</span></div>
|
||||
<div class="frequency">no payment required</div>
|
||||
<ul>
|
||||
<li>Up to 5 products</li>
|
||||
<li>Up to 5 policies per product</li>
|
||||
<li>Up to 5 active discount codes</li>
|
||||
<li>Up to 10 active discount codes</li>
|
||||
<li>BTCPay payments (Bitcoin / Lightning)</li>
|
||||
<li>One-time purchases</li>
|
||||
<li>All four SDKs · full wire format</li>
|
||||
<li>Webhooks, audit log, recovery, analytics opt-in</li>
|
||||
<li>Self-host on Start9 (always)</li>
|
||||
<li>Distributed via free codes — ask</li>
|
||||
</ul>
|
||||
<a class="cta secondary" href="https://licensing.keysat.xyz/buy/keysat?policy=creator">Get Creator</a>
|
||||
</div>
|
||||
@@ -117,13 +117,13 @@
|
||||
<div class="tier-card featured">
|
||||
<div class="badge">Most popular</div>
|
||||
<h3>Pro</h3>
|
||||
<div class="price">250,000<span class="unit">sats</span></div>
|
||||
<div class="frequency">per year</div>
|
||||
<div class="price">100,000<span class="unit">sats</span></div>
|
||||
<div class="frequency">per year (recurring)</div>
|
||||
<ul>
|
||||
<li>Unlimited products / policies / codes</li>
|
||||
<li>Recurring subscriptions <em>(when shipped, v0.3)</em></li>
|
||||
<li>Zaprite payments — accept BTC + cards <em>(when shipped, v0.3)</em></li>
|
||||
<li>Multi-operator admin <em>(when shipped)</em></li>
|
||||
<li>Recurring subscriptions — trials, grace, auto-renew</li>
|
||||
<li>Zaprite payments — accept BTC + cards <em>(shipping in v0.3)</em></li>
|
||||
<li>In-place tier upgrades (proration handled)</li>
|
||||
<li>Everything in Creator</li>
|
||||
</ul>
|
||||
<a class="cta" href="https://licensing.keysat.xyz/buy/keysat?policy=pro">Upgrade to Pro</a>
|
||||
@@ -131,13 +131,15 @@
|
||||
|
||||
<div class="tier-card">
|
||||
<h3>Patron</h3>
|
||||
<div class="price">500,000<span class="unit">sats</span></div>
|
||||
<div class="frequency">per year</div>
|
||||
<div class="price">250,000<span class="unit">sats</span></div>
|
||||
<div class="frequency">one-time, perpetual</div>
|
||||
<ul>
|
||||
<li>Same features as Pro</li>
|
||||
<li>Everything in Pro</li>
|
||||
<li>Perpetual license — one-time, never renews</li>
|
||||
<li>Direct one-on-one support</li>
|
||||
<li>"Patron" badge in your admin UI</li>
|
||||
<li>Funds Keysat development</li>
|
||||
<li>Honest upsell — no fake feature gate</li>
|
||||
<li>Listed on the Patrons page at keysat.xyz</li>
|
||||
<li>Early access to release-candidate builds</li>
|
||||
</ul>
|
||||
<a class="cta secondary" href="https://licensing.keysat.xyz/buy/keysat?policy=patron">Become a Patron</a>
|
||||
</div>
|
||||
@@ -145,12 +147,22 @@
|
||||
</div>
|
||||
|
||||
<div class="note">
|
||||
<strong>Note on what's gated.</strong> Today the only enforced gates are the
|
||||
capacity caps — number of products, policies, and active discount codes. Pro
|
||||
will gate the new payment-provider features (recurring billing, Zaprite card
|
||||
payments) when those ship in v0.3. Patron is functionally identical to Pro —
|
||||
its tier exists for operators who want to fund development beyond what Pro
|
||||
needs to stay in the green.
|
||||
<strong>Prices shown are a snapshot.</strong> The canonical source is the live
|
||||
tier cards at <a href="https://keysat.xyz#tiers">keysat.xyz</a> (rendered
|
||||
dynamically from the master Keysat instance) and
|
||||
<a href="https://licensing.keysat.xyz/buy/keysat">licensing.keysat.xyz/buy/keysat</a>.
|
||||
Launch-special discounts (when active) show on those pages with a "LAUNCH
|
||||
SPECIAL" ribbon and the discount auto-applied; they're not represented here.
|
||||
</div>
|
||||
|
||||
<div class="note">
|
||||
<strong>What's gated.</strong> Capacity caps (products / policies-per-product /
|
||||
active discount codes) are enforced at create-time on the Creator tier. Pro
|
||||
unlocks the <code>recurring_billing</code> entitlement (auto-renewing
|
||||
subscriptions) and will unlock <code>zaprite_payments</code> (card payments
|
||||
via Zaprite) when that lands in v0.3. Patron differs from Pro by being a
|
||||
one-time perpetual license rather than an annual subscription, plus direct
|
||||
one-on-one support — not a feature gate, a different ownership model.
|
||||
</div>
|
||||
|
||||
<h2 id="what-counts">What the caps count</h2>
|
||||
@@ -182,10 +194,12 @@
|
||||
<h2 id="unlicensed">Running unlicensed</h2>
|
||||
<p>
|
||||
Keysat works without any license at all — you'll see "Unlicensed" in the
|
||||
sidebar and get the same caps as a Creator-tier operator (5/5/5). The
|
||||
license exists primarily so operators get a real "I bought it" experience
|
||||
and so we can offer the upgrade path to Pro. Hobbyists can run Keysat
|
||||
indefinitely without paying us a sat.
|
||||
sidebar and get the same caps as a Creator-tier operator
|
||||
(5 products / 5 policies per product / 10 active discount codes). The
|
||||
Creator tier is free either way; the self-license flow exists primarily so
|
||||
operators get a real "I bought it" experience for the paid tiers and so we
|
||||
can offer the upgrade path to Pro. Hobbyists can run Keysat indefinitely
|
||||
without paying us a sat.
|
||||
</p>
|
||||
|
||||
</main>
|
||||
|
||||
Reference in New Issue
Block a user