Deep Happy

Privacy Policy

Last updated: 11 September 2026

Overview

Deep Happy is a native macOS app that plays internet radio streams. It has no account and no sign-in, and there is no server behind it: no Heaven8 service takes part in anything the app does, and the developer receives nothing from it. This policy says what the app keeps on your Mac, and lists — exhaustively — every connection it makes to a network.

What Deep Happy collects

Nothing.

No account, no sign-in, no advertising, no analytics, no telemetry, no crash reporting, and no tracking of any kind. There is no third-party SDK in the app, because the app has no third-party dependencies at all. Nothing about you is sold or shared, because nothing about you is collected in the first place.

What stays on your Mac

Everything Deep Happy stores, it stores locally, and none of it is transmitted anywhere.

  • Your preferences and your station list live in macOS UserDefaults, per machine. The list of stations, which one is selected, and every switch in Settings belong to the Mac you set them on.
  • Remote-control keys. Pairing two Macs establishes a long-term key, stored in the macOS data-protection Keychain — one item per paired device, filed kSecAttrAccessibleAfterFirstUnlock so that a Mac being driven with its screen locked can still use it. Those keys sit in the Keychain on the two Macs that paired, and nowhere else.
  • The system log on your own Mac. The app logs to it like any other app, and Developer mode adds a step-by-step trace of the remote-control layer. Every log message is a fixed string with fixed named parameters and no runtime interpolation, so a key or a PIN cannot reach the log by accident. Nothing in the log is transmitted anywhere; reading it is something you do on your own machine.

Every network connection Deep Happy makes

This list is exhaustive. The app makes no request that is not one of these five.

  • The stream you are playing. The app connects to the server that hosts whatever station is playing. That server necessarily sees your IP address and an ordinary HTTP request, and what it does with that is governed by that operator's own policy, not by anything on this site. Deep Happy sends it nothing about you.
  • An open station directory — only when you use it. "Find a station…" queries radio-browser.info (through its mirrors, all.api.radio-browser.info and de1.api.radio-browser.info). It sends the text you searched for and a User-Agent that identifies the app build and links to its public repository — DeepHappy/<version> (macOS; menu-bar radio player; +https://github.com/denisitpro/deep-radio) — which is what the directory's own documentation asks every client to send. The session is deliberately ephemeral: no cookies, no URL cache, nothing written into the app's container, and a ten-second timeout. The app never fetches a station's logo or favicon. radio-browser.info is an independent service with its own terms and its own privacy practices.
  • Remote control, on your own network only. One Mac drives another directly, over the LAN or a peer-to-peer Wi-Fi link, discovered with Bonjour. It is off by default — the listener does not exist until you turn it on. Pairing uses a four-digit PIN shown on the Mac with the speakers, valid for two minutes with three attempts, establishing a key by PIN-authenticated X25519 with HKDF-SHA256 keys and HMAC-SHA256 mutual proofs; every session afterwards runs over TLS-PSK. A Mac that plays accepts at most three paired controllers, and revoking one drops its connection immediately. Nothing in this path touches a server of ours or leaves your network. macOS asks for Local Network permission the first time, which is the prompt you should expect.
  • Track lookup opens your browser. The Spotify, Apple Music and Yandex Music buttons hand a search URL to your default browser. The app itself fetches nothing from those services and sends them nothing directly; from the moment the browser opens, that service's own policy applies to whatever it sees.
  • The App Store, for the subscription. Deep Happy Pro is sold by Apple. The app asks the App Store which plans exist and what they cost in your storefront, and StoreKit — Apple's own framework, running on your Mac — carries out the purchase and reports whether a subscription is currently active. Payment, payment details and billing are Apple's: the developer never sees a card number, a billing address or an Apple ID. What reaches the developer is Apple's aggregate sales reporting, which does not identify a customer.

What remote control protects against, and what it does not

What it protects. The listener does not exist until you switch it on. Pairing has to be approved on the Mac with the speakers, by reading a PIN off its screen inside a two-minute window with three attempts, and afterwards a controller has to hold the long-term key that pairing granted. Sessions are encrypted.

What it does not. The pairing service is plain TCP by construction. The session ciphersuite is pinned to TLS_PSK_WITH_AES_128_GCM_SHA256 and has no forward secrecy, because the platform API does not expose it. A four-digit PIN on a network an attacker can already see is only as strong as that two-minute window and that three-attempt budget. This is a convenience for driving your own Mac across your own room, and it is documented here rather than glossed over.

The sandbox, and the microphone

Deep Happy requires macOS 26 or later and runs inside Apple's App Sandbox. Its entitlements are app-sandbox, network.client, network.server, and a Keychain access group — the last one only because a data-protection Keychain item has to be filed under a group.

There is no microphone entitlement, and there never will be. A radio app plays audio; it has no reason to listen, and this one cannot.

Access, correction, export, deletion

There is nothing to access, correct, export or delete, because nothing about you is collected or received. Everything the app stores is on your own Mac, in your own user account, and there is no copy of it anywhere else — no server holds a profile, a history, or a station list belonging to you.

If you have a question about any of this, the feedback form is the route to the developer.

This website

The site is separate from the app: the app never talks to it. This site is static HTML with no cookies, no analytics, and no tracking scripts of any kind. The one page that sends anything anywhere is the feedback form, and it sends what you type into it — your message, an email address if you chose to leave one, and which app the message is about. That is the only thing that reaches the developer. The submission is handled by the site's hosting provider, which forwards it through a third-party messaging service to a private chat the developer reads; the message, the optional email address, and the app name all sit with that third party. Messages stay in that chat until deleted by hand — nothing removes them automatically. None of it is used for anything other than replying to you.

Like any hosted site, the provider's infrastructure may log standard web-server data (such as IP addresses) as part of normal operation, independently of Deep Happy and of anything you do in the app. Providers are described here by what they are rather than by name, so that changing one is a deployment change and not a rewrite of this page.

Who is responsible

Deep Happy is made and operated by an independent individual developer, not a company. The feedback form is the way to reach them.

Children

Deep Happy is not directed at children, and it collects nothing from anyone — which means it collects nothing from children either.

Changes to this policy

If this policy changes, the update is posted here with a new "Last updated" date above.

Contact

Questions about this policy: the feedback form.