Skip to content

Store compliance

Sollar ships through the App Store and Google Play. Everything a mini app can do is bounded by what those two stores permit a host app to offer, and the two are not symmetric in the way most people expect.

Page
Apple App StoreGuideline 4.7 clause by clause, plus 2.5.6, 3.1.1 and 3.1.3(c)
Google PlayThe interpreter exemption, and the missing B2B carve-out
ChinaICP filing, and why it sits on your critical path

Apple has a policy that names mini apps and permits them. Guideline 4.7, “Mini apps, mini games, streaming games, chatbots, plug-ins, and game emulators”, is an explicit authorisation with explicit conditions.

Google does not. There is no Play policy for superapps or mini apps. Android’s legality runs through a generic exemption in the Device and Network Abuse policy, which exempts from the downloaded-code prohibition anything running “in a virtual machine or an interpreter where either provides indirect access to Android APIs (such as JavaScript in a webview or browser).”

This is the reverse of the usual intuition — iOS is the side with explicit permission, Android the side depending on a generic reading. It constrains the architecture: every execution path on Android must terminate in interpreted JavaScript with indirect, mediated access, never a native code loader.

Everything runs in a WebView, and that is not negotiable

Section titled “Everything runs in a WebView, and that is not negotiable”

Guideline 2.5.6 requires WebKit, worldwide. The entitlement that would allow otherwise is EU-only and out of reach. So a mini app is a web application — see Architecture.

Guideline 4.7.2: “Your app may not extend or expose native platform APIs or technologies to the software without prior permission from Apple.”

Every native capability added to the Sollar bridge requires Apple’s prior approval. That is a business-development timeline, not a sprint. It is why camera, geolocation and files are standard Web APIs here and not bridge methods, and why sollar.getDeviceContacts() does not exist.

A mini app cannot take money inside Sollar. No sollar.requestPayment(), no equivalent of WeChat Pay or my.tradePay. If you arrive from WeChat you will look for it, so it is stated here rather than left as silence.

Money works through a contract and an invoice, outside the app — and the rules for that differ by platform:

iOSAndroid
Baseline3.1.1 requires In-App Purchase; licence keys, QR codes and crypto are prohibitedPlay Billing required
B2B exemptionExists — 3.1.3(c) Enterprise Services, for sales direct to organisations for their employeesDoes not exist — the policy explicitly covers “business productivity software” and “cloud software and services”

The exemption that supports the business model on iOS has no Android equivalent. On Android, the sale must be entirely outside the app — a contract, an invoice — and never an unlock inside a mini app. This is counter-intuitive and it is load-bearing, so it appears on every page where it matters.

Guideline 4.7.3: permission granted to the host does not flow to a mini app. Each asks for its own. Sollar enforces this on both platforms — see Permissions.

Guideline 4.7.1 requires content filtering, a reporting mechanism, timely response, and the ability to block abusive users. 4.7.5 requires an age rating per mini app.

Sollar provides reporting and blocking in the host’s chrome, so they do not depend on a mini app implementing them. You provide the content rating.

Guideline 4.7.4 requires an index of the software available in the app, with universal links to all of it. That is the public catalogue, and it means the catalogue cannot be closed or invitation-only.

It is a working interpretation by the Sollar team of published store guidelines, based on primary sources quoted where they are quoted. It is not legal advice, and several questions here remain open — most importantly whether the App Review Guidelines apply equally to Custom Apps distributed through Apple Business Manager, which our research could not close from a primary source. Open questions are marked as open on the pages where they arise.