Skip to content

App Store Readiness

Eric Slutz edited this page Jun 11, 2026 · 4 revisions

App Store Readiness

A Playa Named Gus has a drafted App Store readiness packet, a bundled privacy manifest, committed signing inputs, and a defined CI ownership split. App Store Connect setup, archive validation, screenshots, TestFlight, and submission are still implementation work (roadmap milestone M8).

Source Packet

Materials live in Documentation/AppStore/:

  • README.md - packet index and status.
  • privacy-policy.md - draft privacy policy text (including tvOS text).
  • privacy-labels.md - draft App Privacy answers.
  • review-compliance-audit.md - App Review self-audit, including downloaded media.
  • signing-capabilities.md - signing and capability gaps.
  • ci-strategy.md - GitHub Actions vs. Xcode Cloud ownership split.
  • app-store-metadata.md - draft product metadata.
  • accessibility.md - accessibility readiness and release validation matrix.
  • diagnostics-reliability.md - Apple-native crash/MetricKit/performance/diagnostics plan.
  • review-support-pages.md - required hosted support, privacy, marketing, and age-suitability pages.
  • demo-server.md - local demo Jellyfin container over rights-cleared sample media.
  • performance-baselines.md - recorded performance baselines and re-measurement steps.
  • screenshots-and-testflight.md - screenshot matrix and beta checklist.

Feature briefs (acceptance artifacts) live one level up in Documentation/: family-safety-brief.md, watchos-brief.md, and visionos-3d-playback-plan.md.

Current Positioning

A Playa Named Gus is a client for user-provided Jellyfin servers. The app itself does not collect user data for the developer, but it connects to user-controlled servers and stores local app data such as server records, tokens, preferences, and downloads. The bundled Resources/PrivacyInfo.xcprivacy declares no tracking and no collected data types, with required-reason API entries for Disk Space (85F4.1) and UserDefaults (CA92.1). The watch target carries the same manifest.

Confirm all privacy claims against final implementation before submission.

Open Work

  • Keep PrivacyInfo.xcprivacy aligned with actual required-reason API and data-use behavior, then complete App Privacy answers in App Store Connect.
  • Configure Xcode Cloud signing, entitlements, bundle IDs, and per-platform capabilities (background audio, tvOS User Management, macOS sandbox, Optic ID string, the CarPlay audio entitlement).
  • Create the App Store Connect app record and finalize metadata.
  • Capture screenshots and previews for required device classes.
  • Sign off the review-guidelines compliance pass.
  • Upload a TestFlight build and run internal/external beta checks.

Review Considerations

Areas to audit before submission:

  • Self-hosted server support and ATS behavior.
  • Offline downloaded media storage and deletion.
  • Background audio and background download behavior.
  • Local Network permission wording and user intent.
  • Family-safety gating and age-suitability presentation.
  • Export compliance for HTTPS and media streaming.
  • No private API usage.
  • Clear support and privacy URLs.

Do not treat this page as legal advice. It is an implementation checklist for maintainers preparing the submission.

Clone this wiki locally