Privacy

What shangOS sends, and when

No accounts, no analytics, no crash reports, no identifiers. Two optional features can use the internet, and the Offline build has neither.

What can use the network

Two features in the Standard build can open a network connection. Both are under your control. The Offline build has neither.

FeatureWhenWhat is sent, and to whom
WeatherOnly if you turn it on. Off by default.An HTTPS request to api.open-meteo.com with a coarse location (two decimals, about 1 km) of the city you chose in setup or Settings (picked from a list built into the app, so choosing it sends nothing), or else the main city of your TV’s time zone. It is never taken from GPS or looked up from your internet address. Open-Meteo sees the request and your internet address, as any website would.
Poster picturesWi-Fi and Ethernet only, by default. You can set it to Off or Always.Streaming apps publish a poster address for their Continue watching items. shangOS fetches that picture from the address the app gave. It does not fetch from addresses on your home network.

Offline, two ways

Offline mode in Settings, Privacy stops the app’s own network use immediately. The Offline build is compiled without the INTERNET permission, so Android itself refuses it any network access.

Permissions it asks for

PermissionWhyWhen
READ_TV_LISTINGSLets Up Next show Continue watching items that streaming apps share. Read only.Optional
READ_EPG_DATAGoes with the permission above: the system’s TV provider asks for both before it shares Continue watching items.Optional
PACKAGE_USAGE_STATSOrders recent apps by when you last opened them.Optional
BIND_NOTIFICATION_LISTENERLets Now Playing see media sessions. It reads media playback only, not your notifications.Optional
REQUEST_DELETE_PACKAGESLets shangOS ask Android to show its uninstall confirmation. Nothing is removed unless you confirm there.When you choose Uninstall
ACCESS_NETWORK_STATETells whether you are on Wi-Fi or Ethernet before fetching posters.System
INTERNETWeather and poster pictures. Not present in the Offline build.Standard build only

Ad blocking is separate

The optional ad and tracker filter is a setting of your TV, not a feature of the app. shangOS does not look up or send any names itself. If you switch it on, the DNS provider you chose sees the domain names your TV looks up, for every app. See the setup page for what to weigh first.

What is stored

Your settings, app order, name and cached pictures live in the app’s private storage on the TV. Cloud backup is switched off in the app’s manifest (allowBackup=false). Uninstalling removes all of it.

There are no accounts, no analytics, no crash reporting and no identifiers. This website sets no cookies and loads nothing from other sites; the only thing it remembers, in your browser, is your theme choice.

Check it yourself

All network code is in one file, Net.java, and the repository’s audit script fails if sockets or web views appear anywhere else. Settings holds all preferences in Prefs.java.

To confirm you are running the build you think you are, open Settings, Privacy, This build on the TV and compare the SHA-256 fingerprint with the one in the release notes on GitHub. This page mirrors the Privacy screen in the app.

On this page