Guideline 2.5.14

Guideline 2.5.14 - Software Requirements: Screen Recording Without Clear User Consent

High SeverityMedium FixTypical Fix: 2-8 hours0 Reports
Also known as:App records screen without clear user consentSession replay SDK captures user interactions without disclosureApp captures screenshots of user activity without consent promptNo visible indication that recording is activeAnalytics SDK records user sessions without explicit opt-in

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

01

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.

02

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.

03

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.

04

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.

05

Provide a way to stop recording

Users should be able to disable recording at any time from the app's settings.

06

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

  • Audit all analytics SDKs for screen recording capabilities before integration
  • Implement consent UI before enabling any session replay feature
  • Default to recording off, with clear opt-in
  • Keep a visible indicator during active recording sessions
  • Review your privacy nutrition labels to ensure consistency
  • Example Rejection Email

    From:Apple App Review Team
    Subject:Guideline 2.5.14 - Software Requirements: Screen Recording
    Guideline 2.5.14 - Performance - Software Requirements Your app records users' screens or captures user activity without providing clear visual indication and obtaining explicit user consent before the recording begins. Specifically, the app includes a session replay SDK that captures user interactions without a visible consent prompt. Next Steps: Please revise your app to: - Provide a clear and visible disclosure to users before any screen recording or session capture begins - Obtain explicit user consent before recording - Display a clear visual indicator while recording is active Apps must request explicit user consent and provide a clear visual indication when recording, logging, or otherwise making a record of user activity.

    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.

    Generate Appeal

    Before & After

    Before — Rejected

    App initializes UXCam SDK in application(_:didFinishLaunchingWithOptions:) and begins recording all user sessions immediately without any disclosure

    After — Approved

    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

    View all Guideline 2 rejections