Gizlilik Politikası
Bu politika, YouTube Translator Chrome uzantısının hangi verileri işlediğini, bu verileri nasıl kullandığını ve kullanıcıların haklarını açıklar. Uzantıyı yüklediğinizde ve kullandığınızda bu politikayı kabul etmiş sayılırsınız.
Özet: YouTube Translator kişisel kimlik bilgisi toplamaz, analytics veya izleme kodu kullanmaz. Kullanıcının OpenAI API anahtarı cihazda yerel olarak saklanır; çevirilecek altyazı metni yalnızca OpenAI'ın API sunucusuna iletilir. Geliştirici kullanıcı verilerine erişmez.
1. Politikanın kapsamı
Bu gizlilik politikası yalnızca YouTube Translator Chrome uzantısı için geçerlidir. Uzantının çalıştığı youtube.com ve m.youtube.com web siteleri ile üçüncü taraf çeviri sağlayıcısı OpenAI'ın kendi gizlilik politikaları bağımsız olarak geçerlidir.
2. İşlenen veriler
2.1 OpenAI API anahtarı
- Kaynak: Kullanıcı, uzantı popup'ında manuel olarak girer.
- Saklama yeri:
chrome.storage.localüzerinde_ytt_apiKeyanahtarıyla yerel olarak tutulur. Content script'lere anahtar iletilmez; yalnızcahasApiKey: booleansinyali paylaşılır. - Dış paylaşım: API anahtarı, yalnızca OpenAI'a yapılan çeviri çağrılarında
Authorization: Bearerbaşlığı olarak iletilir. Başka hiçbir sunucuya gönderilmez, geliştiriciye iletilmez.
2.2 Altyazı içeriği
- Kaynak: Kullanıcı YouTube'da bir video açtığında, YouTube'un
playerResponseyapısından elde edilen altyazı URL'leri aracılığıyla çekilensrv3XML,json3JSON veya WebVTT altyazı dosyaları. - Dış paylaşım: Çevirilecek İngilizce altyazı metni, kullanıcının kendi OpenAI API anahtarı ile
https://api.openai.com/v1/chat/completionsadresine iletilir (model:gpt-4o, temperature: 0). Metin YouTube içerik yükleyicisinin veya YouTube ASR sisteminin ürettiği altyazıdır. - Önbellekleme: Çevrilen altyazılar
chrome.storage.localüzerindetranslation_yt_<videoId>_tranahtarıyla fingerprint doğrulamalı olarak saklanır.
2.3 Video kimliği (videoId)
- Kaynak: YouTube video sayfasının URL'sindeki
v=parametresi veya Shorts URL yapısı. - Kullanım: Yalnızca çeviri önbelleği anahtarı üretmek ve aynı video tekrar açıldığında önbellek eşleşmesi yapmak için kullanılır.
- Dış paylaşım: Geliştiriciye veya üçüncü taraflara iletilmez. (OpenAI'a da iletilmez; yalnızca altyazı metni gönderilir.)
2.4 Uzantı ayarları
- İçerik: Yazı boyutu, orijinal altyazı rengi, çeviri altyazı rengi, arka plan opaklığı, altyazı görünürlük tercihleri.
- Saklama yeri:
chrome.storage.sync(kullanıcının Chrome hesap senkronizasyonu açıksa cihazlar arasında senkronize olur; kapalıysa yalnızca yerel kalır). - Dış paylaşım: Chrome'un kendi senkronizasyon altyapısı dışında hiçbir üçüncü tarafla paylaşılmaz.
2.5 Toplanmayan veriler
Uzantı şunları toplamaz veya iletmez:
- YouTube hesap bilgileri, Google hesap bilgileri, oturum çerezleri veya kimlik doğrulama tokenları
- Ad, e-posta, telefon, konum, IP adresi
- İzlenen videoların listesi, izleme geçmişi, beğeni veya yorumlar
- Ödeme veya finansal bilgiler
- Tıklama, fare hareketi, kaydırma veya tuş vuruşu izleme
- Analytics, telemetry, crash raporu
3. Injected script ve fetch intercept
YouTube, bazı videolarda uzantı kaynaklı altyazı isteklerine boş gövde döndürür. Bu kısıtı aşmak için uzantı, YouTube sayfa bağlamına (page world) injected/yt-player-response.js dosyasını yükler. Bu script üç sınırlı işe hizmet eder:
- playerResponse okuma: YouTube'un kendi oluşturduğu
ytInitialPlayerResponsenesnesinden altyazı URL'lerini okumak. - Fetch / XHR intercept:
window.fetchveXMLHttpRequestetraflarını sarmalayarak yalnızca YouTubetimedtext(altyazı) isteklerinin yanıtlarınıresponse.clone()ile kopyalamak ve uzantıya iletmek. - CC butonu tetikleme:
.ytp-subtitles-buttonöğesine programatik tıklama yaparak YouTube'un kendi altyazı pipeline'ını başlatmak.
Bu injected script yalnızca altyazı verisine yöneliktir. Kullanıcı oturumu, çerezler, başka sayfa verisi, ödeme bilgisi, yorumlar veya başka bir içerik okunmaz. Intercept edilen tek URL deseni YouTube'un /api/timedtext endpoint'idir.
Injected script yalnızca youtube.com ve m.youtube.com match'lerinde yüklenir (manifest web_accessible_resources kısıtı). Kaynak kodu GitHub deposunda injected/yt-player-response.js altında incelenebilir.
4. Verilerin kullanım amaçları
| Veri | Amaç |
|---|---|
| API anahtarı | OpenAI API'ye yetkilendirme başlığı eklemek |
| Altyazı metni | OpenAI modeline çeviri isteği göndermek |
| Video kimliği | Çeviri önbelleği anahtarı üretmek |
| Çeviri önbelleği | Aynı video tekrar açıldığında API çağrısı yapmadan hızlı gösterim |
| Uzantı ayarları | Kullanıcının altyazı görünüm tercihlerini korumak |
Veriler pazarlama, profilleme, reklam, kullanıcı davranışı analizi veya kredi değerlendirmesi gibi başka bir amaç için kullanılmaz.
5. Üçüncü taraflarla veri akışı
5.1 OpenAI (api.openai.com)
Çeviri işlemi için altyazı metni, kullanıcının kendi OpenAI API anahtarıyla OpenAI sunucularına gönderilir. OpenAI bu veriyi kendi gizlilik politikası kapsamında işler:
OpenAI, API üzerinden gönderilen verileri varsayılan olarak model eğitiminde kullanmaz (Mart 2023'ten bu yana).
5.2 YouTube / Google
Uzantı, kullanıcının kendi isteğiyle ziyaret ettiği youtube.com sayfalarında çalışır. Uzantı yalnızca altyazı verisini okur; Google hesabı, oturum bilgisi veya YouTube API çağrısı yapmaz. YouTube'un kendi altyazı isteklerini intercept etmek, YouTube ile geliştirici arasında doğrudan veri paylaşımı oluşturmaz; intercept edilen veri yalnızca kullanıcının cihazında işlenir.
5.3 Google / Chrome senkronizasyonu
Uzantı ayarları chrome.storage.sync kullanır. Bu, Chrome'un kendi altyapısıdır; kullanıcı Chrome senkronizasyonunu kapatarak bu akışı tamamen devre dışı bırakabilir. Geliştirici bu verilere erişemez.
5.4 Geliştirici
Geliştirici (Erhan Ürgün) hiçbir kullanıcı verisine erişmez. Uzantı kullanıcı davranışı veya kullanım istatistiği toplayan hiçbir sunucuya veri göndermez.
6. Veri saklama ve silme
- API anahtarı: Kullanıcı silene veya uzantıyı kaldırana kadar yerel olarak tutulur.
- Çeviri önbelleği: Chrome Storage kotası (yaklaşık 5 MB) dolduğunda en eski %25'i LRU mantığıyla otomatik silinir. Kullanıcı
chrome://extensionsüzerinden uzantı verilerini manuel sıfırlayabilir. - Uzantı ayarları: Kullanıcı sıfırlayana veya uzantıyı kaldırana kadar tutulur.
- Intercept cache: Yalnızca aktif sekme yaşam döngüsü boyunca bellek içinde (
videoIdbazlı Map) tutulur; sekme kapatıldığında tamamen kaybolur, kalıcı saklanmaz.
7. Güvenlik önlemleri
host_permissionsyalnızca gerekli domain'lerle sınırlıdır (www.youtube.com,m.youtube.com,api.openai.com/v1/*).- Content Security Policy sertleştirilmiştir (
script-src 'self',object-src 'none',frame-src 'none',base-uri 'none',form-action 'none'). - Uzaktan JavaScript veya WebAssembly yüklenmez; tüm kod paketin içindedir.
- Cross-origin mesajlarda origin allowlist doğrulaması (
youtube.comregex) yapılır. - Injected script yalnızca
youtube.commatch'lerinde yüklenir; başka hiçbir sayfada çalışmaz. - OpenAI'a giden istekler prompt injection koruması ile sanitize edilir.
- Log çıktılarından API anahtarı, URL ve video kimliği gibi hassas veriler maskelenir.
8. Chrome senkronizasyonu
Uzantı ayarları chrome.storage.sync'te tutulur. Bu, Google hesabınızla birden fazla cihaz arasında senkronize olur (Chrome senkronizasyonu açıksa). Senkronize olan veriler Google'ın kendi altyapısında işlenir; bu kapsamda Google'ın gizlilik politikası geçerlidir. Senkronizasyonu tamamen devre dışı bırakmak isterseniz Chrome ayarlarından kapatabilirsiniz.
9. Kullanıcı hakları
- Erişim: Uzantı verilerinizi
chrome://extensionsüzerinden görebilir ve silebilirsiniz. - Silme: Uzantıyı kaldırarak yerel verileri tamamen silebilirsiniz.
- Taşınabilirlik:
chrome.storage.localiçeriği standart Chrome veri yapısıdır. - İtiraz: Bu politikaya itirazınız varsa uzantıyı kaldırarak veri akışını durdurabilirsiniz.
10. Çocukların gizliliği
Uzantı 13 yaş altı kullanıcılara yönelik değildir ve kasıtlı olarak çocuklardan veri toplamaz. 13 yaşından küçük bir çocuğun uzantıyı kullandığını fark ederseniz lütfen iletişim bölümünden haber verin.
11. Politika değişiklikleri
Bu politika ihtiyaç halinde güncellenebilir. Önemli değişiklikler yapıldığında yürürlük tarihi ve sayfa üst kısmındaki "Son güncelleme" bilgisi değişir. Ayrıca yeni sürüm notlarında GitHub Releases üzerinden duyurulur.
12. İletişim
Gizlilik politikası ile ilgili soru, talep veya şikayetleriniz için:
- E-posta: [email protected]
- GitHub: Issue açın
- Web: icin.tr/me
Veri sorumlusu: Erhan Ürgün, Orizora Yazılım · Türkiye