S Syllable Digital

Legal · TeamStreamer

TeamStreamer Privacy Policy

How Syllable Digital LLC handles your information in the TeamStreamer app.

Last updated · June 17, 2026


The short version: TeamStreamer has no backend of its own. Your stream keys, login tokens, match data, recordings, and team rosters live on your device. The only data that leaves your device goes to third parties you choose to connect to or enable — the streaming platform you broadcast on (Twitch, YouTube, or Facebook), the app store that processes your purchase, our crash-diagnostics provider (on by default; you can turn it off), our anonymous product-analytics provider (only if you opt in), and — if you use the optional cloud backup — your own Google Drive, where the data is stored end-to-end encrypted. The general Syllable Digital Privacy Policy covers our website.

Syllable Digital LLC (“we,” “us”) publishes the TeamStreamer mobile app (“TeamStreamer,” the “App”). This Privacy Policy explains what information the App handles, where it is stored, and the limited circumstances in which it leaves your device.

01Information stored on your device

The following is created or entered by you and stored locally on your device. It is not transmitted to Syllable Digital LLC under any circumstance.

DataWhere it livesNotes
Stream keys for Twitch / YouTube / FacebookOS keychain (iOS Keychain, Android Keystore)Hardware-encrypted by the operating system. Used only at the moment of connecting to your chosen streaming platform.
OAuth tokens for connected platformsOS keychainHardware-encrypted. Auto-refreshed before expiry; revocable by signing out.
In-app purchase receiptsApp-private storageSigned by Apple / Google. Used to confirm your subscription or bundle entitlement.
Team rosters and opponent historyApp-private storageThe names and colors of teams you have created. Stays on your device unless you use the optional encrypted backup (§2.6).
Match scoring history and highlight tagsApp-private storageThe scoring log saved alongside each match. Stays on your device unless you use the optional encrypted backup (§2.6).
Local match recordings (video files)Device filesystem (app-private until you share)Saved as fragmented MP4 in app-private storage. Moved to your device’s library only when you explicitly share or save.
PreferencesApp-private storageResolution, overlay-in-recording, theme, analytics opt-in, and other settings you’ve chosen.

Some of the data above — including your stream keys and OAuth tokens — can leave your device only if you choose to use the optional encrypted Backup & Restore feature, and only inside an end-to-end-encrypted file that we cannot read. See §2.6.

02Information that leaves your device

2.1 Streaming platforms (Twitch, YouTube, Facebook)

When you start a live stream, your encoded video and audio are transmitted to the streaming platform you have selected. That platform — not Syllable Digital LLC — receives the broadcast and is solely responsible for what happens to it from that point forward, including recording, distribution, and viewer-side handling. Their privacy practices are described in their own policies:

When you connect a streaming platform, the App reads a small amount of public profile metadata from that platform’s API to confirm your account is eligible to broadcast: for Facebook, whether professional mode is enabled; for YouTube, your subscriber count. Some additional public profile fields — such as your Facebook follower count and account creation date — may be read for display only and do not affect eligibility. All of this metadata is used on-device only and is not sent to Syllable Digital LLC.

All of the App’s built-in streaming destinations use RTMPS (encrypted streaming). The App blocks cleartext rtmp:// connections to Twitch, YouTube, and Facebook before any connection is attempted, because an unencrypted connection would transmit your stream key in the clear. Cleartext RTMP is permitted only to a self-hosted or otherwise unknown relay that you operate and control.

2.2 App store billing (Apple / Google)

Subscription purchases (sport Pro subscriptions at $1.99/month or $19.99/year) and the All Sports Bundle ($49.99 one-time) are processed by the Apple App Store or the Google Play Store. Syllable Digital LLC never sees your payment card, billing address, or other purchase-payment information. We only receive a store-signed receipt confirming that an active subscription or completed purchase exists. To manage or cancel a subscription, use your device’s App Store or Google Play subscription settings.

2.3 Analytics (optional, opt-in)

When you first launch the App, we ask whether to enable product analytics. Analytics are off by default and stay off unless you explicitly enable them. You can change your choice at any time in Settings → Privacy.

If you opt in, the App sends anonymized event data to PostHog (posthog.com/privacy), our analytics provider. We use this to understand which features are used and to diagnose performance and stability problems.

  • What we send: the name of the screen you are on, actions you take (e.g. “stream started,” “match highlight tagged”), and basic device context (OS version, device manufacturer, app version, locale).
  • What we do not send: your name, email address, account login, stream key, OAuth tokens, video or audio content, scores, team rosters, opponent names, or any other content you have entered into the App. We do not collect IP-based geolocation; PostHog’s server-side IP-to-geo lookup is disabled.
  • How you are identified: by an opaque random identifier (“install ID”) generated on first launch and persisted on your device. It is not tied to any account or personally identifying information.

Diagnostic events are rate-limited per session to avoid duplication on degraded networks.

2.3a Crash diagnostics (on by default; separately controllable)

Anonymized crash and error diagnostics are sent to Google Firebase Crashlytics (firebase.google.com/support/privacy) so we can find and fix bugs that the App’s product analytics cannot see — in particular, problems originating in the native video, encoding, and networking layers. Unlike product analytics, crash diagnostics are on by default. You can turn them off at any time in Settings → Privacy → Crash reports. The two switches are independent: disabling product analytics does not disable crash diagnostics, and vice versa.

  • What we send: the type and message of the error, a stack trace, the App version, the OS version, and the device model. Stream keys, OAuth tokens, UUIDs, and URLs are stripped from error messages and stack traces before they leave your device.
  • What we do not send: your name, email address, account login, stream key, OAuth tokens, video or audio content, scores, team rosters, opponent names, or any other content you have entered into the App.
  • How you are identified: if — and only if — you have also enabled product analytics, the same opaque install ID described in §2.3 is attached to your crash reports, so a crash can be correlated with the matching session. If you have not enabled product analytics (or have opted out), your crash reports carry no install ID and are not linked to any identifier.

2.4 Advertising (when applicable)

If you have not purchased an ad-removal entitlement, Google AdMob serves ads at limited points in the App: a banner ad during set breaks, and optional rewarded video ads that you can choose to watch to unlock the external-camera and clip-export free trials. AdMob may use device advertising identifiers and standard ad-network telemetry to serve and measure those ads. AdMob’s practices are described at policies.google.com/technologies/ads.

The App uses Google’s User Messaging Platform (UMP) consent flow to collect any advertising consent required in your jurisdiction (including under the EU GDPR and ePrivacy regimes). On iOS, you may also see Apple’s App Tracking Transparency prompt before any advertising identifier is used. You can change your advertising consent later via the in-app settings or by re-running the consent prompt.

2.5 Companion-device pairing (when used)

If you pair a second device as a companion camera, the two devices communicate directly over your local Wi-Fi network. Pairing relies on a short-lived (≤180-second) secret displayed as a QR code on your primary device. The secret itself is never transmitted over the network — the devices exchange only single-use, time-limited cryptographic proofs derived from it. No companion-pairing data is transmitted off your local network, and none reaches Syllable Digital LLC.

2.6 Encrypted backup & restore (optional)

TeamStreamer includes an optional Backup & Restore feature you can use to move your data to a new device. It never runs unless you start it, and it is available only with an active subscription or the All Sports Bundle. The backup includes your teams, opponent history, match and scoring history, scheduled matches, custom RTMPS server profiles, app preferences, connected-platform account details, stream keys, and OAuth tokens. It deliberately excludes your purchase/subscription records and your analytics identifiers. Your data is always encrypted on your device before it is written anywhere, and backups never pass through Syllable Digital LLC’s servers. There are two transport options:

  • Cloud (Google Drive): the App encrypts your data on your device (AES-256-GCM, with a key derived via PBKDF2-SHA256 from a passphrase you choose) and uploads the resulting encrypted file to a private, app-only folder in your own Google Drive. This is the only circumstance in which your stream keys and OAuth tokens leave your device — and they leave only inside this end-to-end-encrypted file. Google stores ciphertext only and cannot read its contents; if you lose your passphrase, the backup is unrecoverable. Your use of Google Drive is governed by Google’s privacy policy (policies.google.com/privacy).
  • Device-to-device (local Wi-Fi): the encrypted file is transferred directly between your two devices over your local network, with the encryption key carried out-of-band in a QR code. Nothing leaves your local network.

03Children and broadcast content

TeamStreamer is intended for use by adults (parents, coaches, scorekeepers, athletic staff) who broadcast youth sports matches. The App itself does not collect information from children. However, the content you choose to broadcast may include minors (athletes, families, spectators). It is your responsibility — as the operator of the broadcast — to obtain any consent required from parents, guardians, league officials, and venue operators before going live. See the Terms of Use for more on broadcast-rights responsibility.

If you become aware that a person under 13 (or the equivalent age of digital consent in your jurisdiction) has created an account with a connected streaming platform using your device, please disconnect that platform in Settings → Connections and revoke the OAuth token at the platform’s account page.

04Permissions the App requests

PermissionWhy
CameraCapture video for the live stream and local recording.
MicrophoneCapture audio for the live stream and local recording.
Local network (iOS) / Wi-Fi state (Android)Discover and pair a companion camera device, or a GoPro camera, on your Wi-Fi network.
BluetoothDiscover and connect to a GoPro camera when you use it as an external camera source.
Saving a recordingOn Android 12 and earlier, a legacy media-storage permission lets the App save a finished recording to your device when you ask it to. On newer Android and on iOS, saving or sharing a recording uses your device’s standard share sheet, which needs no standing access to your photo or video library.
NotificationsPersistent notification while a stream or recording is active (required by the OS for background streaming).

The App does not request access to your contacts, calendar, or SMS/messages. On Android 11 and earlier it declares a location permission for the sole purpose of the Bluetooth scan the OS requires in order to discover a GoPro camera — it is never used to determine or collect your location, and no location data is gathered or transmitted. Apart from recordings you explicitly choose to save, the App does not access files outside its own storage.

05Your choices

  • Stop sending analytics: Settings → Privacy → toggle off.
  • Stop sending crash diagnostics: Settings → Privacy → Crash reports → toggle off.
  • Stop seeing personalized ads: revoke advertising consent in Settings, or via your device’s advertising-identifier settings (iOS: Settings → Privacy & Security → Tracking; Android: Settings → Google → Ads).
  • Disconnect a streaming platform: Settings → Connections → tap the platform → Disconnect. The OAuth token is deleted from the device’s keychain. To fully revoke access, also remove the App from the platform’s connected-apps page.
  • Delete all on-device data: uninstall the App, or use your device’s “Clear app data” function. This deletes stream keys, tokens, team rosters, opponent history, scoring logs, and local recordings. (On Android, “Clear data” also resets the external-camera free-trial counter, by design.)
  • Delete a cloud backup: remove the TeamStreamer backup file from your own Google Drive at any time.
  • Manage subscriptions: App Store → Subscriptions (iOS) or Google Play → Subscriptions (Android).

06Data retention

Because TeamStreamer stores everything on your device, retention is in your hands. Uninstalling the App removes all on-device data (subject to your device’s backup settings, and to any encrypted backup you have created in Google Drive, which you can delete from your Drive at any time). If analytics are enabled, PostHog retains event data according to its own retention policies; you can request deletion of the data associated with your anonymous install ID by contacting us at syllable.support@gmail.com and including the install ID from Settings → Privacy → About.

07Security

Sensitive credentials (stream keys, OAuth tokens) are stored exclusively in your device’s hardware-backed keychain. They are never written to general application state or logs. The only way these credentials can leave your device is inside the optional, end-to-end-encrypted backup that you choose to create (§2.6). Local match recordings are kept in app-private storage and are not accessible to other apps unless you explicitly share them. Network connections to the App’s built-in streaming destinations use encrypted TLS / RTMPS; cleartext rtmp:// connections to known streaming platforms (Twitch, YouTube, Facebook) are blocked before connection so a stream key is never sent in the clear.

No system is completely secure. If you believe your device has been compromised, disconnect any connected platforms from within the App and revoke the corresponding tokens at the platform’s account page.

08International users

The App operates locally on your device wherever you use it. If you opt in to analytics, event data is transmitted to PostHog’s US infrastructure (us.i.posthog.com); by opting in you consent to that transfer.

09Your rights under GDPR, CCPA, and similar laws

Where applicable law gives you the right to access, correct, export, restrict, or delete personal information we hold about you, or to object to its processing, you can exercise those rights by contacting us at syllable.support@gmail.com. Because most data stays on your device, exercising your rights with respect to Syllable Digital LLC is usually limited to anonymized analytics records. To act on data held by Twitch, YouTube, Facebook, Apple, Google, or PostHog, contact those providers directly. We do not sell personal information.

10Changes to this policy

We will update this policy when the App’s data practices change. The “Last updated” date above reflects the most recent revision. Material changes will be surfaced in the App on next launch.

11Contact

Questions: syllable.support@gmail.com.