Detects missing or insufficient in-app account deletion functionality required since June 30, 2022 under Guideline 5.1.1(v) for all apps that support account creation.
日本語の概要は準備中です。原文の説明を表示しています。
Detects feature patterns that require a higher age rating than commonly submitted, enforcing Guideline 2.3.6 which requires age ratings to accurately reflect the app's content and social features.
インストールする前に、エージェントに与えられる指示の中身を確認できます。
Detects feature patterns that require a higher age rating than commonly submitted, enforcing Guideline 2.3.6 which requires age ratings to accurately reflect the app's content and social features.
references/guidelines/2-performance.mdInvoke on any iOS/macOS project before App Store submission to verify the selected age rating is appropriate for the app's features.
| Name | Type | Default | Description |
|---|---|---|---|
project_root | path | cwd | iOS/macOS project root |
shared_context | object | nil | Pre-collected context from appstore-full-audit Phase 1 |
Skip this phase if shared_context is provided.
Glob **/*.swift — collect all Swift source files.Glob **/*.m — collect Objective-C source files.Stranger communication features (12+ minimum)
Grep pattern "message"|"chat"|"inbox"|"direct message"|"DM"|"send.*message"|"message.*stranger" in **/*.swift.
If found and app enables communication with unknown users (not just friends/contacts) → 🟠 HIGH. Flag for 12+ age rating review. Reviewer will test whether strangers can contact each other.
Alcohol or substance references (17+ consideration)
Grep pattern "alcohol"|"beer"|"wine"|"spirits"|"liquor"|"cocktail"|"whiskey" in **/*.swift.
If found as primary app theme or purchasable content → 🟠 HIGH. Flag for 17+ age rating consideration.
Gambling or wagering features (17+)
Grep pattern SKProduct|StoreKit near "bet"|"wager"|"casino"|"slots"|"poker"|"gamble" in **/*.swift.
If real-money or simulated gambling found → 🟠 HIGH. Flag for 17+ age rating requirement.
Unmoderated user-generated content (12+ or 17+)
Grep pattern "post"|"comment"|"UGC"|"userContent"|"community" in **/*.swift.
If unmoderated UGC is possible and no contentFilter|moderateContent patterns detected → 🟠 HIGH. Unmoderated UGC apps typically require 12+ or 17+ rating depending on content type.
Collect all findings from Phase 2 and build the prioritised findings list below. Include file paths and line numbers. Omit tiers with no findings.
## Age Rating Accuracy — Findings
### 🔴 CRITICAL — Guaranteed rejection
- [ ] TODO: <exact actionable step> — `file:line` — Guideline 2.3.6
### 🟠 HIGH — Very likely rejection
- [ ] TODO: Review age rating — app enables stranger-to-stranger messaging; minimum 12+ rating required — `ChatViewController.swift` — Guideline 2.3.6
- [ ] TODO: Review age rating — alcohol purchasing/content found; consider 17+ rating — `DrinkMenuViewController.swift:44` — Guideline 2.3.6
- [ ] TODO: Review age rating — simulated gambling or wagering detected; 17+ rating required — `CasinoViewController.swift` — Guideline 2.3.6
- [ ] TODO: Review age rating — unmoderated user-generated content without content filter requires at minimum 12+ rating — Guideline 2.3.6
### 🟡 MEDIUM — Possible rejection
- [ ] TODO: Manually verify age rating in App Store Connect matches all features — use Apple's rating questionnaire as a checklist
### 🟢 LOW — Best practice
- [ ] TODO: Document the age rating rationale in review notes — helps reviewers understand why certain features are rated appropriately
Glob, Grep, Read
shared_context is provided by orchestrating agent.Run these in your project root to check manually:
# Check for chat/messaging features (may require 12+ rating)
!grep -rn "message\|chat\|inbox\|DirectMessage\b\|\"DM\"" . --include="*.swift" | grep -v "//" | wc -l
# Check for gambling keywords
!grep -rn "bet\b\|wager\|casino\|gambling" . --include="*.swift" -i | grep -v "//"
# Check current age rating in project
!grep -rn "ITSAppUsesNonExemptEncryption\|MinimumOSVersion" . --include="*.plist" | head -5
examples/swift/QualityPatterns.swift
Find target files
**/*.swift, **/*.m, **/Info.plistSearch for rejection patterns
alcohol\|tobacco\|gambling\|casino\|betting\|Gambling — regulated content categoriesnudity\|explicit\|adult.*content\|NSFW — mature content indicatorsviolence\|gore\|brutal\|Violent — violence content indicatorsInfo.plist → check CFBundleShortVersionString for existing age rating indicatorsDetermine verdict
casino\|betting\|roulette) → flag for 17+ content rating reviewReport
まだレビューはありません。使ってみた感想をお寄せください。
概要と使いどころ
Detects missing or insufficient in-app account deletion functionality required since June 30, 2022 under Guideline 5.1.1(v) for all apps that support account creation.
日本語の概要は準備中です。原文の説明を表示しています。
Detects apps that send user data to third-party AI systems without explicit in-app consent and disclosure, enforcing Guideline 5.1.2(i).
日本語の概要は準備中です。原文の説明を表示しています。
Detects placeholder content, stub UI, hardcoded test credentials, and non-production endpoints that signal an incomplete app to reviewers under Guideline 2.1.
日本語の概要は準備中です。原文の説明を表示しています。
Detects app name violations including names exceeding 30 characters, beta labels, Apple trademark terms, and version numbers in the display name, enforcing Guideline 2.3.7.
日本語の概要は準備中です。原文の説明を表示しています。
App Store rejection prevention for iOS/macOS apps. Covers privacy, UGC, IAP, metadata, layout, and quality checks based on real Apple rejection cases.
日本語の概要は準備中です。原文の説明を表示しています。
Detects analytics or tracking SDKs present without the required App Tracking Transparency prompt, enforcing Guideline 5.1.2(i) which requires user consent before any cross-app or cross-site tracking.
日本語の概要は準備中です。原文の説明を表示しています。