Application

The Debate Club

The Debate Club is an application that publishes our own recorded debates, and short clips cut from them, to our own YouTube channel. It is built and operated by The Debate Club, a free, volunteer-run community that holds a live online voice debate every Saturday at 11am IST. Our community site is thedebateclub.info.

Who uses this application

We do, and only we do. It signs in to exactly one Google account — the one that owns The Debate Club’s YouTube channel — and it is operated by a Debate Club administrator on their own computer. It is not distributed, sold, published to an app store, or offered to anyone else. It has no sign-up, no accounts, and no user interface that any member of the public can reach. There is no second user, and by design there cannot be.

What it does

Publishing a 90-minute debate, plus the week’s clips, by hand every single week is more work than a volunteer community can sustain — and when it does not get done, the debates simply do not reach anyone. This application does that publishing work.

  1. 1 · Takes in the recording
    After each Saturday debate, an operator drops the Zoom recording and its transcript into a folder on their own computer. Nothing is uploaded automatically and there is no server.
  2. 2 · Selects and renders clips
    It picks the strongest contributions, cuts them into short vertical videos, and renders captions and an animated character for each speaker. All of this runs locally.
  3. 3 · Waits for a human
    The operator watches every clip on a local review page and approves or rejects each one. The application will not publish anything that has not been approved.
  4. 4 · Uploads to our own YouTube channel
    Only then does it call the YouTube Data API — to upload the approved videos, attach their caption tracks, write chapter timestamps into the descriptions, and switch the full debate from unlisted to public once it has been checked.

Why it needs access to our YouTube account

Step 4 above is the only part that touches Google. The application requests the minimum scopes that allow it to publish a video, caption it, and describe it — all on our own channel. Every request it makes targets a video it has just uploaded itself.

Scope requested API method What it is for
youtube.upload videos.insert To upload the debate recording and the short clips. These are videos we recorded and produced ourselves, published to our own channel.
youtube.force-ssl captions.insert To attach the English caption track to a video we have just uploaded. Most of our audience watches without sound, so captions are how the debates are actually understood. The narrower youtube.upload scope does not permit caption uploads.
youtube.force-ssl videos.update To write timestamped chapters into the description of a video we have just uploaded, and to change it from unlisted to public once a person has reviewed it. Again, youtube.upload does not permit either.

What it does not do

  • It does not read, request or store any other person’s Google or YouTube data. It has no access to any channel other than our own.
  • It does not rate, comment, subscribe, or delete. It never calls a delete method, on our channel or any other.
  • It does not read viewer data, analytics, or subscriber information.
  • It does not transfer Google user data to anyone, and there is no third party to transfer it to. Nothing leaves the operator’s machine except the uploads themselves.

What it stores

One OAuth refresh token for our own channel, held on the operator’s own computer so that publishing does not require re-authorising by hand every week. No other Google data is stored. The authorising administrator can revoke it at any time from their Google account permissions page, which immediately and permanently stops the application from using the API.

Our use of YouTube API Services is governed by the YouTube Terms of Service, and Google’s handling of any data it receives is described in the Google Privacy Policy. Full details of what we collect and how to have it deleted are in our Privacy Policy.

Contact

thedebateclub.info@gmail.com