Implementing consent screens for Privacy Policy and Terms of Service in mobile apps

One of the common reasons for rejection in App Store and Google Play reviews is the lack or incorrect implementation of Privacy Policy and Terms of Service screens. Over 60% of apps contacting us have issues with consent screens. We have helped 50+ projects pass review on the first try. Apple requir

Development and support of all types of mobile applications:

Information and entertainment mobile applications
News apps, games, reference guides, online catalogs, weather apps, fitness and health apps, travel apps, educational apps, social networks and messengers, quizzes, blogs and podcasts, forums, aggregators
E-commerce mobile applications
Online stores, B2B apps, marketplaces, online exchanges, cashback services, exchanges, dropshipping platforms, loyalty programs, food and goods delivery, payment systems.
Business process management mobile applications
CRM systems, ERP systems, project management, sales team tools, financial management, production management, logistics and delivery management, HR management, data monitoring systems
Electronic services mobile applications
Classified ads platforms, online schools, online cinemas, electronic service platforms, cashback platforms, video hosting, thematic portals, online booking and scheduling platforms, online trading platforms

These are just some of the types of mobile applications we work with, and each of them may have its own specific features and functionality, tailored to the specific needs and goals of the client.

Showing 1 of 1All 1734 services
Implementing consent screens for Privacy Policy and Terms of Service in mobile apps
Simple
~1 day

Our competencies:

Frequently Asked Questions

Latest works

  • image_mobile-applications_feedme_467_0.webp
    Development of a mobile application for FEEDME
    895
  • image_mobile-applications_xoomer_471_0.webp
    Development of a mobile application for XOOMER
    782
  • image_mobile-applications_rhl_428_0.webp
    Development of a mobile application for RHL
    1216
  • image_mobile-applications_zippy_411_0.webp
    Development of a mobile application for ZIPPY
    1079
  • image_mobile-applications_affhome_429_0.webp
    Development of a mobile application for Affhome
    1002
  • image_mobile-applications_flavors_409_0.webp
    Development of a mobile application for the FLAVORS company
    597

One of the common reasons for rejection in App Store and Google Play reviews is the lack or incorrect implementation of Privacy Policy and Terms of Service screens. Over 60% of apps contacting us have issues with consent screens. We have helped 50+ projects pass review on the first try. Apple requires an active link to the Privacy Policy in Store Connect, Google Play in the developer console. Inside the app, the link must be accessible when requesting contacts, photos, or camera. Non-compliance with GDPR risks fines up to €20 million or 4% of annual turnover. The consent screen on first launch must not use dark patterns: the "Accept" button activates only after full scroll of the document.

"Apps that collect personal data must provide a clearly displayed privacy policy." — App Store Review Guidelines 5.1.1

What problems we solve

Rejection during review due to missing policy links

App Store and Google Play block apps without active links to Privacy Policy and TOS (if there are IAPs, registration, or data collection). We check all points: Store Connect, Console, and in-app screens. In 95% of cases, the problem is solved by adding the link in the right places.

Dark patterns and GDPR/CCPA compliance

The first-launch screen must not be designed to force consent. We implement scroll activation and explicit acceptance of each document separately. The average success rate of GDPR audit after our revision is 100%.

Versioning and legal validity of consent

We store acceptance with document version and timestamp. When the document is updated, re-acceptance is required only for material changes — this is recorded on the server. In 3 years of work, none of the 50+ projects have been fined.

How we do it: stack and use cases

Stack

  • iOS: Swift 5.9, async/await, WKWebView, URLCache, Core Data for caching.
  • Android: Kotlin, Coroutines, WebView, OkHttp cache, Room for storage.
  • Flutter/React Native: on request — we adapt to the framework.

Case: consent screen implementation with offline access

// iOS: load policy with fallback on cache and bundled class PolicyDocumentLoader { func loadPolicy(_ type: PolicyType) async -> PolicyDocument { // Try fresh version from server if let fresh = try? await fetchFromServer(type) { cache.save(fresh, for: type) return fresh } // Fallback on local cache if let cached = cache.load(for: type) { return cached } // Last resort — bundled from app return loadBundled(type) } } 

Bundled version is embedded at release time and always available on first launch. For Android similarly:

// Android: similar pattern with OkHttp cache fun loadPolicy(type: PolicyType): PolicyDocument { return try { fetchFromServer(type).also { cache.save(it) } } catch (e: Exception) { cache.load(type) ?: loadBundled(type) } } 
Example deep link to policy section For compliance, it is often required to open a specific section of the policy (e.g., #camera-section). We support URL fragments in WebView.
Parameter WebView Native rendering
Update flexibility High (no release) Low (only via build)
Offline access With caching Automatic
Deep linking Supports fragments Requires parsing

How to avoid rejection during review?

Check that:

  • Link to Privacy Policy is in Store Connect / Console.
  • Inside the app, the link is accessible when requesting contacts, photos, camera, etc.
  • Consent screen does not use pre-ticked checkboxes — explicit action is required.
  • Acceptance is recorded with document version.

What to do when the document is updated?

  1. Change the document version on the server.
  2. On login, check lastAcceptedVersion for the user.
  3. If new version is materially different — show re-acceptance screen.
  4. Record acceptance with the new version.

Process of work

Stage Duration
Requirements analysis 0.5 day
Screen design 0.5 day
Implementation (WebView + cache + logging) 1-2 days
Testing (network off, scroll, deep link) 1 day
Deployment and review consultation 0.5 day

Timelines are indicative: from 2 to 5 days. Cost is calculated individually. Order an audit of your app — we will check consent compliance with App Store and Google Play requirements. Contact us for a consultation on passing review.

What is included in the work

  • Document loading module with caching.
  • Consent screen with scroll tracking.
  • Backend structure for storing acceptance version.
  • Documentation on versioning.
  • Consultation on passing review.

Typical mistakes in self-implementation

  • No separate checkbox for each document (Privacy and TOS).
  • Document version is not stored — consent loses legal force.
  • "Accept" button active immediately — violates consent requirements.
  • No offline handling — user cannot accept without network.

WebView with caching provides update flexibility 3 times faster compared to native layout. Our experience guarantees passing review on the first try. Get a consultation for your project.