Ecohash

SpinViz Privacy Policy

Effective date: September 1, 2026

SpinViz is a music visualizer for Apple TV and Android TV, built by Team Ecohash to work entirely within your own home.

The short version

SpinViz collects no data. No analytics, no advertising, no tracking, no accounts, no cloud services. Everything the app does happens on your local network, between your TV and servers that you own and run.

This is what both app stores show for SpinViz:

  • Apple App Store privacy label: Data Not Collected.
  • Google Play data safety: No data collected or shared.

What the app talks to

SpinViz only connects to servers you configure or that it discovers on your own local network:

  • Music Assistant — your self-hosted music server. SpinViz discovers it via mDNS (or a manually entered address) and joins it as a synchronized player. Audio, artwork, and track metadata stream from your server to your TV and never leave your network.
  • Home Assistant (optional) — if you enable the speaker-groups/queue integration or the doorbell overlay, SpinViz calls your own Home Assistant server with an access token you provide. On Apple TV the token is stored in the device Keychain; on Android TV it is stored in the app's private storage. The doorbell overlay displays a live camera view from your own Home Assistant/camera setup on your TV; nothing is recorded, stored, or sent anywhere by SpinViz.
  • Photo provider (optional) — the ambient photo mode can show pictures from a photo server you self-host (for example an Immich library behind a rustFrame provider). SpinViz simply fetches and displays the images your server offers; it keeps no copies beyond normal short-lived caching.

If you don't set these up, SpinViz talks to nothing at all — the bundled demo track and visuals run entirely on the device.

What stays on the device

  • Settings and favorites (preset favorites, tuning options, server addresses) are stored locally on the TV.
  • A random device identifier — SpinViz generates a random UUID so your music server can tell players apart. It is not derived from hardware identifiers, identifies only the app installation, and is only ever sent to your own server on your local network.
  • On Android TV, settings may be included in Android's standard device backup (a Google service controlled by your device settings, encrypted, and never visible to us).

Diagnostics logging (development and TestFlight builds only)

Development and TestFlight/beta builds of SpinViz include a diagnostics logger that sends app logs (connection events, playback timing, errors — never audio or personal content) to a log server at a private local network address. This exists so we can debug the app on our own network; the address is not reachable from the internet, so on any other network these logs go nowhere. In public App Store and Play Store builds this logger is disabled entirely — the release build fails closed and ships no logs to anyone. There is no crash-reporting or analytics SDK in any build. If a future version ever adds an opt-in diagnostics feature, this policy will be updated first and the store labels revised accordingly.

What we never do

  • No user accounts, sign-ins, or profiles
  • No analytics, telemetry, or usage tracking in release builds
  • No advertising or ad identifiers
  • No third-party SDKs that phone home
  • No data sold, shared, or transmitted to us or to anyone else
  • No internet access required — the app is fully functional on a LAN with no WAN connection (Demo Mode needs no network at all)

Children

SpinViz is rated for all ages, collects no data from anyone, and has no chat, social, or user-generated-content features.

Changes

If a future version of SpinViz ever changes any of the above, this policy will be updated before that version ships, and the store privacy labels will be updated to match.

Contact

  • Open an issue: https://github.com/ecohash-co/spinviz/issues
  • Email: team@ecohash.co
  • Web: https://ecohash.co/spinviz/