# Overview (/docs)



Webview Kiosk is a free and open-source Android application for secure,
kiosk-style web browsing.

It can function as digital signage, a kid-friendly restricted browser, an
immersive web reader, an interactive sign-up form, a home assistant dashboard,
or simply a wall clock.

Designed for small businesses and device owners who are looking for a simple
and standalone Kiosk solution.

## 1. Features [#1-features]

### 1.1. Core / Standalone [#11-core--standalone]

* <b>Lock Task Mode (Pin):</b> prevent access to your device's home screen, apps and status bar
* <b>Secure Settings:</b> configurations are protected by biometrics, device credentials or custom password
* <b>URL Filtering:</b> use regular expressions to control web access through a URL blacklist and whitelist
* <b>Export/Import:</b> backup and restore user settings in Base64 or JSON format
* <b>Local files:</b> display images, audio, video, HTML or PDF (using Mozilla's PDF.js) in kiosk mode
* <b>Default Launcher:</b> use as the home app and launch other apps in lock task mode (kiosk)
* <b>JS Scripts:</b> supports NFC (Near Field Communication), Eruda console, Dark Reader and custom scripts

### 1.2. Remote Management / Enterprise [#12-remote-management--enterprise]

1. MQTT (Message Queuing Telemetry Transport)

   * Monitor events, update settings, execute commands and build custom automations using the API
   * Requires an MQTT broker (e.g. Mosquitto, EMQX, HiveMQ, or their HomeAssistant integrations)

2. UnifiedPush

   * Send commands and update settings via a decentralised push notification system
   * Requires a distributor application (e.g. sunup, ntfy, gCompat-UP)

3. Managed Configurations (App Restrictions)

   * For fully-managed (company-owned) devices, settings can be remotely configured via an MDM/EMM provider
   * Advanced users using a device policy controller (e.g. Test DPC or OwnDroid) can also enforce configurations locally

## 2. Permissions [#2-permissions]

* <b>INTERNET</b>: for general web browsing
* <b>CAMERA</b>: (optional) for use with web apps that requires photo/video capture
* <b>RECORD\_AUDIO</b>: (optional) for use with web apps that requires audio capture
* <b>MODIFY\_AUDIO\_SETTINGS</b>: for routing audio (microphone will not work without this)
* <b>ACCESS\_FINE\_LOCATION</b>: (optional) for web apps that needs precise geolocation
* <b>ACCESS\_COARSE\_LOCATION</b>: (optional) for web apps that needs approximate geolocation
* <b>NFC</b>: for reading and writing NFC tags using the device's NFC hardware
* <b>INSTALL\_SHORTCUT</b>: for adding home screen launcher shortcuts on Android 7.1 and below
* <b>QUERY\_ALL\_PACKAGES</b>: to find launchable apps, device owners and lock task packages
* <b>POST\_NOTIFICATIONS</b>: (optional) for lock task mode (kiosk) launches and MQTT
* <b>FOREGROUND\_SERVICE</b>: for persistent notification and management with lock task and MQTT
* <b>FOREGROUND\_SERVICE\_SPECIAL\_USE</b>: provides a return mechanism for opening apps in kiosk
* <b>USE\_BIOMETRIC</b>: replaces USE\_FINGERPRINT from Android 9.0 onwards
* <b>USE\_FINGERPRINT</b>: use fingerprint hardware when accessing settings or unlocking kiosk
* <b>WAKE\_LOCK</b>: to optionally wake the screen when receiving MQTT commands
* <b>WRITE\_EXTERNAL\_STORAGE</b>: for downloading files in Android 9.0 and below
* <b>API (Dhizuku)</b>: to request shared device owner privileges

## 3. Contact [#3-contact]

### 3.1. Questions/Feature Requests [#31-questionsfeature-requests]

Create a `Q&A` for questions and `Ideas` for feature requests on
[GitHub discussions](https://github.com/nktnet1/webview-kiosk/discussions).

### 3.2. Bugs/Issues [#32-bugsissues]

Report bugs by creating a [GitHub issue](https://github.com/nktnet1/webview-kiosk/issues)
describing the problem and how it can be reproduced.

Please also include your device model, app version and android version.

### 3.3. Other [#33-other]

For all other enquiries, please reach out to [support@webviewkiosk.nktnet.uk](mailto:support@webviewkiosk.nktnet.uk)

## 4. Alternatives [#4-alternatives]

* [Fully Kiosk Browser Lockdown](https://www.fully-kiosk.com) (feature-rich, but not a free kiosk solution)
* [Web Kiosk](https://github.com/screenlite/web-kiosk) (developed by Screenlite)
* [FreeKiosk](https://github.com/RushB-fr/freekiosk) (developed by Rushb-fr)
* [Kite AOS](https://github.com/andrew-malitchuk/kite-aos) (developed by andrew-malitchuk)
