OnCourt · SignalWorks Labs Inc.
Privacy Policy
SignalWorks Labs Inc., a British Columbia corporation, is the provider, data controller, and contracting party for OnCourt.
OnCourt helps you follow sports and use your own TV service across iPhone, Apple TV, and Mac. This policy explains how SignalWorks Labs Inc. handles information when you use OnCourt.
The short version
We do not sell your personal information, show ads, or use third-party advertising or general-purpose analytics SDKs. We use information to run your account, sync your choices, deliver alerts, check purchases, and fix problems. We do not track you across other companies’ apps or websites.
Your account and paired devices
Sign in with Apple lets us verify your Apple sign-in and associate its opaque identifier with an OnCourt account ID (also called a sync ID). We do not store the name or email address from Apple sign-in. Device identifiers, session credentials, and short-lived pairing codes let your devices join that account and sync securely. Pairing is another way to connect your devices; it does not give us your Apple password.
Optional email or passkey sign-in may be available in some builds. Email sign-in stores an encrypted verified email address and a keyed lookup digest; passkey sign-in stores a public credential, not your private key. These options are separate from Sign in with Apple.
What sync stores
To keep your iPhone, Apple TV, and Mac in sync, our service stores your app settings and viewing setup with your account: favorites, preferences, reminders, viewing history, and feed feedback. It also stores some names that come from your provider and guide: the name you gave each provider, the names and IDs of channels you have saved, taught, chosen, or recently played, channel category names, and, for games OnCourt has prepared, the programme title and time it found in your guide. Those guide listings expire within 36 hours and are removed at the next sync. We also store a short code made from each provider’s address and username (never your password) so your devices can tell providers apart, and the name and model of each linked device. This tells us which channels and games you use.
This data is sent over encrypted (HTTPS) connections and stored on Cloudflare, which runs our backend. It is not end-to-end encrypted, so our service can read it. We use it only to keep your devices in sync, we do not sell it or share it for advertising, and it is deleted when you delete your account. It never includes your provider passwords, playlist files, guide files, or playable stream links. Prepared links identify channels so a device can get a fresh link from your provider.
Your TV provider
Provider passwords, playlist contents, downloaded guide files, and playable stream links are used on your devices. To connect your own devices, OnCourt can relay an end-to-end encrypted envelope containing provider setup secrets. Our service stores the encrypted envelope but cannot decrypt it. Decryption keys stay on your devices. The provider and channel names used for sync are not encrypted this way; see What sync stores. Read the provider privacy explainer.
Guide matching
Guide matching and supported AI guide enrichment run on your device. We do not upload your playlist or guide files, and we do not send them to outside AI services. What sync stores lists the channel, provider, and programme names your account does keep.
Notifications and purchases
If you enable notifications, we store push delivery tokens and the preferences needed to send alerts. Apple and, on iPhone, Expo deliver notifications. You can turn notifications off in device settings.
Apple processes purchases. RevenueCat helps us check purchase history and subscription access across devices. We use your OnCourt sync ID as the RevenueCat App User ID. We do not receive your payment card details. Apple and RevenueCat handle purchase records under their own policies.
Report a Problem
The apps keep a limited local record of technical events, counts, timings, app/build versions, and fixed error categories. It excludes provider names, channels, credentials, URLs, media, account IDs, and free text. The rolling record holds at most 360 events over 15 minutes. Up to five saved reports and twelve preparation summaries stay on the device for up to seven days. Reports are sent only when you choose Send. A sent report has a random support code and is kept by our service for up to 14 days. You can send that code to support. On iPhone you can also choose to export a saved report.
If you email us, we receive your email address and whatever you include. Please do not send provider credentials, playlists, stream links, or payment card details.
Beta builds only: health summaries
TestFlight and internal beta builds may share a small health summary to help us understand whether the beta works. It contains counts, timing buckets, fixed outcome categories, platform and build information, and an opaque account ID plus a random installation ID. It can describe launch, playback, preparation, sync, provider count, guide freshness, and subscription status. It contains no provider or channel names, favorites, URLs, IP addresses, media, or free text. Summaries are sent at most six times per day per device and kept for 30 days. Turn off “Share beta health summary” in Settings to stop sending them. This feature is planned for the beta; it is off in App Store builds.
Service operation and other services
Cloudflare runs our backend. It processes network information such as IP addresses to deliver and protect requests. Our service keeps per-account request counts and technical usage totals to control cost and diagnose reliability. These counters do not include provider content and are retained for 62 days. Operational logs may include request timing, routes, error information, and public sports identifiers. These logs can include your IP address.
These legal and support pages are hosted on Netlify. Netlify may process network information such as IP addresses to deliver and protect the site, and keeps its own logs under its own policy.
Scores, schedules, team information, and artwork come from ESPN and other public sports sources. Your device may contact those services directly, and it contacts your TV provider when downloading its guide or playing content. They receive the network information needed to answer those requests and apply their own policies. The Apple Foundation Models on-device path processes prompts locally rather than sending them to our servers. On-device model assistance on Mac is planned and is not available in every build.
Optional Discord community
The OnCourt Discord is an optional external community service. Discord processes account information and posts under its own privacy policy, and content visibility depends on the server and channel settings. SignalWorks Labs Inc. does not add tracking or analytics SDKs to this community link.
How long information stays
Account and synced settings remain until changed or deleted; there is no general automatic expiry for the account. Pairing codes expire after 10 minutes. Transfer records have their own expiry; account credential envelopes are retained as part of account sync. Saved reports have the limits above. Push registrations have no automatic expiry; deleting your account removes the push registrations of devices linked to it. Other caches expire or are replaced as the app runs. Billing records held by Apple or RevenueCat, support email, and infrastructure logs have separate retention rules; we have not set a single deletion deadline for those records.
Delete your account
On iPhone, open Settings, find the account controls, and choose Delete account, then confirm. A successful request removes the server account mapping and synced account data and invalidates account sessions. Deletion starts when you confirm. It may remain pending if local cleanup or a server request cannot complete; follow the pending status in Settings or contact us. Server-side deletion normally completes right away; if something blocks it, email us and we will finish it within 30 days. Deletion does not cancel an Apple subscription. It also does not erase copies already on other devices, separately submitted problem reports, support email, or records held by Apple or RevenueCat. The deletion controls offer local-data choices; clear local provider data on each device if you want every copy removed. On Apple TV or Mac, use the account’s iPhone or contact support for deletion help; unlinking a device is not account deletion. See Support for cancellation and deletion help.
Your choices and rights
We are based in Canada. Data may be processed in Canada, the United States, or other countries where our service providers operate; privacy laws may differ. We use data to provide the service you request, protect and improve its reliability, meet legal duties, and, where required, with your consent. You can withdraw optional consent without affecting earlier processing.
Depending on where you live and which law applies, including Canada’s PIPEDA, the EU/UK GDPR, or California’s CCPA, you may ask to access or receive a copy of your information, correct it, delete it, or restrict or object to its use. You may have a right to transfer it and to complain to your privacy regulator. We do not sell or share personal information for cross-context advertising, and we do not treat you unfairly for exercising your rights. Email oncourtsupport@gmail.com; we may ask for enough information to verify the request without asking for your provider password.
Children and changes
OnCourt is not directed to children under 13. If you believe a child has provided personal information, contact us so we can investigate and remove it where appropriate. We update this page when our practices change and change the date above. We will give additional notice or request consent when required.