I've been rejected a couple of times for Guidelines 5.1.1(i) and 5.1.2(i) regarding third-party AI data sharing consent. Each time, the reviewer states they cannot see the consent prompt, even though it is the first screen displayed on every app launch.
My app (GymFusion) uses Anthropic's Claude AI for features like meal scanning, body composition analysis, and workout coaching.
Here is exactly what I've implemented:
IN-APP CONSENT (embedded in view hierarchy, not a sheet/popup):
In my RootView.swift, the consent is a conditional view that blocks the entire app:
} else if !consentManager.hasConsented && !consentManager.hasSeenConsent {
AIConsentView()
} else if auth.isAuthenticated {
MainTabView()
}
The hasSeenConsent flag is reset to false on every app launch in the App's init(), so the consent screen appears on every launch until the user accepts:
init() {
UserDefaults.standard.set(false, forKey: "user_ai_consent_seen")
AIConsentManager.shared.hasSeenConsent = false
FirebaseApp.configure()
}
THE CONSENT SCREEN INCLUDES:
Lists all personal data shared (meal photos, water glass photos, workout history, progress photos, body measurements, fitness profile)
Names Anthropic, PBC (Claude AI) as the third-party recipient
3 required acknowledgment checkboxes that must all be checked before "I Agree" is enabled
Cannot be swiped away (.interactiveDismissDisabled)
"Decline" lets user proceed but consent reappears next launch
Users can revoke consent anytime in More tab
PRIVACY POLICY INCLUDES:
Names Anthropic as third-party AI provider
Lists all data collected and shared
States Anthropic provides "same or equal protection of user data"
Explains consent and revocation process
Link: https://ahmedali420911.github.io/gymfusion-legal/privacy-policy.html
WHAT THE REVIEWER SAYS EACH TIME:
"We were not presented with the consent prompt on launch or anywhere else in the app."
WHAT I'VE VERIFIED:
Aiconsentview.swift is in the Xcode build target (confirmed in project.pbxproj with 4 references)
Consent appears correctly on simulator and physical device
UserDefaults resets hasSeenConsent to false on every launch
The file compiles without errors
DerivedData has been cleared before archiving
Clean build performed before every archive
MY QUESTIONS:
Could there be a reason the consent screen doesn't appear on the reviewer's device even though it shows correctly on mine?
Is there a known issue with SwiftUI conditional views not rendering on certain devices or iOS versions?
Has anyone else experienced App Review not seeing UI that works correctly in their own testing?
Should I attach screenshots of the consent dialog in the App Review notes or reply?
Is there something else Apple expects beyond an in-app consent dialog and privacy policy for third-party AI data sharing?
I've been stuck on this for over a month across 8 submissions. Any help or insight would be greatly appreciated.
3
0
106