Privacy policy
ttcast.tv lets table tennis clubs, associations and federations broadcast matches from a phone, and lets their members watch live or later. This policy explains what personal data the ttcast.tv service, website and mobile app handle, why, and what you can ask us to do with it.
Who we are
ttcast.tv is run by KOI Systems, Lda (NIF 515 385 425), Lisbon, Portugal. You can reach us at hello@ttcast.tv or on WhatsApp at +351 961 425 529.
Who is responsible for your data
Each club, association or federation that uses ttcast runs its own ttcast space, for example a members' channel at its own ttcast.tv address. That organisation decides who its members are and what gets broadcast, and it is the controller of the personal data processed through its channel: its members' accounts, the broadcasts and recordings of everyone who appears in them – its own and visiting players, coaches, officials and spectators – and data about the people who watch. KOI Systems processes that data on the organisation's behalf, under an agreement with it, and only to provide the service.
KOI Systems is the controller for data we collect for our own purposes: enquiries from clubs, our business contacts, our invoices and accounts, and the security of the ttcast platform as a whole.
What we collect
Your account
Your email address, the name your club gives you, your role (member or administrator), and which member groups you belong to, with the dates you joined or left them. Your club may add you, or you may ask it for access.
Signing in
There are no passwords. You sign in with a link or a six-character code we send to your email address. We keep your session in a cookie in your browser so you stay signed in. ttcast uses no advertising or tracking cookies.
Watching
When you open a live match or a replay, we record which match, when, and the IP address it was requested from. We use this to check that only people allowed to watch can do so, and to answer questions about who had access.
Broadcasting from the app
The TTCastTV app uses the phone's camera to scan the club's pairing QR code, and the camera and microphone to preview and broadcast matches. Video and sound go to our video provider – through our own servers first when the match has the scoreboard, which add it to the picture. They don't store recordings: they handle the video only while the match is live, and keep technical logs about the broadcast. Matches sent to YouTube go from those servers to our video provider, and from there to the club's channel. The app does not keep recordings on the phone. A phone is linked to a club with a pairing code, scanned as a QR code or typed, and the app then stores a device token so it can start broadcasts. We log each time a phone is given permission to go live.
Matches and recordings
Broadcasts show whatever the camera sees: players, coaches, officials and spectators in the hall. Matches are recorded so members can watch replays. A club chooses whether each match is private to its members or public.
Administration
Actions taken by club administrators, such as approving members or deleting recordings, are written to an audit log.
Error reports
When something goes wrong on our servers, a technical report is sent to our error-monitoring provider. Access keys and secrets are removed before it is sent.
Enquiries
If you write to us by email or WhatsApp, we keep what you send so we can reply and follow up.
What we don't do
- We don't sell personal data or use it for advertising.
- The app contains no analytics, advertising or crash-reporting tools, and it doesn't track you across other apps or websites.
- We don't use your data to build profiles of you.
- We don't sell data from YouTube or disclose it for anyone else's purposes. The providers that host ttcast process it only on our behalf.
Why we use it, and on what basis
On behalf of clubs
Signing members in, showing each person the matches they're allowed to see, broadcasting and recording matches, and keeping access logs and the audit log are all done for the club, on its instructions. The club decides why and on what legal basis it films, publishes and manages its members, for example its membership agreement, its legitimate interests, or a parent's consent. Ask your club for those details.
For our own purposes
- Answering enquiries and working with clubs: our legitimate interest in managing our relationships with clubs and the people who represent them. Where you are personally a party to an agreement with us, the basis is that agreement.
- Keeping the ttcast platform secure and working, through error reports and technical logs: our legitimate interest in a safe, reliable service.
- Invoices and accounting records: our legal obligations.
- Loading the website's fonts: our legitimate interest in showing the site as designed.
Public broadcasts
When a club makes a match public, anyone can watch it on the club's ttcast page without signing in. We still log each viewing, with its IP address, as for private matches.
If a club has connected its YouTube channel, a public match can also be broadcast live on that channel. Once on YouTube, the video is handled under YouTube's terms, Google's Privacy Policy and the club's channel settings.
YouTube
ttcast uses YouTube API Services to broadcast matches to a club's YouTube channel. By connecting a YouTube channel to ttcast, you agree to the YouTube Terms of Service, and Google's handling of your data is covered by the Google Privacy Policy.
What we read from YouTube, and why
The channel's ID and title, so the club can see which channel is connected; the live broadcasts ttcast creates for its matches, so we can start and end them; and whether each broadcast is live and how many people are watching, so the club can follow it from its ttcast panel. We don't read anything else from the channel.
What we change on YouTube, and why
For each match the club sends to YouTube, ttcast creates the live broadcast and its stream on the club's channel, keeps its title and time in step with the club's schedule, and ends it when the match is over. If the club takes the match down, we make its video private; we delete a broadcast only if it never went live. We never change or delete any other video, and never touch comments, playlists or subscriptions.
How we keep it
The access tokens Google gives us are stored encrypted and used only to run the club's broadcasts. We don't sell YouTube data, disclose it for anyone else's purposes, or use it for anything else. The providers that host ttcast process it only on our behalf.
How long we keep it
Data returned by YouTube's API – the channel's details, its broadcasts, their status and viewer counts – is kept for at most 30 calendar days; a daily clean-up deletes anything older. The access tokens are kept, encrypted, only while the channel stays connected. When a club disconnects its channel with "Desligar", we revoke access straight away and delete the tokens and all data we hold from YouTube within 7 calendar days. If access is removed through Google instead, we find out when we next check – we check regularly – and delete the data within 30 calendar days of the revocation. Afterwards we keep only a record that a channel was connected and disconnected, without any of its details from YouTube.
Deleting the data ttcast holds doesn't change anything on YouTube. Videos already on the club's channel stay there until the club removes them on YouTube. Once a channel is disconnected, ttcast can no longer change it, so making a video private or deleting it from then on has to be done by the club directly on YouTube.
Asking us to delete YouTube data
You can ask us at any time to delete the data we hold from your YouTube channel by writing to hello@ttcast.tv. We delete it within 7 calendar days of your request. This also disconnects the channel from ttcast.
Taking access back
A club can disconnect its channel at any time with "Desligar" in its ttcast panel. Access can also be removed from the Google account's third-party connections page.
Who helps us run ttcast
We use a small number of providers, each only for the job described:
- Cloudflare – receiving, recording, storing and delivering video, sending matches on to YouTube, and our domain names.
- DigitalOcean – the servers that run each club's ttcast space, and the servers that add the scoreboard to a broadcast.
- Rollbar – server error monitoring.
- SparkPost – sending sign-in emails.
- Google Workspace – our own email.
- Google (YouTube API Services) – broadcasting public matches to a club's connected YouTube channel.
- Google Fonts – typefaces on the ttcast.tv website. To load them, your browser connects to Google, which receives your IP address and basic browser details.
- WhatsApp (Meta) – if you contact us on WhatsApp, your messages and phone number are handled by WhatsApp under its own terms.
Some of these providers are based in, or may process data in, the United States. Where data leaves the European Economic Area, we rely on the EU–US Data Privacy Framework or the European Commission's standard contractual clauses.
How long we keep it
- Recordings on ttcast are deleted automatically after 30 days, or sooner if the club deletes them. Copies sent to the club's YouTube channel stay there until the club removes them on YouTube.
- Accounts are kept while you're a member of the club's channel, and deleted within 30 days of being removed.
- Viewing logs, with IP addresses, are kept for 12 months, so a club can check who watched a match across a season.
- The audit log of administrators' actions is kept for 24 months.
- Technical logs from the servers that handle broadcasts are kept for 30 days.
- Error reports are kept for 90 days.
- Backups are overwritten within 30 days, so deleted data leaves them within that time.
- When a club stops using ttcast, everything we hold for it is deleted within 90 days, except invoices.
- Invoices and accounting records are kept for as long as Portuguese law requires.
- Enquiries are kept for as long as we're in contact, and while needed for any agreement that follows.
Young players
Many clubs broadcast junior matches, and ttcast is built with that in mind. Our agreement with clubs requires them to have permission from parents or guardians before broadcasting or recording anyone under 18. That permission must cover how the match is shown: privately to members, or publicly, including on YouTube. Clubs also need to handle visiting players and anyone else filmed in the hall.
Public matches can be watched by anyone, on ttcast or on the club's YouTube channel, so we recommend junior matches are broadcast privately. A private match can only be watched by the club's approved members, or by a specific group the club chooses, such as a team's parents, and each viewing is logged.
If you want a recording of a young player removed, ask the club, or write to hello@ttcast.tv and we'll work with the club to deal with it promptly, on ttcast and on its YouTube channel.
Your rights
These rights apply to everyone whose data ttcast processes, including people who appear in a broadcast without being members, such as visiting players, officials and spectators. You can ask to see the personal data held about you, correct it, delete it, restrict or object to its use, or receive a copy to take elsewhere. Some of these rights apply only in certain circumstances. For data held on behalf of your club, the quickest route is your club's administrator; you can also write to hello@ttcast.tv and we'll work with the club to respond. We reply within one month.
Where processing relies on consent – for example a parent's permission for a child to be broadcast – you can withdraw it at any time by telling the club, or us. From then on, that processing stops, and the data it covered is erased unless there is a lawful reason to keep it. Withdrawing consent doesn't affect the lawfulness of processing carried out before you withdrew it.
To delete your account, ask your club's administrator or email us from the address you sign in with.
If you think your data has been mishandled, you can complain to the Portuguese data protection authority, the Comissão Nacional de Proteção de Dados (cnpd.pt), or to the authority where you live.
Security
Private video plays only with a short-lived, signed access token, issued after we check you're allowed to watch; a copied link stops working when its token expires. There are no passwords to leak. A paired phone keeps a device token that lets it start broadcasts for its club until it is unpaired.
Changes
If we change this policy, we'll update the date at the top. If a change affects how your data is used, we'll tell clubs before it takes effect.