Guideline 2.5.14
Guideline 2.5.14 - Software Requirements: Screen Recording Without Clear User Consent
Our Take
Apple is rejecting your app because it records the user's screen, captures screenshots, or records user interactions without providing clear notice and obtaining explicit user consent before the recording begins. This guideline was significantly strengthened after high-profile incidents where analytics SDKs were found secretly recording user sessions. The guideline applies to: (1) session replay tools like FullStory, UXCam, or Smartlook that record screen interactions, (2) apps that take screenshots of user activity for analytics, (3) screen mirroring or broadcasting features that capture the display, and (4) any SDK that collects visual representations of user interactions. The key requirement is that users must see a clear, unambiguous prompt before any recording begins. The prompt must explain what is being recorded, why, and how the recording will be used. A buried mention in the privacy policy is not sufficient -- Apple requires active, visible consent at the moment recording starts.
Resolution Guide
Identify all recording/capture SDKs
Search your project for session replay tools: FullStory, UXCam, Smartlook, LogRocket, Hotjar, Mouseflow, and similar. Check your Podfile, Package.swift, and build phases.
Add explicit consent UI
Before any recording starts, show a clear modal dialog explaining: 'This app records your screen interactions to improve the experience. Tap Allow to enable session recording, or Decline to use the app without recording.' The recording must not begin until the user taps Allow.
Add a visible recording indicator
While recording is active, display a persistent visual indicator (like a small red dot or banner) so users always know they're being recorded.
Make recording opt-in, not opt-out
Recording must be disabled by default. Users must actively choose to enable it. Don't pre-check the consent toggle.
Provide a way to stop recording
Users should be able to disable recording at any time from the app's settings.
Mask sensitive data
Even with consent, mask password fields, credit card inputs, and other sensitive data from recordings. Most session replay SDKs have masking features.
Prevention
Example Rejection Email
Consider Appealing
If your app genuinely doesn't record screens and Apple flagged an analytics SDK that only collects interaction data (taps, not visual recordings), explain the distinction clearly. Provide documentation from the SDK showing exactly what data is collected.
Before & After
App initializes UXCam SDK in application(_:didFinishLaunchingWithOptions:) and begins recording all user sessions immediately without any disclosure
UXCam SDK initialization deferred until user completes onboarding. Consent dialog shown: 'Help us improve by sharing anonymous session recordings.' Recording only starts if user taps 'Allow.' Red dot indicator visible in status bar during recording. Toggle in Settings to disable.
What changed: Session replay must be opt-in with clear consent, a visible indicator during recording, and an easy way to disable it.
Community Solutions · 0
Sign in to share your solution.
More Guideline 2 (Performance) rejections
- Guideline 2.1 - App Completeness: App Crashes During Review
- Guideline 2.1 - App Completeness: App Requires External Hardware Not Provided for Review
- Guideline 2.1 - App Completeness: Crashes on Launch
- Guideline 2.1 - App Completeness: Demo Account Not Working
- Guideline 2.1 - App Completeness: IAP Products Not Found in Binary
- Guideline 2.1 - App Completeness: Missing App Icon