The browser that takes without asking

Load a WebView and the page inherits the browser's full surface: it can read storage, call geolocation, open camera, and reach the network with little more than a prompt the user has learned to click through. There is no durable, per-program boundary — the same engine that renders your content also holds the keys. A malicious or careless page takes; the user finds out later.

A mini-program runtime inverts that default. Sensitive APIs are gated behind a scope the program must declare, the user must grant, and can later revoke. The program asks for what it needs, not everything at once.

What a scoped permission model is

The runtime exposes sensitive capabilities (location, camera, address book, payment) only through declared, named scopes. The user approves each scope at first use, and the grant is tied to that program, not the whole host. WeChat documents this with its scope authorization model; Apple's app guidelines and OWASP both treat scope and user consent as baseline mobile hygiene. The W3C Permissions specification codifies the same ask-then-access pattern for the open web.

Where the gap shows up

StepWebView (silent access)Mini-program runtime (scoped)
API accessInherited on loadDeclared scope plus consent
User controlClick-through promptGrant per program, revocable
Blast radiusWhole engineOne program
Audit trailHard to traceDeclared scope list
RevocationClear app dataRevoke in settings

The result is a boundary the WebView never had: a program can only do what the user explicitly allowed.

Why asking beats taking

A scoped, revocable model means a leaky or malicious program cannot silently exfiltrate the device's capabilities — the permission list is visible and the grant is removable. It also means the host app's own data stays outside the program's reach, because the program never received broad engine-level access.

How Cross Mini App applies it

Cross Mini App runs programs inside a runtime that gates every sensitive API behind a declared, user-consented scope, with revocation in the host settings. A program gets exactly the capabilities it asked for and nothing else. You stop inheriting the browser's keys and start granting access on purpose.

That is the difference between a page that takes the engine's power and a program that earns the user's trust.

Sources