@leejungkiin/awkit 1.7.1 → 1.7.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (245) hide show
  1. package/bin/awk.js +576 -84
  2. package/core/CLAUDE.md +1 -1
  3. package/core/GEMINI.md +148 -167
  4. package/core/GEMINI.md.bak +149 -116
  5. package/core/skill-runtime-manifest.json +3 -0
  6. package/docs/Claude Fable 5.md +3826 -0
  7. package/docs/android_kotlin_system_instruction.md +210 -0
  8. package/docs/brainstorm_ponytail_integration.md +146 -0
  9. package/docs/brainstorm_smart_setup.md +113 -0
  10. package/docs/deep-research-report (1).md +293 -0
  11. package/docs/history/GEMINI.v1.md +135 -0
  12. package/docs/history/brainstorm_antigravity_unified_architecture.v1.md +105 -0
  13. package/docs/history/implementation_plan.v1.md +58 -0
  14. package/package.json +4 -1
  15. package/scripts/artifact-storage.js +130 -0
  16. package/scripts/automation-gate.js +35 -2
  17. package/scripts/claude-plan.js +76 -0
  18. package/scripts/dependency-manager.js +210 -0
  19. package/scripts/exec-rtk.js +11 -5
  20. package/scripts/i18n-helper.js +381 -0
  21. package/scripts/multi-model-pipeline.js +144 -0
  22. package/skill-packs/mobile-ios/pack.json +4 -2
  23. package/skill-packs/reverse-engineering/pack.json +1 -0
  24. package/skills/CATALOG.md +20 -0
  25. package/skills/GEMINI.md +9 -1
  26. package/skills/TRIGGER_INDEX.md +10 -0
  27. package/skills/ai-music/SKILL.md +275 -0
  28. package/skills/android-re-analyzer/SKILL.md +238 -0
  29. package/skills/android-re-analyzer/references/api-extraction-patterns.md +119 -0
  30. package/skills/android-re-analyzer/references/call-flow-analysis.md +176 -0
  31. package/skills/android-re-analyzer/references/fernflower-usage.md +115 -0
  32. package/skills/android-re-analyzer/references/jadx-usage.md +116 -0
  33. package/skills/android-re-analyzer/references/setup-guide.md +221 -0
  34. package/skills/android-re-analyzer/scripts/check-deps.sh +129 -0
  35. package/skills/android-re-analyzer/scripts/decompile.sh +375 -0
  36. package/skills/android-re-analyzer/scripts/find-api-calls.sh +118 -0
  37. package/skills/android-re-analyzer/scripts/install-dep.sh +448 -0
  38. package/skills/animal-island-ui-style/SKILL.md +1450 -0
  39. package/skills/app-store-review-agent/SKILL.md +164 -0
  40. package/skills/app-store-review-agent/references/guidelines/README.md +154 -0
  41. package/skills/app-store-review-agent/references/guidelines/by-app-type/ai_apps.md +37 -0
  42. package/skills/app-store-review-agent/references/guidelines/by-app-type/all_apps.md +50 -0
  43. package/skills/app-store-review-agent/references/guidelines/by-app-type/crypto_finance.md +31 -0
  44. package/skills/app-store-review-agent/references/guidelines/by-app-type/games.md +31 -0
  45. package/skills/app-store-review-agent/references/guidelines/by-app-type/health_fitness.md +31 -0
  46. package/skills/app-store-review-agent/references/guidelines/by-app-type/kids.md +27 -0
  47. package/skills/app-store-review-agent/references/guidelines/by-app-type/macos.md +38 -0
  48. package/skills/app-store-review-agent/references/guidelines/by-app-type/social_ugc.md +32 -0
  49. package/skills/app-store-review-agent/references/guidelines/by-app-type/subscription_iap.md +34 -0
  50. package/skills/app-store-review-agent/references/guidelines/by-app-type/vpn.md +18 -0
  51. package/skills/app-store-review-agent/references/rules/design/minimum_functionality.md +96 -0
  52. package/skills/app-store-review-agent/references/rules/design/sign_in_with_apple.md +54 -0
  53. package/skills/app-store-review-agent/references/rules/entitlements/unused_entitlements.md +83 -0
  54. package/skills/app-store-review-agent/references/rules/metadata/accurate_metadata.md +54 -0
  55. package/skills/app-store-review-agent/references/rules/metadata/apple_trademark.md +99 -0
  56. package/skills/app-store-review-agent/references/rules/metadata/china_storefront.md +72 -0
  57. package/skills/app-store-review-agent/references/rules/metadata/competitor_terms.md +56 -0
  58. package/skills/app-store-review-agent/references/rules/metadata/subscription_metadata.md +81 -0
  59. package/skills/app-store-review-agent/references/rules/privacy/privacy_manifest.md +84 -0
  60. package/skills/app-store-review-agent/references/rules/privacy/unnecessary_data.md +60 -0
  61. package/skills/app-store-review-agent/references/rules/subscription/misleading_pricing.md +63 -0
  62. package/skills/app-store-review-agent/references/rules/subscription/missing_tos_pp.md +54 -0
  63. package/skills/awf-ponytail/SKILL.md +91 -0
  64. package/skills/awf-ponytail-review/SKILL.md +67 -0
  65. package/skills/awf-session-restore/SKILL.md +3 -3
  66. package/skills/brainstorm-agent/SKILL.md +11 -2
  67. package/skills/brainstorm-agent/templates/brief-template.md +8 -0
  68. package/skills/claude-planner/SKILL.md +47 -0
  69. package/skills/code-review/SKILL.md +87 -0
  70. package/skills/expo-game-development/SKILL.md +163 -0
  71. package/skills/flutter/LICENSE.txt +202 -0
  72. package/skills/flutter/SKILL.md +127 -0
  73. package/skills/flutter-project-creater/LICENSE.txt +202 -0
  74. package/skills/flutter-project-creater/SKILL.md +106 -0
  75. package/skills/game-developer/SKILL.md +163 -0
  76. package/skills/game-developer/references/ecs-patterns.md +501 -0
  77. package/skills/game-developer/references/multiplayer-networking.md +475 -0
  78. package/skills/game-developer/references/performance-optimization.md +422 -0
  79. package/skills/game-developer/references/unity-patterns.md +271 -0
  80. package/skills/game-developer/references/unreal-cpp.md +352 -0
  81. package/skills/generate-gui-assets/SKILL.md +305 -0
  82. package/skills/generate-gui-assets/agents/openai.yaml +4 -0
  83. package/skills/generate-gui-assets/references/catalog-schema.md +58 -0
  84. package/skills/generate-gui-assets/references/extraction-techniques.md +21 -0
  85. package/skills/generate-gui-assets/references/prompt-patterns.md +58 -0
  86. package/skills/generate-gui-assets/scripts/__pycache__/clean_chroma_edges.cpython-311.pyc +0 -0
  87. package/skills/generate-gui-assets/scripts/build_gui_contact_sheet.py +51 -0
  88. package/skills/generate-gui-assets/scripts/clean_chroma_edges.py +262 -0
  89. package/skills/generate-gui-assets/scripts/copy_approved_icons.py +64 -0
  90. package/skills/generate-gui-assets/scripts/prepare_gui_asset_run.py +91 -0
  91. package/skills/generate-gui-assets/scripts/suggest_grid_options.py +63 -0
  92. package/skills/generate-gui-assets/scripts/validate_gui_catalog.py +50 -0
  93. package/skills/godot-game-development/SKILL.md +142 -0
  94. package/skills/hatch-pet/LICENSE.txt +201 -0
  95. package/skills/hatch-pet/SKILL.md +420 -0
  96. package/skills/hatch-pet/agents/openai.yaml +4 -0
  97. package/skills/hatch-pet/references/animation-rows.md +29 -0
  98. package/skills/hatch-pet/references/codex-pet-contract.md +35 -0
  99. package/skills/hatch-pet/references/qa-rubric.md +60 -0
  100. package/skills/hatch-pet/scripts/__pycache__/clean_chroma_edges.cpython-311.pyc +0 -0
  101. package/skills/hatch-pet/scripts/clean_chroma_edges.py +262 -0
  102. package/skills/hatch-pet/scripts/compose_atlas.py +150 -0
  103. package/skills/hatch-pet/scripts/derive_running_left_from_running_right.py +143 -0
  104. package/skills/hatch-pet/scripts/extract_strip_frames.py +323 -0
  105. package/skills/hatch-pet/scripts/finalize_pet_run.py +382 -0
  106. package/skills/hatch-pet/scripts/generate_pet_images.py +287 -0
  107. package/skills/hatch-pet/scripts/inspect_frames.py +246 -0
  108. package/skills/hatch-pet/scripts/make_contact_sheet.py +96 -0
  109. package/skills/hatch-pet/scripts/package_custom_pet.py +108 -0
  110. package/skills/hatch-pet/scripts/pet_job_status.py +117 -0
  111. package/skills/hatch-pet/scripts/prepare_pet_run.py +673 -0
  112. package/skills/hatch-pet/scripts/queue_pet_repairs.py +172 -0
  113. package/skills/hatch-pet/scripts/record_imagegen_result.py +250 -0
  114. package/skills/hatch-pet/scripts/render_animation_videos.py +134 -0
  115. package/skills/hatch-pet/scripts/render_animation_videos.sh +5 -0
  116. package/skills/hatch-pet/scripts/validate_atlas.py +139 -0
  117. package/skills/i18n-orchestrator/SKILL.md +37 -0
  118. package/skills/ios-simulator-skill/SKILL.md +390 -0
  119. package/skills/ios-simulator-skill/scripts/accessibility_audit.py +300 -0
  120. package/skills/ios-simulator-skill/scripts/app_launcher.py +326 -0
  121. package/skills/ios-simulator-skill/scripts/app_state_capture.py +400 -0
  122. package/skills/ios-simulator-skill/scripts/appearance.py +385 -0
  123. package/skills/ios-simulator-skill/scripts/build_and_test.py +348 -0
  124. package/skills/ios-simulator-skill/scripts/clipboard.py +103 -0
  125. package/skills/ios-simulator-skill/scripts/common/__init__.py +61 -0
  126. package/skills/ios-simulator-skill/scripts/common/cache_utils.py +289 -0
  127. package/skills/ios-simulator-skill/scripts/common/device_utils.py +462 -0
  128. package/skills/ios-simulator-skill/scripts/common/env_config.py +35 -0
  129. package/skills/ios-simulator-skill/scripts/common/hang_pipeline.py +862 -0
  130. package/skills/ios-simulator-skill/scripts/common/hang_sessions.py +490 -0
  131. package/skills/ios-simulator-skill/scripts/common/idb_utils.py +180 -0
  132. package/skills/ios-simulator-skill/scripts/common/screenshot_utils.py +338 -0
  133. package/skills/ios-simulator-skill/scripts/container.py +668 -0
  134. package/skills/ios-simulator-skill/scripts/gesture.py +394 -0
  135. package/skills/ios-simulator-skill/scripts/hang_watcher.py +1533 -0
  136. package/skills/ios-simulator-skill/scripts/keyboard.py +391 -0
  137. package/skills/ios-simulator-skill/scripts/localization_audit.py +483 -0
  138. package/skills/ios-simulator-skill/scripts/location.py +467 -0
  139. package/skills/ios-simulator-skill/scripts/log_monitor.py +493 -0
  140. package/skills/ios-simulator-skill/scripts/model_inspector.py +645 -0
  141. package/skills/ios-simulator-skill/scripts/navigator.py +461 -0
  142. package/skills/ios-simulator-skill/scripts/privacy_manager.py +310 -0
  143. package/skills/ios-simulator-skill/scripts/push_notification.py +240 -0
  144. package/skills/ios-simulator-skill/scripts/screen_mapper.py +296 -0
  145. package/skills/ios-simulator-skill/scripts/sim_health_check.sh +245 -0
  146. package/skills/ios-simulator-skill/scripts/sim_list.py +299 -0
  147. package/skills/ios-simulator-skill/scripts/simctl_boot.py +312 -0
  148. package/skills/ios-simulator-skill/scripts/simctl_create.py +316 -0
  149. package/skills/ios-simulator-skill/scripts/simctl_delete.py +357 -0
  150. package/skills/ios-simulator-skill/scripts/simctl_erase.py +351 -0
  151. package/skills/ios-simulator-skill/scripts/simctl_shutdown.py +290 -0
  152. package/skills/ios-simulator-skill/scripts/simulator_selector.py +375 -0
  153. package/skills/ios-simulator-skill/scripts/status_bar.py +250 -0
  154. package/skills/ios-simulator-skill/scripts/test_recorder.py +323 -0
  155. package/skills/ios-simulator-skill/scripts/visual_diff.py +235 -0
  156. package/skills/ios-simulator-skill/scripts/xcode/__init__.py +13 -0
  157. package/skills/ios-simulator-skill/scripts/xcode/builder.py +397 -0
  158. package/skills/ios-simulator-skill/scripts/xcode/cache.py +204 -0
  159. package/skills/ios-simulator-skill/scripts/xcode/config.py +178 -0
  160. package/skills/ios-simulator-skill/scripts/xcode/reporter.py +343 -0
  161. package/skills/ios-simulator-skill/scripts/xcode/xcresult.py +451 -0
  162. package/skills/ios-visual-qa-strategist/SKILL.md +111 -0
  163. package/skills/ios-visual-qa-strategist/agents/openai.yaml +4 -0
  164. package/skills/ios-visual-qa-strategist/references/ios-tool-selection.md +61 -0
  165. package/skills/ios-visual-qa-strategist/references/minimal-capture-policy.md +56 -0
  166. package/skills/ios-visual-qa-strategist/references/visual-reasoning-heuristics.md +53 -0
  167. package/skills/orchestrator/SKILL.md +0 -20
  168. package/skills/persistent-storage/SKILL.md +55 -0
  169. package/skills/short-maker/SKILL.md +23 -0
  170. package/skills/short-maker/scripts/effects.js +56 -0
  171. package/skills/short-maker/scripts/shortmaker-bridge.js +332 -0
  172. package/skills/short-maker/scripts/videomix.js +601 -0
  173. package/skills/short-maker/templates/hyperframes/cinematic-character.template.html +172 -0
  174. package/skills/short-maker/templates/hyperframes/index.template.html +194 -0
  175. package/skills/smali-to-kotlin/SKILL.md +128 -0
  176. package/skills/smali-to-kotlin/examples/getting-started/tech-stack.md +58 -0
  177. package/skills/smali-to-kotlin/examples/pipeline/data-ui-parity.md +118 -0
  178. package/skills/smali-to-kotlin/examples/pipeline/scanner-and-bootstrap.md +106 -0
  179. package/skills/smali-to-kotlin/library-patterns.md +189 -0
  180. package/skills/smali-to-kotlin/phase-0-discovery.md +128 -0
  181. package/skills/smali-to-kotlin/phase-1-architecture.md +166 -0
  182. package/skills/smali-to-kotlin/phase-2-blueprint-ui.md +347 -0
  183. package/skills/smali-to-kotlin/phase-2-blueprint.md +228 -0
  184. package/skills/smali-to-kotlin/phase-3-build.md +248 -0
  185. package/skills/smali-to-kotlin/phase-3-logic-build.md +268 -0
  186. package/skills/smali-to-kotlin/smali-reading-guide.md +310 -0
  187. package/skills/smali-to-kotlin/templates/app-map.md +101 -0
  188. package/skills/smali-to-kotlin/templates/architecture.md +142 -0
  189. package/skills/smali-to-kotlin/templates/blueprint.md +145 -0
  190. package/skills/spec-gate/SKILL.md +6 -2
  191. package/skills/symphony-enforcer/SKILL.md +8 -0
  192. package/skills/symphony-enforcer/examples/mindful-stop.md +2 -0
  193. package/skills/symphony-enforcer/examples/three-phase.md +16 -0
  194. package/skills/symphony-enforcer/examples/trigger-points.md +7 -1
  195. package/skills/unity-game-development/SKILL.md +231 -0
  196. package/skills/video-edit/SKILL.md +36 -0
  197. package/skills/video-edit/scripts/video_edit.py +324 -0
  198. package/templates/project-identity/android.json +2 -2
  199. package/templates/project-identity/backend-nestjs.json +2 -2
  200. package/templates/project-identity/expo.json +2 -2
  201. package/templates/project-identity/ios.json +2 -2
  202. package/templates/project-identity/web-nextjs.json +2 -2
  203. package/templates/setup-mapping.json +48 -0
  204. package/templates/specs/design-template.md +161 -71
  205. package/templates/specs/requirements-template.md +65 -133
  206. package/templates/specs/task-spec-template.xml +3 -0
  207. package/workflows/_uncategorized/critic.md +40 -0
  208. package/workflows/_uncategorized/git-rebase-flow.md +81 -0
  209. package/workflows/_uncategorized/image-gen.md +118 -0
  210. package/workflows/_uncategorized/multi-model-pipeline.md +60 -0
  211. package/workflows/_uncategorized/pixel-gen.md +86 -0
  212. package/workflows/_uncategorized/pixel-setup.md +90 -0
  213. package/workflows/_uncategorized/ponytail-review.md +59 -0
  214. package/workflows/_uncategorized/reverse-android-build.md +222 -0
  215. package/workflows/_uncategorized/reverse-android-design.md +139 -0
  216. package/workflows/_uncategorized/reverse-android-discover.md +150 -0
  217. package/workflows/_uncategorized/reverse-android-scan.md +158 -0
  218. package/workflows/_uncategorized/reverse-android.md +143 -0
  219. package/workflows/_uncategorized/reverse-ios-build.md +240 -0
  220. package/workflows/_uncategorized/reverse-ios-design.md +112 -0
  221. package/workflows/_uncategorized/reverse-ios-discover.md +120 -0
  222. package/workflows/_uncategorized/reverse-ios-scan.md +155 -0
  223. package/workflows/_uncategorized/reverse-ios.md +152 -0
  224. package/workflows/_uncategorized/safety-router.md +34 -0
  225. package/workflows/_uncategorized/teach.md +89 -0
  226. package/workflows/_uncategorized/verify-ui.md +53 -0
  227. package/workflows/_uncategorized/visualize-screenshots.md +34 -0
  228. package/workflows/ads/ads-analyst.md +201 -0
  229. package/workflows/ads/ads-audit.md +106 -0
  230. package/workflows/ads/ads-optimize.md +97 -0
  231. package/workflows/ads/ads-targeting.md +241 -0
  232. package/workflows/ads/adsExpert.md +160 -0
  233. package/workflows/ads/smali-ads-config.md +400 -0
  234. package/workflows/ads/smali-ads-flow.md +331 -0
  235. package/workflows/ads/smali-ads-interstitial.md +377 -0
  236. package/workflows/ads/smali-ads-native.md +382 -0
  237. package/workflows/context/teach.md +89 -0
  238. package/workflows/gitnexus.md +8 -8
  239. package/workflows/lifecycle/brainstorm.md +43 -0
  240. package/workflows/lifecycle/code.md +5 -0
  241. package/workflows/lifecycle/init.md +23 -5
  242. package/workflows/lifecycle/multi-model-pipeline.md +60 -0
  243. package/workflows/quality/ponytail-review.md +59 -0
  244. package/workflows/roles/critic.md +40 -0
  245. package/workflows/roles/safety-router.md +34 -0
@@ -0,0 +1,164 @@
1
+ ---
2
+ name: app-store-review-agent
3
+ description: >
4
+ AI App Store Reviewer agent. Simulates an Apple App Store review of your iOS/macOS
5
+ app by inspecting source code, project files, entitlements, privacy manifests, and
6
+ metadata for guideline violations. Trigger with "review my app". Catches rejections
7
+ before Apple does.
8
+ metadata:
9
+ author: blitz
10
+ version: "2.0"
11
+ ---
12
+
13
+ # Reviewer
14
+
15
+ You are an Apple App Store Reviewer. Your job is to review iOS and macOS apps for compliance with the App Store Review Guidelines before the developer submits to Apple.
16
+
17
+ You are thorough, fair, and specific — just like a real reviewer. When you find a violation, you cite the exact guideline, point to the offending file and line, and explain what needs to change. When everything checks out, you say so.
18
+
19
+ The developer has asked you to review their app. Do your job.
20
+
21
+ ## How You Work
22
+
23
+ You have access to the full source code and project files. You cannot see App Store Connect, so for metadata that only lives there (app name, subtitle, description, screenshots), you flag what the developer needs to verify manually.
24
+
25
+ No external tools required. You inspect everything through source code, project files, and build configuration.
26
+
27
+ ## Review Process
28
+
29
+ ### 1. Identify the App
30
+
31
+ Scan the project to determine:
32
+ - **Platform**: iOS, macOS, or both
33
+ - **App type**: What does this app do? (social, subscription, health, AI, game, kids, crypto, VPN, etc.)
34
+ - **Key features**: Subscriptions, Sign in with Apple, HealthKit, entitlements, generative AI, etc.
35
+
36
+ ### 2. Load the Relevant Guidelines
37
+
38
+ Based on what you found, load the applicable checklists from `references/guidelines/by-app-type/`. Always start with `all_apps.md`, then add type-specific ones:
39
+
40
+ | App Type | Checklist |
41
+ |----------|-----------|
42
+ | Every app | `references/guidelines/by-app-type/all_apps.md` |
43
+ | Subscriptions / IAP | `references/guidelines/by-app-type/subscription_iap.md` |
44
+ | Social / UGC | `references/guidelines/by-app-type/social_ugc.md` |
45
+ | Kids Category | `references/guidelines/by-app-type/kids.md` |
46
+ | Health & Fitness | `references/guidelines/by-app-type/health_fitness.md` |
47
+ | Games | `references/guidelines/by-app-type/games.md` |
48
+ | macOS | `references/guidelines/by-app-type/macos.md` |
49
+ | AI / Generative AI | `references/guidelines/by-app-type/ai_apps.md` |
50
+ | Crypto & Finance | `references/guidelines/by-app-type/crypto_finance.md` |
51
+ | VPN | `references/guidelines/by-app-type/vpn.md` |
52
+
53
+ Full guideline index: `references/guidelines/README.md`
54
+
55
+ ### 3. Inspect the Project
56
+
57
+ Go through the app like a real reviewer would:
58
+
59
+ - **Info.plist** — App name, bundle ID, version, required device capabilities
60
+ - **Entitlements** (`*.entitlements`) — Every declared capability must have matching code
61
+ - **Privacy manifest** (`PrivacyInfo.xcprivacy`) — Must exist if Required Reason APIs are used
62
+ - **Assets** (`Assets.xcassets`) — App icon for trademark violations
63
+ - **Source code** — Subscription flows, sign-in flows, data collection, WebView usage
64
+ - **Localized strings** — Competitor terms, Apple trademarks, banned AI terms
65
+ - **Local metadata** (fastlane `metadata/`, etc.) — If present, scan it
66
+
67
+ ### 4. Run Every Applicable Rule
68
+
69
+ For each rule in `references/rules/`, follow the "How to Detect" instructions and inspect the project. These are the common rejection patterns you are trained to catch:
70
+
71
+ | Category | Rule Files |
72
+ |----------|------------|
73
+ | Metadata | `references/rules/metadata/*.md` |
74
+ | Subscription | `references/rules/subscription/*.md` |
75
+ | Privacy | `references/rules/privacy/*.md` |
76
+ | Design | `references/rules/design/*.md` |
77
+ | Entitlements | `references/rules/entitlements/*.md` |
78
+
79
+ ### 5. Deliver Your Review
80
+
81
+ Write your review as Apple would. Use this format:
82
+
83
+ ```
84
+ ## App Review
85
+
86
+ **App**: [name from Info.plist or project]
87
+ **Platform**: iOS / macOS / both
88
+ **Version**: [from Info.plist]
89
+ **Review Date**: [today]
90
+
91
+ ---
92
+
93
+ ### Decision: REJECTED / APPROVED / APPROVED WITH WARNINGS
94
+
95
+ ---
96
+
97
+ ### Issues Found
98
+
99
+ #### [Guideline X.X.X — Title]
100
+
101
+ > [Write the rejection notice exactly as Apple would phrase it, in their voice]
102
+
103
+ **Where**: `path/to/file.swift:42`
104
+ **Fix**: [specific, actionable fix]
105
+
106
+ ---
107
+
108
+ #### [Guideline X.X.X — Title]
109
+
110
+ > [another issue...]
111
+
112
+ ---
113
+
114
+ ### Needs Manual Verification
115
+
116
+ These checks require access to App Store Connect, which I cannot inspect:
117
+
118
+ - [ ] **[Guideline X.X.X]** — [what to check in ASC]
119
+
120
+ ---
121
+
122
+ ### Passed
123
+
124
+ - [Category] — All checks passed
125
+ ```
126
+
127
+ If the app passes everything, say so clearly. Don't invent problems.
128
+
129
+ ### 6. Offer to Fix
130
+
131
+ After delivering the review, ask the developer if they want you to fix the issues you found. For auto-fixable issues:
132
+
133
+ - **Competitor terms in strings** — Remove or replace with generic alternatives
134
+ - **Missing PrivacyInfo.xcprivacy** — Generate one with the correct Required Reason API declarations
135
+ - **Unused entitlements** — Remove the keys from the entitlements file
136
+ - **Missing ToS/PP links** — Add template URLs to subscription views
137
+
138
+ After fixing, re-run the affected checks to confirm the fix works. Only mark resolved once the re-check passes.
139
+
140
+ For issues that require manual work (screenshots, App Store Connect metadata, UI redesign), give clear instructions but don't attempt a fix.
141
+
142
+ ## Things Real Reviewers Catch That You Should Too
143
+
144
+ - **China storefront** — Banned AI terms (ChatGPT, Gemini, etc.) are checked across ALL locales, not just `zh-Hans`. Apple checks every locale visible in the China storefront.
145
+ - **Privacy manifests** — `PrivacyInfo.xcprivacy` is required even if your app doesn't call Required Reason APIs directly. Third-party SDKs (Firebase, Amplitude, etc.) that use `UserDefaults` or `NSFileManager` trigger this requirement transitively.
146
+ - **Subscription metadata** — Apple requires ToS/PP links in BOTH the App Store description AND the in-app subscription purchase screen. Missing either one is a separate rejection.
147
+ - **macOS entitlements** — Apple will ask you to justify every temporary exception entitlement (`com.apple.security.temporary-exception.*`). Remove entitlements you don't actively use.
148
+ - **Metadata in ASC only** — Some metadata (app name, subtitle, description, screenshots) lives only in App Store Connect. Flag these as "needs manual verification" — don't skip them silently.
149
+
150
+ ## Adding New Rules
151
+
152
+ Create a `.md` file in the appropriate `references/rules/` subdirectory:
153
+
154
+ ```markdown
155
+ # Rule: [Short Title]
156
+ - **Guideline**: [Apple Guideline Number]
157
+ - **Severity**: REJECTION | WARNING
158
+ - **Category**: metadata | subscription | privacy | design | entitlements
159
+
160
+ ## What to Check
161
+ ## How to Detect
162
+ ## Resolution
163
+ ## Example Rejection
164
+ ```
@@ -0,0 +1,154 @@
1
+ # Apple App Store Review Guidelines — Complete Reference
2
+
3
+ > Source: [App Store Review Guidelines](https://developer.apple.com/app-store/review/guidelines/)
4
+
5
+ This is a structured index of every guideline section, organized for quick lookup. Use the [app-type checklists](./by-app-type/) to find which guidelines apply to your specific type of app.
6
+
7
+ ---
8
+
9
+ ## Section 1: Safety
10
+
11
+ | Guideline | Title | Summary |
12
+ |-----------|-------|---------|
13
+ | 1.1 | Objectionable Content | No offensive, discriminatory, violent, sexual, or misleading content |
14
+ | 1.1.1 | Defamatory Content | No discrimination by religion, race, gender, etc. |
15
+ | 1.1.2 | Violence | No realistic portrayals of killing/torture; game enemies can't target real groups |
16
+ | 1.1.3 | Weapons | No encouragement of illegal weapon use; no facilitating firearm purchases |
17
+ | 1.1.4 | Sexual Content | No pornographic material; no hookup/prostitution facilitation |
18
+ | 1.1.5 | Religious Content | No inflammatory religious commentary |
19
+ | 1.1.6 | False Information | No fake features, fake location trackers, prank calls |
20
+ | 1.1.7 | Harmful Concepts | No profiting from recent tragedies |
21
+ | 1.2 | User-Generated Content | Must have: content filter, report mechanism, block users, contact info |
22
+ | 1.2.1 | Creator Content | Creator apps must moderate content and restrict by age |
23
+ | 1.3 | Kids Category | No external links, no third-party analytics/ads, strict privacy rules |
24
+ | 1.4 | Physical Harm | No apps risking physical harm |
25
+ | 1.4.1 | Medical Apps | Must disclose methodology; can't claim sensor-only diagnostics |
26
+ | 1.4.2 | Drug Dosage | Must come from approved medical entities |
27
+ | 1.4.3 | Substance Use | No encouraging tobacco, vape, drugs, excessive alcohol |
28
+ | 1.4.4 | DUI Checkpoints | Only law-enforcement-published checkpoints |
29
+ | 1.4.5 | Risky Activities | No encouraging dangerous bets/challenges |
30
+ | 1.5 | Developer Information | Must include easy contact info; Wallet passes need valid issuer info |
31
+ | 1.6 | Data Security | Appropriate security measures for user data |
32
+ | 1.7 | Reporting Criminal Activity | Must involve local law enforcement |
33
+
34
+ ---
35
+
36
+ ## Section 2: Performance
37
+
38
+ | Guideline | Title | Summary |
39
+ |-----------|-------|---------|
40
+ | 2.1 | App Completeness | App must be final, functional, no placeholder content, demo accounts required |
41
+ | 2.2 | Beta Testing | No demos/betas on App Store — use TestFlight |
42
+ | 2.3 | Accurate Metadata | All metadata must accurately reflect the app |
43
+ | 2.3.1 | Hidden Features | No undocumented features; all changes in review notes |
44
+ | 2.3.2 | IAP Disclosure | Description/screenshots must indicate IAP requirements |
45
+ | 2.3.3 | Screenshots | Must show app in use, not just splash/login screens |
46
+ | 2.3.4 | Previews | Video previews: screen captures only, no device frames |
47
+ | 2.3.5 | Category | Select the most appropriate category |
48
+ | 2.3.6 | Age Rating | Honest age rating answers |
49
+ | 2.3.7 | App Name/Keywords | Max 30 chars; no trademark stuffing, no pricing in metadata |
50
+ | 2.3.8 | Metadata Audience | Metadata must be 4+ appropriate; "For Kids" reserved for Kids Category |
51
+ | 2.3.9 | Rights | Secure rights for all icon/screenshot materials |
52
+ | 2.3.10 | Platform Focus | No other platform names/icons in metadata (no Android, Google Play) |
53
+ | 2.3.11 | Pre-Orders | Must be complete and match advertised features |
54
+ | 2.3.12 | What's New | Significant changes must be listed; generic OK for bug fixes |
55
+ | 2.3.13 | In-App Events | Event metadata must be accurate and timely |
56
+ | 2.4 | Hardware Compatibility | — |
57
+ | 2.4.1 | iPad Support | iPhone apps should run on iPad when possible |
58
+ | 2.4.2 | Power Efficiency | No battery drain, heat, crypto mining |
59
+ | 2.4.3 | Apple TV | Must work with Siri remote; explain if game controller needed |
60
+ | 2.4.4 | System Settings | No requiring device restart or disabling security features |
61
+ | 2.4.5 | Mac App Store | Must be sandboxed; no auto-launch; no third-party installers; no license screens |
62
+ | 2.5 | Software Requirements | — |
63
+ | 2.5.1 | Public APIs | Only public APIs; current OS; frameworks for intended purposes |
64
+ | 2.5.2 | Self-Contained | No reading/writing outside container; no downloading executable code |
65
+ | 2.5.3 | Malware | No viruses or harmful code |
66
+ | 2.5.4 | Background Services | Only for intended purposes (VoIP, audio, location, etc.) |
67
+ | 2.5.5 | IPv6 | Must be fully functional on IPv6-only networks |
68
+ | 2.5.6 | WebKit | Web browsing must use WebKit |
69
+ | 2.5.8 | Home Screen | No alternate desktop/home screen environments |
70
+ | 2.5.9 | System Controls | No altering standard switches or native UI elements |
71
+ | 2.5.11 | SiriKit/Shortcuts | Only register for relevant intents; no generic aliases |
72
+ | 2.5.12 | CallKit/SMS | Only block confirmed spam; explain blocking criteria |
73
+ | 2.5.13 | Face Recognition | Must use LocalAuthentication; alternate auth for under-13 |
74
+ | 2.5.14 | Recording Consent | Explicit consent required for recording user activity |
75
+ | 2.5.15 | File Access | Must include Files app and iCloud documents |
76
+ | 2.5.16 | Extensions | Widgets/extensions must relate to app functionality |
77
+ | 2.5.17 | Matter | Must use Apple's Matter support framework |
78
+ | 2.5.18 | Advertising | Ads only in main binary; no ads in extensions/widgets/keyboards |
79
+
80
+ ---
81
+
82
+ ## Section 3: Business
83
+
84
+ | Guideline | Title | Summary |
85
+ |-----------|-------|---------|
86
+ | 3.1 | Payments | — |
87
+ | 3.1.1 | In-App Purchase | Must use IAP for digital content/features; loot box odds required |
88
+ | 3.1.1(a) | External Purchase Links | Entitlement required for external purchase links (region-specific) |
89
+ | 3.1.2 | Subscriptions | Auto-renewable subscription rules |
90
+ | 3.1.2(a) | Permissible Uses | Must provide ongoing value; 7-day minimum; cross-device |
91
+ | 3.1.2(b) | Upgrades/Downgrades | Seamless experience; no accidental duplicate subscriptions |
92
+ | 3.1.2(c) | Subscription Info | Clear description of what user gets; ToS/PP links required |
93
+ | 3.1.3 | Other Purchase Methods | Reader apps, multiplatform, enterprise, person-to-person |
94
+ | 3.1.3(a) | Reader Apps | Can access previously purchased content |
95
+ | 3.1.3(b) | Multiplatform | Can access cross-platform content if IAP also available |
96
+ | 3.1.3(c) | Enterprise | B2B apps may allow pre-purchased content access |
97
+ | 3.1.3(d) | Person-to-Person | Real-time 1:1 services can use external payment |
98
+ | 3.1.3(e) | Physical Goods | Must use external payment (Apple Pay, credit card) |
99
+ | 3.1.3(f) | Free Companions | Free web-tool companions don't need IAP |
100
+ | 3.1.4 | Hardware Content | Hardware-dependent features can bypass IAP |
101
+ | 3.1.5 | Cryptocurrencies | Wallets (org only), no on-device mining, licensed exchanges |
102
+ | 3.2 | Other Business Issues | — |
103
+ | 3.2.1 | Acceptable | Gifts must be optional; no forcing ratings/reviews |
104
+ | 3.2.2 | Unacceptable | No binary options trading; loan APR ≤36%; no manipulating visibility |
105
+
106
+ ---
107
+
108
+ ## Section 4: Design
109
+
110
+ | Guideline | Title | Summary |
111
+ |-----------|-------|---------|
112
+ | 4.1 | Copycats | No cloning other apps; no using others' icons/brands |
113
+ | 4.2 | Minimum Functionality | Must be more than a repackaged website |
114
+ | 4.2.1 | ARKit | Must provide rich integrated AR experiences |
115
+ | 4.2.2 | Marketing Apps | Not primarily marketing materials or link collections |
116
+ | 4.2.3 | Self-Contained | Must work without installing another app |
117
+ | 4.2.6 | Template Apps | Commercialized template apps rejected unless by content provider |
118
+ | 4.2.7 | Remote Desktop | Must connect to user-owned device on local network |
119
+ | 4.3 | Spam | No duplicates, no spamming the store |
120
+ | 4.4 | Extensions | Keyboard and Safari extension rules |
121
+ | 4.5 | Apple Sites/Services | No scraping Apple sites; Apple Music rules |
122
+ | 4.5.4 | Push Notifications | Not required to function; no spam; opt-in for marketing |
123
+ | 4.5.6 | Apple Emoji | Unicode emoji OK; no embedding on other platforms |
124
+ | 4.7 | Third-Party Software | HTML5-based apps require explicit consent for data sharing |
125
+ | 4.8 | Login Services | If social login offered, must also offer SIWA-equivalent option |
126
+ | 4.9 | Apple Pay | Disclose recurring payment terms |
127
+ | 4.10 | Monetizing Built-In | Can't charge for OS capabilities (Push, camera, iCloud, etc.) |
128
+
129
+ ---
130
+
131
+ ## Section 5: Legal
132
+
133
+ | Guideline | Title | Summary |
134
+ |-----------|-------|---------|
135
+ | 5.1 | Privacy | Full privacy compliance required |
136
+ | 5.1.1 | Data Collection | Privacy policy required; consent required; data minimization |
137
+ | 5.1.1(v) | Account/Sign-In | Account deletion required if creation offered; no unnecessary login |
138
+ | 5.1.1(ix) | Regulated Fields | Banking, healthcare, gambling apps must be from legal entities |
139
+ | 5.1.2 | Data Use & Sharing | No selling user data; ATT required for tracking |
140
+ | 5.1.3 | Health & Fitness | HealthKit data can't be used for ads; no false data writing |
141
+ | 5.1.4 | Kids | COPPA/GDPR compliance; no third-party analytics in Kids apps |
142
+ | 5.1.5 | Location Services | Only when directly relevant; consent required |
143
+ | 5.2 | Intellectual Property | — |
144
+ | 5.2.1 | Generally | Don't use others' protected material |
145
+ | 5.2.2 | Third-Party Sites | Don't use third-party content without permission |
146
+ | 5.2.3 | Audio/Video | No unauthorized AV downloading |
147
+ | 5.2.5 | Apple Trademarks | No Apple product images in icons; no confusing Apple terms |
148
+ | 5.3 | Gaming & Gambling | Licensed gambling only; lottery apps from lottery entities only |
149
+ | 5.4 | VPN Apps | Must use NEVPNManager; no data collection; from org accounts only |
150
+ | 5.5 | Mobile Device Management | MDM from enterprises/education only; strict data use limits |
151
+ | 5.6 | Developer Code of Conduct | Respectful responses; no review manipulation; verifiable identity |
152
+ | 5.6.1 | App Store Reviews | Respect users; use API for review prompts |
153
+ | 5.6.3 | Discovery Fraud | No chart/search/review manipulation |
154
+ | 5.6.4 | App Quality | Must maintain quality; excessive complaints may cause removal |
@@ -0,0 +1,37 @@
1
+ # Checklist: AI-Powered / Generative AI Apps
2
+
3
+ Guidelines specifically applying to apps that use AI services (ChatGPT, Gemini, Claude, etc.), generative AI, or deep synthesis technology.
4
+
5
+ ## Critical (Will Reject)
6
+
7
+ - [ ] **5 (China DST)** — If distributing in China: remove all references to OpenAI, ChatGPT, GPT, Gemini, Claude, Anthropic, Midjourney, DALL-E from metadata
8
+ - [ ] **5 (China DST)** — If distributing in China: suppress AI functionality or obtain MIIT license
9
+ - [ ] **1.1.6** — No false information or misleading AI capabilities (e.g., "AI doctor")
10
+ - [ ] **1.4.1** — AI health advice: must include medical disclaimers; can't substitute for professional diagnosis
11
+ - [ ] **2.3.1** — All AI features documented in review notes; no hidden AI capabilities
12
+
13
+ ## Important (Common Rejections)
14
+
15
+ - [ ] **5.2.5** — Don't use "GPT", "ChatGPT", "OpenAI", "Gemini" as part of app name unless you are the brand owner
16
+ - [ ] **2.3.7** — Don't keyword-stuff with AI brand names (ChatGPT, GPT-4, Gemini, etc.)
17
+ - [ ] **1.2** — If AI generates user-facing content: implement content moderation/filtering
18
+ - [ ] **5.1.1** — Disclose AI data processing in privacy policy
19
+ - [ ] **2.5.14** — Explicit consent required for AI processing of user recordings/inputs
20
+ - [ ] **5.1.1(iii)** — Data minimization: don't send more data to AI than necessary
21
+ - [ ] **3.1.1** — AI features/credits unlocked via IAP (not external payment for digital content)
22
+
23
+ ## China Storefront Specific
24
+
25
+ Banned AI terms in metadata for China (all locales, not just zh-Hans):
26
+ - `ChatGPT`, `GPT-4`, `GPT-4o`, `GPT`
27
+ - `OpenAI`
28
+ - `Gemini`, `Bard` (Google)
29
+ - `Claude`, `Anthropic`
30
+ - `Midjourney`, `DALL-E`, `DALL·E`
31
+ - `Copilot` (in AI context)
32
+ - `Stable Diffusion` (cloud API context)
33
+
34
+ ### Options
35
+ 1. **Remove references** → Use "AI-powered" / "smart assistant" generically
36
+ 2. **Exclude China** → Deselect China mainland in App Store Connect
37
+ 3. **Obtain compliance** → Get MIIT license for DST services
@@ -0,0 +1,50 @@
1
+ # Checklist: All Apps (Universal Guidelines)
2
+
3
+ Guidelines that apply to **every** app regardless of category. Check these before every submission.
4
+
5
+ ## Pre-Submission Essentials
6
+
7
+ - [ ] **2.1** — App is final, complete, tested for crashes and bugs
8
+ - [ ] **2.1** — All metadata is complete and accurate (no placeholder text, empty URLs)
9
+ - [ ] **2.1** — Demo account provided (or demo mode with prior Apple approval)
10
+ - [ ] **2.1** — Backend services are live and accessible during review
11
+ - [ ] **2.1(b)** — All configured IAP items are findable and functional (or explained in review notes)
12
+ - [ ] **2.3** — Review notes describe all non-obvious features
13
+
14
+ ## Metadata
15
+
16
+ - [ ] **2.3.7** — App name ≤ 30 characters; unique; no trademark stuffing
17
+ - [ ] **2.3.7** — No pricing info, other app names, or irrelevant phrases in metadata
18
+ - [ ] **2.3.10** — No competitor platform names/icons (Android, Google Play, etc.)
19
+ - [ ] **2.3.3** — Screenshots show app in use (not just title art, login, or splash)
20
+ - [ ] **2.3.4** — App preview videos: screen captures only (no device frames)
21
+ - [ ] **2.3.8** — Metadata adheres to 4+ age rating (icons, screenshots, previews)
22
+ - [ ] **2.3.9** — Rights secured for all materials; fictional account data in screenshots
23
+ - [ ] **2.3.12** — What's New text describes significant changes
24
+ - [ ] **5.2.5** — No Apple product images in app icon; no confusing Apple trademarks
25
+
26
+ ## Privacy & Data
27
+
28
+ - [ ] **5.1.1(i)** — Privacy policy linked in App Store Connect AND accessible in-app
29
+ - [ ] **5.1.1(ii)** — User consent secured for all data collection
30
+ - [ ] **5.1.1(iii)** — Only request data relevant to core functionality
31
+ - [ ] **5.1.1(v)** — If account creation exists, account deletion must be offered
32
+ - [ ] **5.1.2** — ATT framework required for cross-app tracking
33
+ - [ ] **Privacy Manifest** — `PrivacyInfo.xcprivacy` includes all Required Reason APIs
34
+
35
+ ## Design & UX
36
+
37
+ - [ ] **4.1** — Not a copycat of another app
38
+ - [ ] **4.2** — Meaningful functionality beyond a repackaged website
39
+ - [ ] **4.8** — If social logins offered, must also offer Sign in with Apple (or equivalent)
40
+ - [ ] **4.0** — Sign in with Apple: don't re-ask name/email already provided by SIWA
41
+ - [ ] **2.5.1** — Only public APIs; current OS; frameworks for intended purposes
42
+ - [ ] **2.5.5** — Fully functional on IPv6-only networks
43
+ - [ ] **2.5.14** — Explicit consent for recording user activity
44
+
45
+ ## Business
46
+
47
+ - [ ] **3.1.1** — Digital content unlocks use IAP
48
+ - [ ] **3.2.1(x)** — Not forcing users to rate/review to access features
49
+ - [ ] **1.5** — Support URL with easy contact method
50
+ - [ ] **5.6.2** — Developer identity information is accurate and verifiable
@@ -0,0 +1,31 @@
1
+ # Checklist: Crypto, Finance & Trading Apps
2
+
3
+ Guidelines specifically applying to cryptocurrency wallets, exchanges, trading platforms, banking, and financial service apps.
4
+
5
+ ## Critical (Will Reject)
6
+
7
+ - [ ] **3.1.5(i)** — Crypto wallets: developer must be enrolled as an organization (not individual)
8
+ - [ ] **3.1.5(ii)** — No on-device cryptocurrency mining (cloud-based mining OK)
9
+ - [ ] **3.1.5(iii)** — Crypto exchanges: only in jurisdictions with appropriate licensing
10
+ - [ ] **3.1.5(iv)** — ICOs, futures, crypto-securities trading: from established banks/financial institutions only
11
+ - [ ] **3.1.5(v)** — No offering crypto for completing tasks (downloading apps, social posting, etc.)
12
+ - [ ] **3.2.2(viii)** — No binary options trading apps
13
+ - [ ] **3.2.2(viii)** — CFD/FOREX apps: properly licensed in all service jurisdictions
14
+ - [ ] **3.2.2(ix)** — Loan apps: APR ≤ 36%; repayment > 60 days; clearly disclose all terms
15
+ - [ ] **5.1.1(ix)** — Banking, financial services, crypto exchanges: submit as legal entity, not individual
16
+
17
+ ## Important (Common Rejections)
18
+
19
+ - [ ] **5.1.1(i)** — Privacy policy clearly describes financial data collection and handling
20
+ - [ ] **3.1.1** — Digital content within app must use IAP; crypto can't be used to unlock features
21
+ - [ ] **3.1.1** — NFT ownership must not unlock features or functionality
22
+ - [ ] **1.1.6** — No false financial information or misleading investment claims
23
+ - [ ] **2.3.1** — All financial functionality documented in review notes
24
+ - [ ] **5.1.1(v)** — Account deletion must be offered if account creation exists
25
+ - [ ] **1.6** — Appropriate security measures for financial data
26
+
27
+ ## NFT-Specific
28
+
29
+ - [ ] **3.1.1** — NFTs sold/minted via IAP
30
+ - [ ] **3.1.1** — NFT ownership cannot unlock app features or functionality
31
+ - [ ] **3.1.1** — Browsing others' NFTs: no external purchase links (except US storefront)
@@ -0,0 +1,31 @@
1
+ # Checklist: Games
2
+
3
+ Guidelines specifically applying to games, including casual, hardcore, streaming, and gambling apps.
4
+
5
+ ## Critical (Will Reject)
6
+
7
+ - [ ] **3.1.1** — All in-game currency, levels, and premium content purchased via IAP
8
+ - [ ] **3.1.1** — Loot boxes / gacha mechanics: odds must be disclosed before purchase
9
+ - [ ] **3.1.1** — In-game currencies purchased via IAP do not expire
10
+ - [ ] **3.1.1** — Restore Purchases mechanism for restorable items
11
+ - [ ] **1.1.2** — Game enemies cannot solely target a specific race, culture, real government, or real corporation
12
+ - [ ] **5.3** — Gambling/betting: licensed in the jurisdictions where offered
13
+ - [ ] **5.3** — Lottery apps: only from lottery entities or their authorized partners
14
+
15
+ ## Important (Common Rejections)
16
+
17
+ - [ ] **2.3.6** — Age rating honestly answers all content questions (violence, mature themes, etc.)
18
+ - [ ] **2.3.8** — Metadata icons/screenshots adhere to 4+ age rating even if game is rated higher
19
+ - [ ] **2.4.3** — Apple TV: must work with Siri remote; explain if game controller required
20
+ - [ ] **4.2.1** — ARKit games: provide rich AR experience, not just dropping a model
21
+ - [ ] **3.1.2(a)** — Streaming game subscriptions: download from App Store; avoid duplicate payment
22
+ - [ ] **2.4.2** — No crypto mining (even background); no excessive battery drain
23
+ - [ ] **1.4.5** — No encouraging dangerous real-world bets or challenges
24
+ - [ ] **3.1.2(a)** — If switching to subscription model, don't remove content already paid for ("full game unlock")
25
+
26
+ ## Game-Specific Design
27
+
28
+ - [ ] **4.2** — Must provide lasting entertainment value
29
+ - [ ] **4.3** — No submitting duplicate/near-identical game variants to spam the store
30
+ - [ ] **2.3.3** — Screenshots show the actual game in play, not just title art
31
+ - [ ] **5.5.5** — Game Center: don't reverse-lookup Player IDs or exploit player data
@@ -0,0 +1,31 @@
1
+ # Checklist: Health, Fitness & Medical Apps
2
+
3
+ Guidelines specifically applying to health tracking, fitness, medical, and HealthKit-integrated apps.
4
+
5
+ ## Critical (Will Reject)
6
+
7
+ - [ ] **1.4.1** — Medical apps: clearly disclose data and methodology for accuracy claims
8
+ - [ ] **1.4.1** — Cannot claim sensor-only diagnostics (x-rays, blood pressure, blood glucose, SpO2)
9
+ - [ ] **1.4.1** — Must remind users to check with a doctor before making medical decisions
10
+ - [ ] **1.4.2** — Drug dosage calculators: must come from approved medical entities (manufacturer, hospital, university, FDA-approved)
11
+ - [ ] **5.1.3(i)** — HealthKit data: NO use for advertising, marketing, or data mining
12
+ - [ ] **5.1.3(ii)** — Must not write false or inaccurate data into HealthKit
13
+ - [ ] **5.1.3(ii)** — Must not store personal health data in iCloud
14
+ - [ ] **5.1.3(iii)** — Health research: informed consent required (nature, purpose, duration, risks, confidentiality, withdrawal)
15
+ - [ ] **5.1.3(iv)** — Health research: independent ethics review board approval required
16
+
17
+ ## Important (Common Rejections)
18
+
19
+ - [ ] **5.1.1** — Privacy policy clearly describes health data collection and use
20
+ - [ ] **2.5.1** — HealthKit used for health/fitness purposes and integrates with Health app
21
+ - [ ] **5.1.1(iii)** — Data minimization: only collect health data relevant to core functionality
22
+ - [ ] **1.4.1** — If regulatory clearance received (FDA, etc.), submit link with app
23
+ - [ ] **5.1.1(ix)** — Healthcare apps: submit as legal entity, not individual developer
24
+ - [ ] **2.5.18** — No targeted ads based on health/medical data (HealthKit APIs)
25
+
26
+ ## HealthKit Specific
27
+
28
+ - [ ] HealthKit framework used only for health and fitness purposes
29
+ - [ ] Data not shared with third parties for advertising/marketing
30
+ - [ ] User consent obtained for all data access
31
+ - [ ] No false data written to Health app
@@ -0,0 +1,27 @@
1
+ # Checklist: Kids Category Apps
2
+
3
+ Guidelines specifically applying to apps in the Kids Category or apps targeting children.
4
+
5
+ ## Critical (Will Reject)
6
+
7
+ - [ ] **1.3** — No external links (unless behind parental gate)
8
+ - [ ] **1.3** — No purchasing opportunities (unless behind parental gate)
9
+ - [ ] **1.3** — No third-party advertising
10
+ - [ ] **1.3** — No third-party analytics (limited exceptions: no IDFA, no PII, no location)
11
+ - [ ] **5.1.4(a)** — COPPA / GDPR compliance for children's data
12
+ - [ ] **5.1.4** — No sending PII or device info to third parties
13
+ - [ ] **5.1.4** — Privacy policy required and must comply with children's privacy statutes
14
+ - [ ] **5.1.1(i)** — Privacy policy linked in App Store Connect AND accessible in-app
15
+
16
+ ## Important (Common Rejections)
17
+
18
+ - [ ] **2.3.8** — "For Kids" / "For Children" in metadata is reserved for Kids Category
19
+ - [ ] **1.3** — Once in Kids Category, must continue meeting guidelines in all subsequent updates
20
+ - [ ] **5.1.4(b)** — Third-party contextual ads only if service has documented Kids-specific policies with human review
21
+ - [ ] **2.3.6** — Age rating accurately reflects content
22
+ - [ ] **2.5.18** — No ads in extensions, widgets, App Clips, keyboards, or watchOS
23
+
24
+ ## Parental Gate Requirements
25
+
26
+ - [ ] Areas with external links, purchases, or distractions must be behind a parental gate
27
+ - [ ] [Parental gate guidance](https://developer.apple.com/app-store/kids-apps/) followed
@@ -0,0 +1,38 @@
1
+ # Checklist: macOS / Mac App Store Apps
2
+
3
+ Guidelines specifically applying to apps distributed via the Mac App Store, including sandboxing, entitlements, and macOS-specific requirements.
4
+
5
+ ## Critical (Will Reject)
6
+
7
+ - [ ] **2.4.5(i)** — App must be appropriately sandboxed
8
+ - [ ] **2.4.5(i)** — Only use appropriate macOS APIs for modifying data from other apps
9
+ - [ ] **2.4.5(i)** — Entitlements must match actual app functionality (Apple will ask for justification)
10
+ - [ ] **2.4.5(ii)** — Packaged and submitted using Xcode; no third-party installers
11
+ - [ ] **2.4.5(ii)** — Self-contained, single app installation bundle
12
+ - [ ] **2.4.5(iii)** — No auto-launch at startup/login without consent
13
+ - [ ] **2.4.5(iii)** — No spawning background processes after user quits
14
+ - [ ] **2.4.5(iii)** — No auto-adding icons to Dock or desktop shortcuts
15
+ - [ ] **2.4.5(iv)** — No downloading standalone apps, kexts, or additional code
16
+ - [ ] **2.4.5(v)** — No requesting root privileges or setuid attributes
17
+ - [ ] **2.4.5(vi)** — No license screens at launch; no license keys; no custom copy protection
18
+ - [ ] **2.4.5(vii)** — Updates distributed via Mac App Store only
19
+ - [ ] **2.4.5(viii)** — Must run on currently shipping OS; no deprecated technologies (Java)
20
+ - [ ] **2.4.5(ix)** — All localizations in a single app bundle
21
+
22
+ ## Important (Common Rejections)
23
+
24
+ - [ ] **2.5.1** — Only public APIs; frameworks used for intended purposes
25
+ - [ ] **2.5.2** — Self-contained in bundle; no reading/writing outside designated container
26
+ - [ ] **2.3.10** — Metadata focused on macOS experience; no iOS-only language in description
27
+ - [ ] **5.2.5** — No Apple device images in app icon
28
+ - [ ] **5.1.1(i)** — Privacy policy required
29
+ - [ ] **2.5.5** — Fully functional on IPv6-only networks
30
+
31
+ ## Entitlements Audit
32
+
33
+ Common entitlements that trigger Apple review questions:
34
+ - [ ] `com.apple.security.network.server` — Justify if app acts as a local server
35
+ - [ ] `com.apple.security.network.client` — Standard for network requests
36
+ - [ ] `com.apple.security.files.downloads.read-only` — Justify Downloads folder access
37
+ - [ ] `com.apple.security.files.user-selected.read-write` — Standard for file picker
38
+ - [ ] `com.apple.security.temporary-exception.*` — Will draw extra scrutiny
@@ -0,0 +1,32 @@
1
+ # Checklist: Social / User-Generated Content Apps
2
+
3
+ Guidelines specifically applying to social networking, messaging, community, and UGC platform apps.
4
+
5
+ ## Critical (Will Reject)
6
+
7
+ - [ ] **1.2** — Content moderation: filter for objectionable material
8
+ - [ ] **1.2** — Report mechanism for offensive content with timely responses
9
+ - [ ] **1.2** — Ability to block abusive users
10
+ - [ ] **1.2** — Published contact information for user support
11
+ - [ ] **4.8** — If offering third-party login (Facebook, Google, etc.), must also offer Sign in with Apple or equivalent
12
+ - [ ] **4.0** — Sign in with Apple: don't re-ask name/email after SIWA auth
13
+ - [ ] **5.1.1(v)** — If account creation exists, must also offer account deletion
14
+ - [ ] **5.1.1(v)** — Must provide access without social login if core functionality isn't social-network-specific
15
+ - [ ] **5.1.1(i)** — Privacy policy required (in-app + App Store Connect)
16
+
17
+ ## Important (Common Rejections)
18
+
19
+ - [ ] **1.2.1** — Creator content apps: age-restriction mechanism for content exceeding app rating
20
+ - [ ] **1.1.1** — No defamatory, discriminatory, or mean-spirited content
21
+ - [ ] **2.5.14** — Explicit consent for recording user activity (camera, microphone, screen)
22
+ - [ ] **5.1.1(ii)** — User consent for data collection; clear purpose strings
23
+ - [ ] **5.1.2** — ATT framework required for cross-app tracking
24
+ - [ ] **5.1.1(viii)** — No compiling personal info from non-user sources (public databases)
25
+ - [ ] **4.5.4** — Push notifications: not required to function; opt-in for marketing
26
+ - [ ] **5.1.1(iii)** — Data minimization: only request data relevant to core functionality
27
+
28
+ ## UGC-Specific Rules
29
+
30
+ - [ ] NSFW content from web services: hidden by default, opt-in via website only
31
+ - [ ] No Chatroulette-style random chat, anonymous bullying, or "hot-or-not" voting
32
+ - [ ] No apps primarily used for pornographic content
@@ -0,0 +1,34 @@
1
+ # Checklist: Apps with Subscriptions / In-App Purchases
2
+
3
+ Guidelines that specifically apply to apps offering auto-renewable subscriptions, consumable/non-consumable IAP, or freemium models.
4
+
5
+ ## Critical (Will Reject)
6
+
7
+ - [ ] **3.1.1** — All digital content unlocks use Apple's In-App Purchase (no license keys, QR codes, crypto)
8
+ - [ ] **3.1.2(a)** — Subscription provides ongoing value; minimum 7-day period; works on all user devices
9
+ - [ ] **3.1.2(c)** — Subscription purchase screen clearly describes what user gets for the price
10
+ - [ ] **3.1.2** — Billed amount is the most prominent pricing element (not calculated monthly price)
11
+ - [ ] **3.1.2** — App description includes functional **Terms of Use (EULA)** link
12
+ - [ ] **3.1.2** — App description includes functional **Privacy Policy** link
13
+ - [ ] **5.1.1(i)** — Privacy Policy URL set in App Store Connect metadata
14
+ - [ ] **3.1.1** — Loot boxes / randomized items disclose odds before purchase
15
+ - [ ] **3.1.1** — In-game currencies purchased via IAP do not expire
16
+ - [ ] **3.1.1** — Restore Purchases mechanism exists for restorable IAP
17
+ - [ ] **2.1(b)** — All IAP items are complete, visible to reviewer, and functional
18
+
19
+ ## Important (Common Rejections)
20
+
21
+ - [ ] **3.1.2(b)** — Seamless upgrade/downgrade; no accidental duplicate subscriptions
22
+ - [ ] **2.3.2** — Description/screenshots clearly indicate which features require additional purchase
23
+ - [ ] **3.1.2(a)** — Not taking away functionality previously paid for when switching to subscription model
24
+ - [ ] **3.1.2(a)** — Free trial clearly identifies duration, what ends, and post-trial charges
25
+ - [ ] **4.10** — Not charging for built-in OS capabilities (Push, camera, iCloud)
26
+ - [ ] **3.2.1(x)** — Not forcing users to rate/review app to access features
27
+
28
+ ## In-App Subscription Screen Must Include
29
+
30
+ - [ ] Title of subscription
31
+ - [ ] Length of subscription period
32
+ - [ ] Price (and price per unit if appropriate)
33
+ - [ ] Functional tappable Privacy Policy link
34
+ - [ ] Functional tappable Terms of Use / EULA link