Do it yourself
$109 per platform, one-time
The WebViewGold license: a finished Xcode or Android Studio project. Paste your URL, set name and icon, switch on features, build and submit. Free updates forever.
See plans on the main pageGoogle Play rejection
Google cross-checks your Data safety answers against what it detects in the app bundle and what it sees in the running app. "No data collected" next to a login form, a push SDK and an ads SDK is the most common mismatch we see. The fix is a truthful inventory, and it takes about twenty minutes.
From $109 one-time per platform, or let our team do it all from $698.
The Data safety section in App content asks what your app collects, what it shares, whether data is encrypted in transit and whether users can ask for deletion. Google compares these answers with two sources: the SDKs and permissions it detects in your bundle (the Google Mobile Ads SDK that ships with the WebViewGold template, OneSignal or Firebase when push is enabled, Crashlytics when tracking is on) and what the reviewer observes when using the app, such as a sign-up form that asks for name and email.
One detail trips up most web-wrapped apps: data entered into the WebView counts as collected by your app when you control the website it loads. Your Supabase or Firebase login, the analytics script Lovable added, the Stripe checkout on your domain: all of that is your app's data collection in Google's eyes, even though no native code touches it.
| Data type | Collected? | Typical purpose | Where it comes from |
|---|---|---|---|
| Name, email address | Yes, if you have a login | Account management | Supabase, Firebase Auth, Base44 users, your own backend |
| Device or other IDs | Yes, if push or ads are on | Push notifications, advertising | OneSignal or Firebase subscription ID, advertising ID via AdMob |
| Crash logs, diagnostics | Yes, if TRACKING_EVENT is true | Analytics, app stability | Firebase Crashlytics in WebViewGold |
| App interactions | Yes, if an analytics script runs | Analytics | Google Analytics, PostHog, Plausible and similar on your site |
| Approximate or precise location | Only if requireLocation is true and your web app asks | App functionality | HTML5 geolocation inside the WebView |
| Photos, files | Only if uploads leave the device | App functionality | File uploads from your web app |
| Purchase history, payment info | Yes, if you store orders | App functionality | Stripe, RevenueCat, your database |
Inventory first, then answer. Guessing is what produced the mismatch.
Open Config.java and note which of these are true: PUSH_ENABLED, FIREBASE_PUSH_ENABLED, PUSHWOOSH_ENABLED, SHOW_BANNER_AD, SHOW_FULL_SCREEN_AD, ENABLE_REWARDED_ADS, TRACKING_EVENT, requireLocation. Each true value is a data flow you must declare. In the Cloud Builder the same options are the feature toggles.
List every third-party script and backend your web app talks to: auth provider, database, analytics, error tracking, chat widgets, payment provider, AI APIs that receive user prompts. Ask your builder to print the list if you are not sure; Cursor, Claude Code or Codex can grep the codebase for external hosts.
OneSignal, Firebase and Google AdMob publish exactly which data types and purposes to declare for their SDKs. Copy those answers instead of guessing. Mark data sent to a vendor that only processes it on your behalf as collected; mark data an ad network uses for its own purposes as shared.
Declare encryption in transit when every request uses HTTPS. In WebViewGold for Android, switch cleartext traffic off as described in the support center and enable BLOCK_SELF_SIGNED_AND_FAULTY_SSL_CERTS so a faulty certificate fails instead of silently going through.
Say yes to "users can request deletion" only if there is a real path, and provide the web URL that Play shows on your listing. The account deletion guide covers the implementation.
Every data type you declare must also appear in your privacy policy, and the policy must be reachable from the app and the listing. Then save the form and submit a new review; a changed form alone can be reviewed, but if you also changed Config.java, upload the new bundle first.

Great work! Never coded anything but managed to work with this. Easy and fast! Also with great help from the creators!
The Google Mobile Ads SDK is part of the WebViewGold Android template, and its manifest adds the Ad ID permission even when SHOW_BANNER_AD and SHOW_FULL_SCREEN_AD are false. If you do not use ads, remove the permission in AndroidManifest.xml with the manifest merger, then declare no advertising ID. If you do use ads, keep it and declare the advertising ID under "Device or other IDs".
<!-- inside <manifest>, with xmlns:tools="http://schemas.android.com/tools" declared -->
<uses-permission android:name="com.google.android.gms.permission.AD_ID" tools:node="remove" />No. WebViewGold is a project template that runs on your account; there is no WebViewGold server receiving user data. What you declare depends on the services you enable (push, ads, Crashlytics) and on what your web app does.
The toggles you set in the Cloud Builder map to the same options. Enabled push means device identifiers, enabled ads means advertising ID, enabled tracking means crash logs. Declare based on the toggles.
Typically no. A backend that processes data on your behalf is a service provider, and that data is declared as collected by you. Check the vendor's own guidance if you use additional features such as third-party analytics.
Same result, different amount of work on your side. All three come with the approval guarantee and 24/7 human support.
$109 per platform, one-time
The WebViewGold license: a finished Xcode or Android Studio project. Paste your URL, set name and icon, switch on features, build and submit. Free updates forever.
See plans on the main page$349 per license, one-time add-on
No Mac, no Xcode, no Android Studio: configure in the browser, we build both apps in the cloud and hand them to App Store Connect and the Play Console.
How the Cloud Builder works Try the free demo$698 per platform $798
Send us your URL and icon. Our team configures, builds and delivers your app within 72 hours, white-label, with source projects. Both platforms for $1,158.
Full Service details Powered byWinter Sale prices valid until December 31, 2026.
App Store & Google Play approval guarantee – or your money back within 14 days
Rather hand it over? Full Service: we configure, build and deliver within 72 hours, from $698 per platform. Questions? Chat with us 24/7.
Refunds are granted under the conditions listed in our FAQ: a non-content rejection by Apple and/or Google, claimed within 14 days after purchase.