Kad povežete YouTube kanal sa Titlomatom, Google vam pokaže ekran sa ovom rečenicom:
"View, edit, and permanently delete your YouTube videos, ratings, comments, and captions."
Većina ljudi tu pomisli „obrisati moje snimke?" i klikne nazad. To je razumna reakcija. Pišemo ovaj članak da vam pokažemo šta zaista tražimo, a šta ne.
Zašto Google traži taj scope
YouTube Data API ima nekoliko OAuth opsega. Onaj koji omogućava upload titlova na vaš video je jedini koji se zove https://www.googleapis.com/auth/youtube.force-ssl. Google ga grupiše sa ostalim „edit" pravima jer tehnički omogućava izmjenu objekata na vašem kanalu. Uključujući i brisanje. To je Google-ova kategorizacija, ne naša namjera.
Kratko: ne postoji „samo upload titlova" varijanta. Da bi Titlomat radio ono za šta ste se prijavili. Automatski učitavao bosanski i engleski caption track na vaš video. Moramo tražiti opseg koji formalno može i više od toga.
Šta naš backend zaista radi
Ovo su svi pozivi prema YouTube Data API-ju iz našeg koda, redom kako se dešavaju:
channels.list: odmah nakon povezivanja, da pročitamo ID, naziv i thumbnail vašeg kanala. Čuvamo ih da znamo kako se zovete.videos.list: kad pokrenete obradu snimka, da pročitamo metapodatke (naslov, opis, jezik, dužinu). Ne čitamo komentare, ne čitamo statistiku.captions.insert: kad je transkript spreman, da učitamo SRT na vaš snimak kao novi caption track imenovan „Titlomat (bs)" ili „Titlomat (en)".captions.update: ako ste prethodno objavljen titl ručno mijenjali u našem review UI-ju, ažuriramo postojeći caption track umjesto da napravimo duplikat.
I to je sve. Pet poziva, jasan ulaz, jasan izlaz.
Šta nikad ne radimo
Iako nam scope tehnički dozvoljava, naš kod nikad ne poziva sljedeće:
videos.delete: ne postoji u našoj kodnoj bazi.videos.update: ne mijenjamo vaš naslov, opis, kategoriju, niti privatnost snimka.comments.list/commentThreads.list: ne čitamo komentare ispod snimka. Nikad.subscriptions.list: ne čitamo ko vas prati niti koga vi pratite.channelSections.update: ne diramo organizaciju vašeg kanala.
Kao dodatnu sigurnost, naš YouTube API klijent ima spisak dozvoljenih metoda: ako bi se ikad u budućnosti slučajno dodao poziv kojeg nema na spisku iznad, kod bi odbio da se izvrši. To nije zabrana spolja. To je interna zaštita od regresije.
Limited Use: Na šta se obavezujemo
Google ima posebnu klauzulu pod nazivom API Services User Data Policy: Limited Use koja ograničava šta smiju da rade aplikacije sa pristupom korisničkim podacima preko osjetljivih opsega. Mi se obavezujemo na sve tačke:
Ova ograničenja su pismena obaveza i preslikavaju se u našim Uvjetima korištenja i Politici privatnosti.
Kako u dvije sekunde povući pristup
Bilo kad, bez objašnjenja, možete:
- Otvoriti myaccount.google.com/permissions,
- Pronaći „Titlomat" u spisku,
- Kliknuti „Remove access".
Google istog trenutka opoziva refresh token, naš sistem prima 401 na sljedeći pokušaj sinhronizacije i automatski prevodi kanal u status disconnected. Tokeni se brišu iz naše baze u roku od 24 sata.
Drugi način: kroz naš UI, Postavke → YouTube kanali → Odspoji. Iste posljedice, samo radi i kad Google ima problema sa krajnjom tačkom za opoziv.
Šta slijedi
Ako vam ovo nije dovoljno transparentno, ostavili smo punu specifikaciju u Politici privatnosti, poglavlje 4.5. Tamo svaka kategorija podataka ima rok čuvanja, pravni osnov obrade i ko sve ima pristup.
Nemamo skrivenih opsega. Nemamo pozadinskih poslova koji čitaju komentare. Nismo „YouTube companion" koji vas prati po cijelom Google-u. Radimo jednu stvar. Učitavamo titlove. I tražimo tačno onoliko pristupa koliko je za to potrebno.
Povežite kanal za 30 sekundi
Pet API poziva, jasan ulaz, jasan izlaz, dvije sekunde za opoziv. Probajte besplatno. Bez kartice, prvu sedmicu plaćamo mi.



