Pals Launch Roadmap

Pals Launch Roadmap

Six epics from today's build to an App Store listing · KAN board · not synced yet

Today

Finish M1, then start M2 Accounts

M1 has one real story left, KAN-7 Heal, plus the hidden-bars decision in KAN-18 and four tickets that are already delivered and only need closing. Nothing blocks it.

Critical path

KAN-13 Accounts & the starter Pal

The only new epic with no upstream dependency. Start with KAN-19 Supabase Auth. Everything after it needs a real player row to attach purchases, wallets and push tokens to.

Epics

Progress is stories done over stories in the epic. Expand an epic for its stories, each linked to Jira.

donein progress / in reviewopen

Apple compliance

The App Store Review rules that apply to this game, and the story that owns each one.

GuidelineWhat it means for PalsOwner
3.1.1In-App PurchaseGems and the cash revive go through StoreKit only. No external payment links or prices in the app.KAN-34, KAN-30
3.1.1Loot box oddsEgg pulls are randomized items bought with a purchasable currency, so the odds of each rarity must be visible before a pull.KAN-32
3.1.1Currency and restorePurchased gems never expire; a Restore Purchases control is present.KAN-36
4.8Login ServicesOffering Google or similar means also offering Sign in with Apple or an equivalent. Email-only sign-up avoids the rule.KAN-20
5.1.1(v)Account deletionBecause players create accounts, in-app deletion is mandatory and must remove the player's data.KAN-23
5.1.1Privacy policy and labelsPolicy URL in the listing and in the app. Labels must match what Supabase, notifications and crash tooling actually collect.KAN-48, KAN-49
ManifestPrivacy manifestRequired for apps and SDKs using required-reason APIs. Audit the manifest the Godot template ships and add one per plugin.KAN-50
2.1App CompletenessNo placeholder screens. The Arena and Shop "scoped after v1" tabs are hidden or replaced before submission.KAN-47
4.5.4Push notificationsOptional, purposeful, asked for in context. Death warnings and needs reminders qualify; nothing promotional without consent.KAN-40
1.3Kids CategoryOpting in restricts third-party analytics and ads and changes IAP expectations. An all-ages rating outside the category is the simpler path.KAN-51
5.1.2Data use and trackingCross-app tracking triggers the App Tracking Transparency prompt. Plan for no tracking so the prompt is never needed.KAN-43
ExportEncryption complianceOnly standard HTTPS, so declare the exempt-encryption flag in the plist to skip the yearly questionnaire.KAN-52

Decisions that unblock stories

KAN-18

Hidden stat bars

Do cleanliness, energy and health leave the stats popup, as KAN-5, 6 and 7 say? Answering this closes M1.

KAN-20

Login options

Email only, or Sign in with Apple from day one? Email only is less work and avoids guideline 4.8.

KAN-26 · KAN-29

Death tuning

Grace period after zero health, and what the fragment revive's penalty is.

KAN-51

Kids Category

In or out. It decides which analytics and crash tools are allowed and shapes the age rating.

KAN-47

Launch tabs

Hide Arena and Shop, or ship Shop as a minimal gem store that M4 needs anyway.

Future enhancements

Post-launch by design. Grouped from the feature backlog; each theme becomes its own epic once the care loop has players.

top pickconfirmed direction

Sources: Jira board KAN, docs/feature-ideas.md, docs/3d-transition-plan.md, the schema in supabase/migrations/, and the App Store Review Guidelines. This page lives in the repo at docs/roadmap.html; its data block is regenerated from Jira by tools/roadmap/sync.mjs on an hourly GitHub Actions schedule, so story status follows the board.