Legal

SportSongs Privacy Policy

Last updated:

TL;DR: Your teams, lineups, and song choices stay on your device and in your own private iCloud, unless you choose to share them with a share code. SportSongs uses a random per-install identifier — never your name — to keep the AI announcer service fair and to collect pseudonymous usage analytics and crash reports. Starting with version 3.9, SportSongs shows no ads. We don't track you across other apps, sell your data, or share it with data brokers.

1. Overview

This Privacy Policy explains how Rocky River Software, LLC handles information in connection with the SportSongs iPhone application. We take privacy seriously and designed SportSongs to keep most app data on your device, to keep what little leaves your device unconnected to your name, and to limit network requests to the services needed to operate music playback, the AI announcer, subscriptions, basic analytics, and (in versions 3.8 and earlier) ads.

Starting with version 3.9, SportSongs does not show ads, in the free version or in SportSongs Pro. On version 3.8 and earlier, the free version displays non-personalized banner ads through Google AdMob until you update. You can upgrade to SportSongs Pro through an Apple In-App Purchase to unlock additional premium features.

2. What We Collect, and Why

We designed SportSongs to collect as little as possible, and to keep what little there is unconnected to your name. Here is everything that leaves your device, and why.

The announcer voice

When you use the AI announcer, the player names and any announcer text you type are sent to our voice service and our text-to-speech provider (ElevenLabs) solely to generate the spoken audio you hear. We do not store these names on our servers tied to you — the generated audio is cached by a content fingerprint, and the text itself is discarded after synthesis. We never use this text for advertising or sell it.

If you prefer, you can supply your own ElevenLabs API key. In that case your announcer text and key are sent directly from your device to ElevenLabs, not through our service, and your key is stored securely in the iOS Keychain.

Keeping the voice service fair

Each install has a random identifier that our voice server uses to apply fair-use limits and prevent abuse of the service. On supported devices we also use Apple's App Attest to confirm that requests come from a genuine, unmodified copy of the app — a security check that contains no personal information. These identifiers are tied to usage records on our server, but not to your name, email, or any account (there are no accounts).

App analytics

To understand where new users get stuck and to fix crashes, we collect usage events (for example: "a game session started," "the paywall was viewed"), crash and performance counts, and basic device information (device model, iOS and app version, language, region setting, and time-zone offset). This analytics processing is handled by TelemetryDeck, a privacy-focused analytics service. These events are tied to a random, hashed per-install identifier — the same identifier our voice service uses for fair-use limits — and never to your name, your players' names, your team name, or the songs you choose. That makes them pseudonymous rather than anonymous: we could connect them to that install's voice-service usage, but not to a person. We do not use Apple's advertising identifier (IDFA), and we do not track you across other apps or websites.

Ads

Starting with version 3.9, SportSongs shows no ads and contains no advertising or ad-measurement software at all, in the free version or in SportSongs Pro. Nothing about your use of the app is shared with an advertising network.

If you are still on version 3.8 or earlier, the free version shows ads through Google AdMob. We request non-personalized ads — ads are not targeted using a profile of you, and we do not ask to track you across other companies' apps and websites. Google may use limited, non-identifying signals to measure ads (for example, Apple's privacy-preserving SKAdNetwork). See Google's policies for how AdMob handles ad data. Updating to the latest version removes AdMob entirely.

Subscriptions

Purchases are handled entirely by Apple through the App Store. We never see or store your payment details. Our analytics record which plan was chosen and whether a purchase or restore succeeded, so we can see where checkout fails.

Your library and iCloud

Your teams, lineups, rosters, and song choices stay on your device and sync through your own private iCloud account. Rocky River Software cannot see that data unless you choose to share it with a share code.

Share codes

When you create a share code, the board you are sharing (its name, tile titles, songs, and start times) is stored on our share-code service, which runs on Cloudflare, so another coach can load it. The code is stored with a security key identifier from Apple's App Attest for the device that created it, to prevent abuse.

Starting with version 3.9, your roster (team name, age group, player names, numbers, pronunciations, and positions) is included only if you turn on "Include my roster," which is off by default. In version 3.8 and earlier, a share code includes your roster.

A share code stays available for up to 366 days: each time it is opened, its expiry is extended, up to that limit. The coach who created it can revoke it at any time from the app, which deletes it from our service.

Data we do not collect

SportSongs does not collect, store, or transmit any of the following to Rocky River Software:

  • Your email address, phone number, or home address — unless you contact us directly for support
  • Account logins or passwords (there are no accounts)
  • Music provider passwords or Apple ID payment credentials
  • Location data
  • Contacts, calendars, or photos
  • Payment or financial information
  • Health, fitness, or other sensitive personal data
  • Apple's advertising identifier (IDFA), and no cross-app or cross-website tracking

We do not sell your data, share it with data brokers, or track you across other apps and websites.

3. Music Provider Access (Apple Music & Spotify)

To function correctly, SportSongs may need permission to access your selected music provider on your device. This access is used only to:

  • Play songs from your Apple Music or Spotify account
  • Read song metadata such as title, duration, album artwork, and playback capabilities
  • Access playlists so you can assign songs to tiles

Music playback is handled by Apple's frameworks for Apple Music or Spotify's Web API for Spotify on your device. SportSongs does not transmit your music library or playlist details to Rocky River Software servers.

4. Data Stored on Your Device

SportSongs stores a small amount of configuration data locally on your iPhone, for example:

  • Which sport layout you selected, such as hockey or baseball
  • Tile names and tile positions you customize
  • Song identifiers linked to each tile
  • Custom clip start times you configure for each tile
  • Saved playlists, layouts, and tile assignments
  • Roster names, player names, jersey numbers, pronunciations, positions, batting orders, and walk-up song assignments
  • Imported or exported .sportsongs setup files that you choose to share, save, or import
  • Custom announcer scripts
  • ElevenLabs API key, if enabled, stored securely in iOS Keychain

This information is primarily stored on your device and is used strictly to operate the app. It is not sold. Your teams, lineups, and song choices may also sync through your own private iCloud account when iCloud is enabled on your device; Rocky River Software cannot see iCloud-synced data.

5. Server Communication

SportSongs communicates with remote services only when needed to operate app features. All communication uses HTTPS. These services are:

  • Apple services — for subscriptions, iCloud sync, and Apple Music playback
  • Spotify services — for Spotify login, playlist access, and playback
  • Google AdMob — for non-personalized ads in the free version of SportSongs 3.8 and earlier only
  • Our announcer voice service (text-to-speech) — protected by a random per-install identifier and Apple's App Attest, as described in Section 2
  • TelemetryDeck — a privacy-focused analytics service that receives pseudonymous usage, device, and crash events tied only to a random, hashed per-install identifier
  • Our share-code service — stores a board you choose to share with a share code, as described in Section 2

If you use the built-in announcer voice service without supplying your own ElevenLabs API key, announcer text is sent to a Rocky River Software-managed text-to-speech proxy endpoint, which relays the request to ElevenLabs and returns generated audio to your device. Rocky River Software does not use that flow to build user profiles or sell your data.

Rocky River Software does not log your name, your players' names, or your team name on its servers. The one place they are stored is a share code that includes a roster, as described in Section 2, until the code expires or its creator revokes it.

6. Third-Party Services

SportSongs relies on Apple-provided frameworks and, if you enable certain optional features, third-party services such as:

  • MusicKit and MediaPlayer for Apple Music access
  • Spotify Web API for Spotify access, if enabled
  • AVFoundation for audio playback
  • UIKit and SwiftUI for the user interface
  • Apple App Attest / DeviceCheck to verify genuine app installs for the announcer service
  • Google AdMob (Google Mobile Ads) for non-personalized ads in the free version of SportSongs 3.8 and earlier only
  • TelemetryDeck for privacy-focused app analytics and crash reporting

If you choose to use ElevenLabs voices with your own API key, your custom announcer scripts and API key are sent directly from your device to ElevenLabs for text-to-speech conversion. If you use the built-in announcer voice service instead, your announcer text is routed through Rocky River Software's text-to-speech proxy before being processed by ElevenLabs. See ElevenLabs' privacy policy.

If you choose Spotify as your music provider, playback is handled by Spotify's services. See Spotify's privacy policy.

Apple Music playback, subscriptions, and App Attest are handled by Apple's frameworks and services. See Apple's privacy policy.

In SportSongs 3.8 and earlier, ads in the free version are served through Google AdMob as non-personalized ads. See Google's policies. Starting with version 3.9, the app contains no advertising software.

SportSongs collects pseudonymous usage and crash analytics through TelemetryDeck, a privacy-focused analytics service. This data is tied only to a random, hashed per-install identifier, is never linked to your name or to any account, and is not used for advertising or sold. See TelemetryDeck's privacy policy.

7. Children's Privacy

SportSongs is often used by youth sports organizations and families. The app is not directed at children under 13 as end users and does not knowingly collect personal information directly from children. Player names entered for the roster and announcer are provided by the coach or operator and stay on that person's device, except in two cases described above: the announcer text-to-speech flow, and a share code the coach creates that includes the roster. Share codes are kept for at most 366 days and can be revoked by the coach who created them at any time.

If you believe a child has provided personal information directly to Rocky River Software outside of the app, for example by email, please contact us so we can delete it.

8. Security

Most SportSongs data remains protected on your device by Apple's iOS security features and your device passcode or Face ID or Touch ID, where enabled. If you enable ElevenLabs with your own API key, that key is stored using iOS Keychain, Apple's secure credential storage system.

On supported devices, Apple's App Attest is used to confirm that requests to our announcer service come from a genuine, unmodified copy of the app — a security measure that includes no personal data. Network requests used for subscriptions, cloud sync, music playback, analytics, the announcer service, and (in versions 3.8 and earlier) ads are transmitted over HTTPS and rely on the security controls of Apple, Spotify, Google, ElevenLabs, and Rocky River Software's service providers.

9. Changes to This Privacy Policy

We may update this Privacy Policy from time to time to reflect changes in the app or legal requirements. When we do, we will update the "Last updated" date at the top of this page.

Your continued use of SportSongs after any changes indicates your acceptance of the updated policy.

10. Contact

If you have any questions about this Privacy Policy or how SportSongs handles information, please contact us:

Rocky River Software, LLC

[email protected]