You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit 41ad5dc
Browse filesBrowse the repository at this point in the historyBrowse files
Copy file name to clipboardExpand all lines: skills/apple-appstore-reviewer/SKILL.md
+19Lines changed: 19 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -131,6 +131,16 @@ Once compliance risks are handled, suggest improvements that reduce reviewer fri
131
131
Include these checks only when the app's features, product positioning, or review history make them relevant:
132
132
133
133
-**User-generated content (Guideline 1.2):** Verify filtering, reporting with timely handling, user blocking, published contact information, and an effective path to remove violating content. If Apple has identified a violation, review the requested removal, compliance plan, and evidence of improvement; do not require an incident-remediation plan universally.
134
+
- Apple's Guideline 1.2 rejection notices commonly ask for more than the guideline text. Check each item against actual code paths:
135
+
-**Terms before access:** Users must agree to terms (EULA) **before** they can register or sign in, not merely be able to view them somewhere in the app.
136
+
-**Zero tolerance:** The terms must explicitly state that there is **no tolerance** for objectionable content or abusive users.
137
+
-**Affirmative consent:** The agreement control must start unchecked/unaccepted and require a deliberate user action; a pre-checked box or implied consent is a finding.
138
+
-**Every entry path:** A terms prompt shown only to already signed-in users after an app update does not satisfy "before sign-in"; verify that fresh installs and new registrations hit the agreement before the login or sign-up screen completes.
139
+
-**24-hour handling:** Reports of objectionable content must be acted on **within 24 hours**; look for a moderation workflow or reviewer-note commitment, not just "timely" wording.
140
+
-**Removal and ejection:** Acting on a valid report means removing the content **and ejecting (banning) the user who posted it**, not only deleting the content.
141
+
-**Blocking notifies the developer:** Blocking a user must also notify the developer (e.g., create a report or moderation event), not only hide the user locally.
142
+
-**Instant removal on block:** Blocked users' content must disappear from the blocker's feed **immediately**, without requiring a refresh, relaunch, or server delay.
143
+
-**Metadata pricing terms (Guideline 2.3.7):** Treat "Free" (or a localized equivalent), sale, or price wording in the app name, subtitle, keywords, screenshots, or previews as pricing information to remove, even when the app really is free. Inspect text rendered **inside screenshot UI** (e.g., a button or label such as "Fuel up (Free)"), not only caption or overlay text. Unverified if screenshots are not available in the repo.
134
144
-**Spam and differentiation (Guideline 4.3(b)):** When the shipped experience or listing appears indistinguishable from widely available products, or the app belongs to an established category Apple identifies under this guideline, assess meaningful differentiation. Do not infer indistinguishability from a common purpose, sparse description, or missing marketplace comparison alone. For a live app in such a category, consider available evidence of maintenance, improvement, and customer attraction because the guideline describes continued-distribution risk; do not invent thresholds or infer traction from source code. Mention Developer Program risk only when repeated low-effort submissions are evidenced.
135
145
-**Apple services (Guideline 4.5.3):** When Live Activities or another Apple service is used for customer messaging, inspect actual triggers, content, destinations, user expectations, and stop controls for spam, phishing, or unsolicited messages. Do not infer a violation from API use alone.
136
146
@@ -241,6 +251,7 @@ After delivering recommendations, offer an optional second pass:
241
251
- Paywall messaging must be clear (price, recurring, trial, restore)
242
252
- Restore purchases must work and be visible
243
253
- Don’t mislead about “free” if core requires payment
254
+
- Don’t put “Free” or other pricing terms in metadata or screenshots, even if the app is genuinely free (Guideline 2.3.7)
244
255
- No external purchase prompts/links for digital features
245
256
246
257
### Accounts
@@ -249,6 +260,14 @@ After delivering recommendations, offer an optional second pass:
249
260
- If account creation exists, account deletion must be accessible in-app (when applicable)
250
261
- “Sign in with Apple” requirement when using other third-party social logins
251
262
263
+
### User-generated content
264
+
265
+
- Terms/EULA not agreed to before registration or sign-in, or shown only to existing users after an update
266
+
- Pre-checked agreement box instead of an explicit user action
267
+
- Terms missing a zero-tolerance statement for objectionable content and abusive users
268
+
- No commitment to act on reports within 24 hours by removing content and ejecting the offending user
269
+
- Blocking that does not notify the developer or does not immediately remove the blocked user's content from the feed
0 commit comments