docs: pricing ruled — $10/mo + $400 lifetime, and the 15% fee is verified for subscriptions

Reconcile the pending doc edits with the creator's actual ruling, and close the
revenue-share question that was blocking the monthly price.

Verified from the App Developer Agreement v8.10 PDF itself (downloaded and
text-extracted, not a search excerpt). Section 6(b) has only three tiers:
6(b)(i) 15% for Apps and their In-App Products *not listed in* 6(b)(iii);
6(b)(ii) 12% Games-only; 6(b)(iii) 30% for Xbox console apps/games, Xbox
non-subscription IAP, and Windows 8/Phone 8. LlamaCasty is a Windows PC App,
so 6(b)(i) governs BOTH tiers -- there is no subscription surcharge. The
agreement's own changelog (v8.0, Oct 26 2017) states it outright: "implement
the 85/15 revenue share for non-Game subscriptions."

  => $10/mo nets $8.50 (~$102/yr); $400 lifetime nets $340.

Also confirmed: the 15% applies after VAT/GST (Net Receipts definition),
payouts are monthly above a $50 threshold, and no better small-indie rate
exists in the standard terms.

Creator ruling recorded: $10/mo subscription or $400 lifetime, no annual, no
.99. This supersedes the 2026-09-21 one-time $29 -> $49 model.

Two obligations ADA 6(h) attaches to the recurring tier, recorded because they
change its risk profile and are the reason lifetime is the hedge: we must
fulfil the subscription for the entire period as marketed (on breach Microsoft
may refund the full amount plus taxes in its sole discretion), and raising the
price disables auto-renew -- so $10 is effectively locked for the product's life.

Stale facts fixed in the same change rather than appended:
- research-store-certification.md: IARC was 11.11.1/11.11.2 in one table and
  10.11.1 in another; corrected to 10.11.x.
- research-store-certification.md: policy 10.8.1/10.8.2 still asserted "Polar
  explicitly permitted" and "tick the third-party purchase box". Void now that
  Store IAP is the route and Polar is being torn down.
- task-48: the working YouTube demo account (10.3.1) was accidentally dropped
  from the certification list during the Store-IAP edit. Restored -- a reviewer
  cannot use the app without one.
- MyMistakes.md: the verified-fact-vs-decided-outcome lesson now closes its
  loop (the creator did rule the way the research pointed), and records the
  over-correction that followed.

Docs-only. No code, no build, no tests.
This commit is contained in:
2026-09-27 15:02:25 -07:00
parent b2036a38e8
commit e7cded6879
5 changed files with 102 additions and 41 deletions
+4 -4
View File
@@ -207,11 +207,11 @@ Policy 7.20. "Binds" = must be satisfied to submit.
| **10.1.4** | Distinct informative metadata + **active Store presence** | ☐ Listing must not be a stub |
| **10.2.7** | Must enable clean uninstall | ☐ MSIX gives this free |
| **10.4.2** | Start promptly, stay responsive, shut down gracefully, survive native API exceptions | ✅ `AppLog` + dispatcher handlers exist |
| **11.11.1** | **IARC age-rating questionnaire** required | ☐ General-audience streaming tool, 12+ territory |
| **11.11.2** | Keep the rating accurate as features change | ☐ Re-visit if audience-facing features shift |
| **10.11.1** | **IARC age-rating questionnaire** required | ☐ General-audience streaming tool, 12+ territory |
| **10.11.2** | Keep the rating accurate as features change | ☐ Re-visit if audience-facing features shift |
| **11.12** | **User Generated Content** — see §9 | ⚠️ Judgment call, documented not built |
| **10.8.1** | Non-game PC products **may** use a secure third-party purchase API **or** Store IAP | ✅ **Polar explicitly permitted.** Must tick the third-party purchase box in Partner Center |
| **10.8.2** | Third-party purchase: identify provider, authenticate user, obtain confirmation, PCI DSS, note in Partner Center | ☐ Covered by Polar; tick the box |
| **10.8.1** | Non-game PC products **may** use a secure third-party purchase API **or** Store IAP | ✅ **Superseded 2026-09-27: we chose Store IAP, not Polar.** The third-party-purchase path is no longer the plan |
| **10.8.2** | Third-party purchase: identify provider, authenticate user, obtain confirmation, PCI DSS, note in Partner Center | ⛔ **Void — Polar is being torn down (TASK 10).** Store IAP is the Microsoft commerce engine, so the third-party-provider/PCI-DSS obligations do not apply |
| **10.8.3** | **Individual** accounts cannot require financial info for primary functionality; requiring it forces a **Company** account | ⚠️ **Open question** — see §11 |
| **10.14** | Individual accounts usually fine for a solo dev; Company required if the product needs financial info for primary functionality, or a consumer would read the name as a business | ⚠️ Same question as 10.8.3 |
| **10.8.7** | Pricing must follow the FTC Guides Against Deceptive Pricing and must not be irrationally high vs. features | ☐ A pricing decision, not a code task |
+22 -10
View File
@@ -55,16 +55,24 @@ ONLY paid delta (TASK 36 item 2). Store IAP changes how the bit is *obtained*, n
### Still to verify (does not block packaging work)
- ☐ **Current Store revenue-share terms.** ⚠️ **Do not assume any percentage** — the terms have
moved more than once and smaller indie apps sometimes qualify for better rates. **Verify
before setting a price.** Microsoft also requires that any IAP products and their pricing be
declared in Partner Center.
- ☐ **Store IAP tier shape** — ⛔ **no annual tier, and that is now a settled constraint, not
a preference:** Microsoft does not pro-rate, and *"monthly subscriptions and initial
(pre-renewal) purchases aren't eligible for a prorated refund"*, so a first-year annual
subscriber who cancels loses the remaining months in most countries **and the developer
cannot refund it**. Declare a **monthly subscription**; a **lifetime** product (~$300, clean
number, no `.99`) is the open question and the natural hedge. ⛔ **No `.99` prices.**
- ☑ **Current Store revenue-share terms — VERIFIED 15%, subscriptions included.** Read from the
ADA v8.10 PDF (downloaded and text-extracted), §6(b): 15% for Apps and their In-App Products
*not listed in* 6(b)(iii); 12% is Games-only; 30% is Xbox console / Xbox non-subscription IAP /
Windows 8. LlamaCasty is a Windows PC App, so **6(b)(i) 15% governs** ⇒ `$8.50/mo` net,
`$340` lifetime net. The agreement's own changelog (v8.0, Oct 26 2017) states it plainly:
*"implement the 85/15 revenue share for non-Game subscriptions."* Smaller-indie better rates
were **not** found in the standard terms. Microsoft also requires that any IAP products and
their pricing be declared in Partner Center.
- ☑ **Store IAP tier shape — ✅ DECIDED 2026-09-27: `$10/mo` subscription + `$400` lifetime,
no annual.** Declare **two** products in Partner Center: one auto-renewing monthly
subscription, one non-expiring lifetime IAP. ⛔ **No `.99` prices** (settled). ⛔ **No annual
product** — Microsoft does not pro-rate: *"monthly subscriptions and initial (pre-renewal)
purchases aren't eligible for a prorated refund"*, so an annual sub cancelled in year 1
forfeits the remainder **and the developer cannot refund it**. Net after the 15% Store Fee
(verified, §6(b)(i) — applies to non-Game subscriptions too): **`$8.50/mo` and `$340`**.
Note ADA §6(h): we must fulfil the subscription for the whole period, and **raising the price
disables auto-renew** — so `$10` is effectively locked for the product's life. ⛔ A discounted
subscriber→lifetime upgrade SKU is **not** approved; do not declare one.
- ☐ Individual vs Company Partner Center account (10.8.3 / 10.14 — see
`research-store-certification.md` §11 item 1). **Get this right before enrolling**; a
Store+IAP product needing financial info for primary functionality would require Company,
@@ -139,6 +147,10 @@ relevant check: the app must start promptly, stay responsive, and shut down grac
**In Partner Center (submission):**
- ☐ **The IARC age-rating questionnaire** (10.11.1) — general audience, 12+ territory
- ☐ **A working YouTube demo account** (10.3.1) — the app is useless to a reviewer without one.
Must be a real, maintained account able to sign in and start a stream; a dead or
credentials-lapsed account is a rejection. ⛔ **This was accidentally dropped from this list**
during the Store-IAP edit — it is in `research-store-certification.md` §4 and must be done.
- ☐ **Declare the IAP products and their pricing** in Partner Center (required for Store IAP).
⛔ **No `.99` prices** — creator ruling, and incoherent for a no-dark-patterns brand. Confirm
the **net** after the revenue share, not the list.