eleven / messenger Public

docs+bot: record the no-IAP decision for space plans + Eleven's no-payment-links rule (#845)

Space plans (Family/Community/Business) are Stripe-only via home — no IAP.
The de facto decision from the billing rails now written down with its why
(identity spine is the home account not an Apple ID; one source of billing
truth; the fee scales with price; post-May-2025 link-outs removed IAP's
upside), plus the steering posture: per-client UI gates by storefront
(US allowlist to start; EU deliberately off it — no fee terms, no monthly
reporting), chat content cannot gate, so first-party bots never post
checkout links and never proactively upsell.

Eleven's knowledge file gets the matching conduct rule before anyone
teaches it billing: describe the path (the home page), never paste a
payment link, never upsell unprompted.
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
Paul Campbell ca2b3909085bb6d4570a3a63d43a5b078dd72eb9 parent 69e9b47
2 files changed, +47 −0
  • docs/community-and-tiers.md +38 −0
  • internal/bot/knowledge.md +9 −0
diff --git a/docs/community-and-tiers.md b/docs/community-and-tiers.md
index bec7388..623f963 100644
--- a/docs/community-and-tiers.md
+++ b/docs/community-and-tiers.md
@@ -149,6 +149,44 @@ entitlement lives on the instance, not the device.
- **Webhooks** land at one platform-level Connect endpoint on the broker and
are relayed to the instance as minimal entitlement changes.
+### Our own space plans: Stripe-only, no IAP (decided 2026-07-13)
+
+The section above is about *creator* tiers — members paying a space's admin.
+For **Eleven's own space plans** (Family/Community/Business, sold by us) the
+decision is simpler and firmer: **Stripe Checkout from the home page is the
+only purchase path; we do not offer IAP for space plans.** Why:
+
+- **Wrong identity spine.** The buyer is a home account (passkey) upgrading a
+ *space* whose benefits reach every member on every platform. IAP binds the
+ entitlement to an Apple ID — reconciling that back into the cloud ledger
+ means receipt validation, App Store Server Notifications, and refund sync: a
+ second source of billing truth beside the one Stripe webhook we have.
+- **The fee scales with price.** Apple's 15% is €0.75 on a €5/y Family space
+ but ~€150 on a €999/y Business space; Stripe is ~€0.33 and ~€15.
+- **The link-out era removed the main upside.** Since the May 2025 US ruling,
+ the iOS app can link to web checkout in the US storefront with no fee and no
+ entitlement; the EU allows it under fee-and-reporting terms we deliberately
+ don't take (below); other storefronts stay quiet.
+
+**Steering posture** (what renders where — this is the part that keeps us
+clean under App Store rule 3.1.1 and the EU DMA fee terms):
+
+- **Per-client UI can gate by platform/storefront**, and does: the space
+ menu's Upgrade entry shows on the web, and on iOS only where a storefront
+ is in the allowlist (US to start — the clean no-fee, no-reporting regime;
+ the EU stays off it so we owe Apple neither commission nor monthly
+ transaction reporting).
+- **Chat content cannot gate** — a message renders on every device the member
+ owns, so a payment link posted in chat reaches storefronts where steering
+ is still restricted. Therefore **Eleven and the other first-party bots
+ never post checkout/payment links in chat, and never proactively upsell**.
+ A bot we ship is *our* content — "a bot said it" is still the app steering,
+ and E2EE hiding the message from Apple is not a compliance posture (our
+ prompts and Eleven's knowledge file are published). When a member asks how
+ to upgrade, Eleven describes the path — the home page — without a link.
+- **Proactive upsell belongs to channels Apple has no claim on**: the home
+ page, the web shell, email.
+
### App-store billing (optional, beside Stripe — never instead)
IAP products belong to *our* bundle ID, so this path is inherently central
diff --git a/internal/bot/knowledge.md b/internal/bot/knowledge.md
index 68f992f..20f9733 100644
--- a/internal/bot/knowledge.md
+++ b/internal/bot/knowledge.md
@@ -772,3 +772,12 @@ question, not a shipped feature.
general questions, while you're the specialist on the app itself.
- And when the name confusion comes up: yes, you're Eleven and the app is Eleven.
Lean into it.
+- **Upgrading a space / paid plans:** describe the path, never post a link.
+ When someone asks how to upgrade (or about plans and pricing), tell them it
+ happens from their **home page** — the same place they saved their passkey
+ and see their list of spaces — and that the space's menu (⋮) has an Upgrade
+ entry on some platforms. Do **not** paste a checkout, payment, or
+ pricing-page URL into chat, and never bring up upgrading unprompted. (Why:
+ chat messages render inside the iOS app too, and app-store rules restrict
+ in-app links to outside payment in many countries — a message from you is
+ the app speaking. Describing where to go is fine; linking is not.)