Privacy policy
This is the same text the app itself shows on its About screen, published here so it is readable without a device in front of you.
Draft placeholder. This text has not been reviewed and must be replaced before the app is distributed. The contact details below are not yet filled in. Muralis is not published, so no version of it is in circulation under this policy.
Muralis is a kiosk launcher that displays a web dashboard you choose, on a device you own.
What the app sends to us
Nothing. Muralis has no analytics, no crash reporting, no advertising identifiers and no developer-controlled server. The developer receives no data from your device at any time.
What the app sends, and where
Only to destinations you configure yourself, and only after you configure them. Neither surface does anything until you configure it: MQTT stays off until you enter a broker address, and the local web administration stays off until you set a password. Note that a broker address alone is enough to start publishing; a broker username and password are optional, because some brokers accept anonymous connections.
MQTT.
If you enter a broker address, Muralis publishes a status snapshot to that broker on an interval you choose (10, 30, 60 or 300 seconds; 30 by default). It also publishes ahead of that interval when something worth knowing changes: your battery level, charging state, memory pressure or thermal status; any command it accepts; a dashboard reload, crash or recycle; and any change you make to its settings. That snapshot contains:
- how long the device has been running
- battery percentage, charge state, health, temperature, voltage, and the charge, current and energy counters the hardware exposes
- memory and swap in use and available, how much memory Muralis itself is using, whether the system is low on memory, and the level at which it considers itself low
- storage in use and available
- whether the network is connected, whether the system considers it validated, whether it is metered, whether it is Wi-Fi or Ethernet, the Wi-Fi signal strength, link speed and radio frequency
- the device IP address
- CPU load, the system load average, maximum CPU frequency, CPU and GPU temperatures, and the operating system's thermal status
- the dashboard address currently loaded, when it last loaded, and any load error
- how many times the dashboard view has crashed or been rebuilt, and how long ago
- the current screen brightness, whether the light sensor is setting it, and whether this device has one
- the panel's own settings: its device identifier, the stats overlay switch, and the publish interval
Muralis publishes its status snapshot as a retained message, which means your broker keeps a copy of the most recent one and hands it to anything that subscribes later, including after the panel is switched off or removed.
The Wi-Fi network name is deliberately never read or transmitted. Reading it would require a location permission, which a wall-mounted panel should not need.
The MQTT connection is not encrypted, and neither is the local web administration. Everything described above, and the credentials used to authenticate, travel in clear text over your network.
Note that the list above includes the dashboard address. If the address of your dashboard is itself something you would not want on your broker, do not enable MQTT.
Muralis also publishes an online/offline availability value, the result of any command it receives, and a Home Assistant discovery message describing the device: its identifier, the manufacturer and model reported by the hardware, and the Muralis version.
Local web administration.
If you set an administration password, Muralis listens on your local network and serves that snapshot, plus a settings page, to anyone who supplies that password. Over this surface the snapshot also carries the panel's administration details, which are deliberately never sent to the broker: the corner-tap combinations that unlock the kiosk, the port it listens on, and the broker address, port and username. Treat the administration password accordingly, since it is what protects the way out of the kiosk.
What the app stores on the device
Your dashboard address, a device identifier that Muralis generates itself, and your display and behaviour preferences. Your broker credentials and administration password are stored encrypted through the Android keystore. The dashboard view stores whatever cookies or sessions your dashboard sets, in the same way a browser would.
Muralis does not read your contacts, location, photos, files, messages, call history or microphone, and requests no permission that would allow it to.
What leaves your control
Nothing, unless you point it somewhere you do not control. If you configure a broker on the public internet, or expose the local web administration beyond your own network, the data described above travels there. Both are off by default for that reason.
Deletion
Uninstalling the app, or clearing its data, removes everything it has stored, including the encrypted credentials.
Children
Muralis is not directed at children and collects nothing about anyone.
Contact
Not yet filled in. A working contact address goes here before the app is distributed.