Android unknown-sources-explained: how the modern install prompt works
If you remember tapping a single global "Unknown sources" switch on an old Android phone, that switch is gone. Here is what changed and what to do today.
What changed in Android 8
Starting with Android 8 (Oreo), Google replaced the single "Unknown sources" toggle with a per-source permission. The permission is granted to whichever app is delivering the package - usually your browser or your file manager - and only for the current install session.
What you see today
When you tap the Yono VIP Game install button, your phone first opens the install screen. If the source permission is not already on for the calling app, the system shows an install-blocked warning with a Settings button. Tap Settings, then enable installs from this source. Return to the install screen and tap Install.
Why the per-source model is safer
The per-source model limits the install permission to whichever app asked for it. A file manager that you trust for everyday documents does not get the right to install games; a browser you use for reading news does not get the right to install system tools. The permission is automatically revoked after the install session ends.
What if you do not see the warning?
If the install completes without showing the warning, your phone has already granted the source permission for this app. That is normal on second installs. There is nothing extra to do.
What about managed devices
Phones enrolled in a managed profile (work phone, school tablet) usually have the source permission disabled by the device administrator. If the Settings toggle is greyed out, install the package on a personal device or contact your administrator.
Related reading
Read install safety for the matching preflight, and first launch failed for what to do if the install succeeds but the app does not open.
Open the install route and watch the modern prompt on your phone
The per-source warning is exactly the modern behaviour explained above.
Android no longer shows one global toggle. The prompt is per-source and per-app. Here is what changes between Android 8 and the current release.
Editorial frame
Editorial frame for the android unknown sources explained hub.
Before Android 8
Older Android releases showed a single Settings → Security → Unknown sources toggle. When the toggle was on, any app could install any APK without a per-source prompt.
This model was abandoned because it gave every app on the phone permission to install another app silently. Modern malware relied on the global toggle to install payloads without user awareness.
Android 8 replaced the global toggle with per-source permissions, and Android 12 renamed the prompt to Install unknown apps. The semantics are identical.
Android 8 and later
Android 8 replaced the global toggle with a per-source permission. The first time an APK is installed from a browser or file manager, the phone asks for permission from that specific source.
The permission is per-app and per-session. After the install completes, the permission resets for the next install from a different source.
On Android 12 and above, the toggle is labelled Install unknown apps instead of Unknown sources. The path is Settings → Apps → [your browser] → Install unknown apps.
What this means for the install route
The Yono VIP Game install surface is a browser tab. The first install asks for permission from your browser; subsequent installs from the same browser do not re-prompt, but installs from a different browser do.
If you switch browsers between installs, expect a fresh prompt each time. If you switch file managers, expect a fresh prompt each time.
Managed profiles (work profile, family link, parental controls) override per-source permissions. The toggle can be greyed out if the device is in a managed profile.
If the toggle is greyed out
Confirm the device is not in a managed profile. Settings → Accounts → check for work or school accounts.
Confirm the phone is not in a restricted user mode. Switch to the device owner profile and retry the install.
If the toggle is still greyed out, use /contact/ with the device model and Android version before continuing.
Why the global toggle was retired
The global toggle gave every app on the phone permission to install another app silently. Modern malware relied on the toggle to install payloads without user awareness.
The per-source prompt requires the user to actively grant permission for each source. The prompt cannot be bypassed silently.
The per-source permission is reset after the install completes. The next install from a different source requires a fresh prompt.
The per-source prompt is shown even if the global toggle was previously on. The prompt is the new default.
What the per-source prompt looks like
On Android 8 and 9, the prompt is a dialog with a Settings button. Tapping Settings opens the app info page for the source.
On Android 10 and 11, the prompt is a dialog with an inline toggle. The toggle is in the dialog itself, not on a separate page.
On Android 12 and later, the prompt is a dialog with an inline toggle labelled Install unknown apps. The semantics are identical to the per-source prompt.
On Android 13 and later, the prompt includes a one-time warning about the source. The warning is informational; the user can proceed.
If the install still fails after the prompt
Check Storage permission. Some Android versions require the browser to have Storage permission before it can hand the APK to the installer.
Check the install surface's URL. If the URL does not match the verified install surface, the install may be blocked by the destination surface's signature check.
Check the network connection. The install requires a stable connection to the install surface.
Check the device's date and time. If the date and time are wrong, the install signature check may fail.
If the install still fails, use /contact/ with the device model and Android version.
Common per-source prompt failures
Toggle greyed out - the device is in a managed profile. Switch to the device owner profile or use /contact/.
Toggle missing - the browser does not have Storage permission. Grant Storage permission and retry.
Install still fails after the toggle - the package may have been signed with an untrusted key. Use /contact/.
Install completes but the on-device label is wrong - uninstall and use /contact/.
What to do if the install still fails
Check the source URL. The URL must match the verified install surface.
Check the network connection. The install requires a stable connection.
Check the device's date and time. The install signature check fails if the date and time are wrong.
If the install still fails, use /contact/ with the device model and Android version.
Reference list
On Android 8 and 9, the prompt is a dialog with a Settings button.
On Android 10 and 11, the prompt is a dialog with an inline toggle.
On Android 12 and later, the prompt is a dialog labelled Install unknown apps.
On Android 13 and later, the prompt includes a one-time warning about the source.
Managed profiles override per-source permissions. The toggle can be greyed out.
Reference comparison table
On Android 8 and 9, the prompt is a dialog with a Settings button.
On Android 10 and 11, the prompt is a dialog with an inline toggle.
On Android 12 and later, the prompt is labelled Install unknown apps.
On Android 13 and later, the prompt includes a one-time warning about the source.
Managed profiles override per-source permissions.
The per-source permission resets after the install completes.
Closing reference
Android 8 replaced the global toggle with per-source permissions. The permission is per-app and per-session, not a global unknown-sources setting.
On Android 12 and later, the toggle is labelled Install unknown apps. The semantics are identical; the label is a cosmetic change.
If the toggle is greyed out, the device is in a managed profile. Switch to the device owner profile or use /contact/.
If the install still fails after the prompt, check Storage permission, the source URL, the network connection, and the device's date and time.
Editorial closer
Android 8 replaced the global toggle with per-source permissions. The permission is per-app and per-session, not a global toggle.
On Android 12 and later, the toggle is labelled Install unknown apps. The semantics are identical.
If the toggle is greyed out, the device is in a managed profile. Switch to the device owner profile or use /contact/.
If the install still fails after the prompt, check Storage permission, the source URL, the network connection, and the device's date and time.
Managed profiles override per-source permissions. The toggle can be greyed out.
Detailed readme on the unknown-sources article
Android 8 replaced the global toggle with per-source permissions. The permission is per-app and per-session, not a global toggle.
On Android 12 and later, the toggle is labelled Install unknown apps. The semantics are identical.
If the toggle is greyed out, the device is in a managed profile. Switch to the device owner profile or use /contact/.
If the install still fails after the prompt, check Storage permission, the source URL, the network connection, and the device's date and time.
Managed profiles override per-source permissions. The toggle can be greyed out.