An auth guard around everything
Lovable, Bolt and v0 scaffolds often wrap the whole router in a protected route, so the first screen of the app is a login form.
App Store rejection
If your app forces people to create an account before they can use features that have nothing to do with an account, Apple rejects it under 5.1.1(v). AI app builders put the whole app behind a login by default, so this is common. The fix: open the parts that need no account, keep login for the parts that do, and say clearly in the review notes which is which.
From $109 one-time per platform, or let our team do it all from $698.
The account sign-in part of Guideline 5.1.1 says that an app without significant account-based features should let people use it without logging in. Apps may not require personal information to function unless it is directly relevant to the core functionality or required by law. Apps that support account creation must offer account deletion in the app. And if the core function is not tied to a specific social network, people must be able to use the app without logging in to one; pulling profile data, sharing and inviting friends do not count as core functions.
The other parts of 5.1.1 (privacy policy, purpose strings, data minimization) are covered in the 5.1.1 privacy guide. This page is about the login wall.
The note usually says that the app requires users to register or log in before they can access features that are not account based, and suggests letting users use those features freely while requiring registration only for account-specific ones. A frequent variant says the app requires personal information, such as a phone number, birthday or gender, that its core function does not need. Another variant concerns purchases: the app forces registration before buying In-App Purchases that are not account based.
| Feature | Account-based? | Behind a login? |
|---|---|---|
| Browsing a catalog, reading articles, viewing recipes | No | No, make it public |
| Calculators, converters, generators, a limited free AI demo | No | No, or a guest session |
| Favorites, history, sync across devices | Yes | Yes; ask when the user saves something |
| Posting, chatting, following other users | Yes | Yes |
| Orders, bookings, invoices, team workspaces | Yes | Yes |
| An app for existing members, employees or customers of a service | Yes, the account is the core | Yes; explain it in the review notes and provide a demo account |
| A subscription that also works on the web | Yes, cross-platform | Yes; say so in the review notes |

My iOS WebView is finally approved. Thanks!!
Lovable, Bolt and v0 scaffolds often wrap the whole router in a protected route, so the first screen of the app is a login form.
The marketing page is the public part of your website, so many people set webviewurl to the app area, which redirects straight to login.
Phone, birthday, gender and company fields generated "just in case" are personal information the core function does not need.
Only "Continue with Google" means nobody gets in without a social account. Add email login or Sign in with Apple, and consider a guest path.
Go through every screen. Usually, discovery and reading are public; saving, posting, account-tied purchases and personal data are account-only.
Set webviewurl in Config.swift to a page that works without login, such as yourdomain.com/app or /explore, not /login. Changing it needs a new build.
Public routes render for everyone; only account routes redirect to login (code below). Put "Sign in" in the header or on the first save, not in front of the content.
If guests should be able to save progress, use Supabase anonymous sign-ins, Firebase anonymous auth or local storage, and convert the guest to a full account at sign-up so nothing is lost. Protect anonymous sign-ups with a captcha and row-level security; the Supabase checklist lists the settings.
Email and password (or Sign in with Apple), plus a name if you really need it. Ask for anything else later, when a feature needs it, and mark optional fields as optional.
Account creation still requires deletion inside the app (account deletion guide), and account features still need a demo account for review (demo account guide). Keep deletecache false so signed-in users stay signed in.
React Router example, as generated by most AI builders, plus a Supabase guest session for saving.
// Before (typical AI scaffold): every route behind <RequireAuth />
// <Route element={<RequireAuth />}> ...all routes... </Route>
// After: public discovery, account features behind the guard
<Routes>
<Route path="/" element={<Explore />} /> {/* no account needed */}
<Route path="/recipes/:id" element={<Recipe />} /> {/* no account needed */}
<Route path="/login" element={<Login />} />
<Route element={<RequireAuth />}>
<Route path="/favorites" element={<Favorites />} /> {/* account-based */}
<Route path="/settings/account" element={<Account />} />
</Route>
</Routes>
// A guest taps "Save": start an anonymous session, upgrade it later
async function saveAsGuest(recipeId) {
const { data } = await supabase.auth.getSession();
if (!data.session) await supabase.auth.signInAnonymously();
await supabase.from("favorites").insert({ recipe_id: recipeId }); // user_id defaults to auth.uid()
showBanner("Saved. Create a free account to keep your favorites on all devices.");
}
// Upgrade later: supabase.auth.updateUser({ email }) turns the anonymous user into a permanent oneLet the AI do the restructuring, but review its list of public and account-only routes before it changes code.
Restructure authentication for App Store Guideline 5.1.1(v). 1) List every route and classify it as public (works without an account) or account-only (saving, posting, purchases tied to the account, personal data). Show me the list before you change code. 2) Remove the global auth guard and apply it only to account-only routes. 3) Make / a public start page that shows the core content without login. 4) When a guest tries an account-only action, show a friendly sheet: "Create a free account to save this", with Sign in with Apple, email sign-up and a "Not now" option. 5) Use Supabase anonymous sign-in for guests who need to save state, and convert them to a permanent account at sign-up without losing data. Keep row-level security on all tables. 6) Reduce the sign-up form to email, password and an optional name. Remove phone, birthday and gender unless a feature needs them. 7) Keep the existing Delete account flow in settings.
Option A if you opened the app; option B if login is genuinely essential. Be specific either way.
Hello App Review team, Thank you for reviewing [App name] [version] ([build]). [Option A: guest access added] Users can now [browse / read / use the calculator] without an account. The app opens on [Explore], and an account is requested only when a user wants to [save favorites / post / sync across devices], which are account-based features. Sign-up now asks only for email and password, or Sign in with Apple. [New build: [number].] [Option B: login is essential] [App name] is a [client portal / team workspace] for [existing customers of X / members of Y]. Every feature works on the user's own account data: [list the main features]. There is no content that could be shown without an account. Accounts are created [at sign-up in the app / by the customer's organization]. A demo account is provided in App Review Information. Account deletion is available in [Settings > Account > Delete account]. Best regards, [Name], [email]
webviewurl points to a public page, not to the login screen.Not if every feature works on the customer's own account data. Explain that in the review notes and provide a demo account. A public page that shows what the app does for people who are not customers yet is a nice extra.
There is no fixed placement. What matters is that a new user reaches the non-account features without registering. A public start page with a "Sign in" button in the header is usually the cleanest solution.
When the purchase is tied to the account, for example a subscription that also unlocks the web version, yes; say so in the review notes. For purchases that only work on the device, reviewers expect registration to be optional.
It can be: if your core function has nothing to do with Google, people must be able to use the app without a Google login. Guest access or email login solves that, and Guideline 4.8 additionally asks for Sign in with Apple or a similar option next to Google.
The deletion requirement applies to accounts users create. For anonymous sessions, a "Clear my data" option in settings is good practice, and once a guest converts to a full account, the normal Delete account flow applies.
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.