Özet
iWatchUWatch bir Chrome uzantısı, küçük bir aktarım sunucusu ve bir hesap servisinden oluşur. Odaya katılmak için hesap gerekir; e-posta adresin, parolanın karması ve abonelik durumun bir veritabanında tutulur.
Eşitlemenin kendisi ne izlediğini kaydetmez. İzlediğin video hiçbir zaman tarayıcından çıkmaz; aktarım sunucusundan yalnızca eşitleme ve sohbet için küçük JSON mesajları geçer. Sohbet sunucuda saklanmaz, kim ne izliyor kaydedilmez, odanın içeriği son kişi çıkınca bellekten silinir.
Oda başına kısa bir kayıt. Oda kapandığında sunucu bir oda oturumu kaydı tutar: oda kimindi, ne zaman açılıp kapandı, birlikte ne kadar izlendi, aynı anda en çok kaç kişi vardı ve katılanların hesap kimlikleri. Bu kayıtta sayfa, video ya da sohbet hiçbir zaman yer almaz.
Yönetici görünümü. Sunucu yöneticisi, arıza takibi ve kötüye kullanımı fark etmek için o an açık olan odaları, oda başına kişi sayısını ve odadaki hesapların e-posta adreslerini canlı olarak görebilir. Bu görünüm belleği okur: hiçbir yere kaydedilmez, oda kapanınca kalmaz ve izlenen sayfanın adresini içermez — yani yönetici de kimin ne izlediğini görmez. Oda kodu bu ekranda maskelenir. Yönetici gerektiğinde bir odayı kapatabilir — kötüye kullanım bildirimlerine karşı; odadakiler kapatıldığını görür ve işlem denetim kaydına yazılır.
Hiçbir veri satılmaz, reklam ağlarına ya da analitik servislerine verilmez. Bu sitede analitik, reklam ya da izleme kodu yoktur.
Tek amaç
Uzantının tek amacı: birden fazla tarayıcıda aynı videoyu aynı anda oynatmak ve bu sırada odadakilerle yazışmak. Hesap katmanının tek amacı: kimin oda açabileceğini bilmek ve buna göre izin vermek. Oda açmak için abonelik gerekir; başkasının açtığı bir odaya katılmak için doğrulanmış hesap yeterlidir. İşlenen her veri yalnızca bu iki amaç için kullanılır.
Hesap verileri
Hesap açtığında şunlar hesap servisinin veritabanında tutulur:
| Veri | Neden | Hukuki sebep |
|---|---|---|
| E-posta adresi | Girişte kimlik, doğrulama ve parola sıfırlama bağlantısı, abonelik bildirimleri; arkadaş eklemenin anahtarı — adresini bilen başka bir üye sana istek gönderebilir ve kabul edersen adresini görür | Sözleşmenin ifası |
| Parolanın karması | Girişi doğrulamak. Parolanın kendisi saklanmaz; argon2id ile karması tutulur ve geri çevrilemez | Sözleşmenin ifası |
| Görünen ad | Odada kim olduğunun görünmesi | Sözleşmenin ifası |
| Avatar seçimi: avatar görselinin üretildiği kısa, rastgele bir anahtar (fotoğraf yüklenmez) | Odalarda üye listesinde seni temsil etmesi | Sözleşmenin ifası |
| Dil seçimi | E-postaların ve arayüzün dili | Sözleşmenin ifası |
| Abonelik durumu ve erişim bitiş tarihi | Hesabın oda açıp açamayacağını belirlemek | Sözleşmenin ifası |
| Ödeme kaydı: tutar, para birimi, durum, fatura bağlantısı | Muhasebe ve iade taleplerini karşılamak | Hukuki yükümlülük |
| Oturum kayıtları: cihaz etiketi, oluşturma ve son kullanım anı | Açık oturumları görebilmek ve şüpheli kullanımda hepsini düşürmek | Meşru menfaat |
| Denetim kaydı: işlem adı, zaman, IP adresinin karması, tarayıcı bilgisi | Kötüye kullanımı ve hesap ele geçirmeyi tespit etmek | Meşru menfaat |
| Deneme defteri: e-posta adresinin tuzlanmış karması | Aynı adresle ikinci kez deneme alınmasını engellemek. Adresin kendisi bu tabloda yok | Meşru menfaat |
| Google hesap kimliği — yalnız Google ile giriş yaparsan | Bir dahaki Google girişinde seni tanımak | Sözleşmenin ifası |
| Kurucu üye işaretleri: hesabın kurucu üye olduğu tarih ve Premium çıkarsa haber verilmesini istediğin tarih | Ücretli sürüm gelirse kurucu üye indirimini uygulamak; istediğin tek duyuru e-postasını göndermek | Meşru menfaat; duyuru e-postası senin isteğine dayanır |
IP adresi düz metin olarak tutulmaz. Denetim kaydında yalnız karması bulunur; bu, bir kaydı belirli bir kullanıcıya bağlamaya yetiyor ama kaydı okuyan birinin adresi öğrenmesine yetmiyor.
Kart bilgisi hiç bize ulaşmaz. Ödeme, sağlayıcının kendi sayfasında alınır. Bizde yalnız tutar, durum ve sağlayıcının verdiği kimlik durur.
Google ile giriş. Google ile giriş yaparsan Google'dan adını, e-posta adresini ve Google hesap kimliğini alırız; parolan ve kişi listen bize gelmez. Hesap kimliği bir dahaki girişte seni tanımak için saklanır. Adın yalnız başlangıçtaki görünen ad olarak kullanılır, istediğin zaman değiştirebilirsin.
Arkadaş listesi, arkadaş istekleri ve engellediğin kişiler de hesabına bağlı olarak tutulur. Kimin çevrimiçi olduğu ise yalnız bellekte tutulur ve diske yazılmaz.
Toplanmayanlar
Hesap açman aşağıdakilerin toplandığı anlamına gelmez. Bunlar hiçbir zaman toplanmaz:
- Tarama geçmişi ya da ziyaret ettiğin sitelerin listesi.
- Video içeriği, izleme geçmişi, hangi videoyu izlediğinin kaydı.
- Sohbet mesajlarının metni. Sunucudan geçer, iletilir, saklanmaz.
- Bir odada hangi sayfanın, videonun ya da başlığın izlendiği. Oda oturumu kayıtları yalnız hesap kimliklerini ve süreleri tutar.
- Telefon, adres, doğum tarihi ya da kimlik numarası. Ad-soyad yalnız Google ile giriş yaparsan gelir ve yalnız görünen ad olarak kullanılır.
- Kart numarası veya ödeme aracı bilgisi.
- Analitik, reklam ya da izleme verisi.
- Konum verisi.
Çerez kullanılmaz. Ne uzantı ne de bu site çerez yazar. Sitede oturum açtığında oturum anahtarı tarayıcının localStorage alanında tutulur; bu bir çerez değildir, sunucuya kendiliğinden gönderilmez ve yalnız o tarayıcıda durur. Çıkış yaptığında silinir.
Sunucudan geçen mesajlar
Uzantı, sunucuya WebSocket üzerinden bağlanır ve aşağıdaki mesajları gönderir. Sunucu bunları odadaki diğer üyelere olduğu gibi iletir; içeriklerini işlemez, yalnızca oda üyeliğini ve son oynatma durumunu izler.
| Mesaj | İçerik | Ne zaman |
|---|---|---|
join | Oda kodu, görünen ad, avatar seçimi | Odaya girerken |
profile | Avatar seçimi | Odadayken avatarını değiştirdiğinde |
heartbeat | Konum, oynuyor mu, saat, reklamda mı, atlıyor mu | Oynatma sırasında saniyede bir |
control | Eylem (oynat, duraklat, atla, hız, tamponlama, reklam başladı/bitti), konum, saat | Bir eylem yapıldığında |
chat | Mesaj metni, en fazla 1000 karakter | Mesaj gönderildiğinde |
page | Kurucunun sayfa adresi ve başlığı | Yalnız kurucudan, sayfa değiştiğinde |
sync-ping | Yerel saat damgası | Bağlanırken 5 kez, sonra 5 dakikada bir |
Görünen ad, uzantının ürettiği rastgele bir addır (“Neşeli Panda” gibi); değiştirirsen yazdığın ad gönderilir. Sayfa adresi yalnızca odayı kuran kişiden alınır ve diğer üyelere “İlgili videoyu aç” önerisi olarak gösterilir.
Sunucuda tutulanlar
Bellekte, oda açık olduğu sürece: üyelerin bağlantıları ve görünen adları, kurucunun kim olduğu, kurucunun sayfa adresi ve başlığı, son oynat/duraklat/atla komutu. Oda, son üye çıktığında bellekten silinir. Kalıcı olarak yazılan tek şey aşağıda anlatılan oda oturumu kaydıdır; oda hakkında başka hiçbir şey veritabanında ya da yedekte tutulmaz.
Davet önizlemesi: bir davet bağlantısı açıldığında sayfa, bağlantıyı açan herkese odanın o anki sayfa başlığını, site adını, kurucunun görünen adını ve avatarını, kişi sayısını ve oynatma konumunu gösterir. Bu bilgiler o an bellekten okunur; ayrıca kaydedilmez. Davet bağlantısı bu yüzden odanın kendisi gibi korunmalı: onu bilen, odada ne oynadığını da görür.
Uygulama günlüğü: odaya giriş ve çıkışlar (oda kodu, görünen ad, kişi sayısı), oynatma komutları ve kurucunun sayfa adresi günlüğe yazılır. Sohbet metni günlüğe yazılmaz. Günlükler yalnızca hata ayıklamak için okunur, düzenli olarak döndürülür ve kalıcı olarak saklanmaz.
Web sunucusu günlüğü: aktarım sunucusunun önündeki web sunucusu (nginx) standart erişim günlüğü tutar: IP adresi, zaman ve istek yolu. Bu günlükler sunucu yönetimi için kullanılır ve düzenli olarak döner.
Sunucu relay.iwatchuwatch.com adresinde çalışır ve projenin sahibi tarafından işletilir. Uzantı yalnızca bu adrese bağlanır; değiştirilebilen bir sunucu ayarı yoktur.
Oda oturumu kayıtları
Bir oda kapandığında aktarım sunucusu hesap servisine o odayla ilgili tek bir kayıt gönderir. Kayıtta şunlar bulunur:
- odayı açan hesap (oda sahibi);
- odanın açılış ve kapanış anı ile açık kaldığı süre;
- odada aynı anda en az iki kişinin bulunduğu süre;
- odada aynı anda bulunan en yüksek kişi sayısı;
- odaya katılanların hesap kimlikleri.
Kayıtta oda kodu, sayfa adresi ya da başlığı, video, oynatma komutları, görünen adlar ve sohbet yer almaz.
Amaç: hizmeti işletmek, sunucu kapasitesini planlamak, kötüye kullanımı fark etmek (örneğin topluca oda açan hesaplar) ve ürün kararlarını — ücretli bir sürümün gelip gelmeyeceği ve nasıl fiyatlanacağı gibi — tahmine değil gerçek kullanıma dayandırmak. Kurucu üyeler de bu kayıtlarla belirlenir.
Hukuki sebep: hizmeti işletme, koruma ve planlamaya yönelik meşru menfaat. Saklama: 400 gün; süre dolunca kendiliğinden silinir. Hesabını sildiğinde bu kayıtlardan çıkarılırsın: oda sahibi bağı kaldırılır, kimliğin katılımcı listelerinden silinir. Kayıtların verini indirme çıktısına dahildir.
Cihazında saklananlar
Bunlar yalnızca senin tarayıcında, Chrome'un uzantı depolama alanında durur; hiçbir yere gönderilmez.
- Kalıcı (
chrome.storage.local): görünen ad, son oda kodu, otomatik bağlanma tercihi, dil seçimi, tema (açık/koyu), sohbet balonu tercihi. - Oturumluk (
chrome.storage.session, tarayıcı kapanınca silinir): sohbet mesajları (en fazla 200), videoyu tutan sekmenin kimliği, adresi ve başlığı.
Uzantıda ayrıca oturum bilgisi tutulur (chrome.storage.local): erişim ve yenileme anahtarları ile hesap özetin. Bunlar odaya bağlanırken kimliğini kanıtlamak için gerekiyor; çıkış yaptığında silinir.
Uzantıyı kaldırdığında Chrome bu verilerin hepsini siler.
Bu sitede: oturum açtıysan oturum anahtarların ve hesap özetin localStorage alanında durur. Site ile uzantı ayrı oturum tutar; birinden çıkmak diğerini etkilemez.
Uzantı izinleri
Chrome kurulumda şu izinleri sorar. Her biri için neden gerektiği ve ne için kullanılmadığı:
| İzin | Neden gerekli | Ne için kullanılmaz |
|---|---|---|
Tüm sitelere erişim (<all_urls>) ve içerik betiği | İzlediğin sayfadaki video öğesini bulmak, oynatma durumunu okumak (konum, duraklama, reklam sınıfı), videonun üstüne eşitleme tuşunu ve sohbet balonunu çizmek. Hangi sitede izleyeceğin önceden bilinemediği için tüm siteler. Betik tüm çerçevelerde çalışır, çünkü oynatıcılar sık sık iframe içindedir. | Sayfa içeriğini, formları, çerezleri ya da parolaları okumak. Video öğesi olmayan sayfada betik bekler ve hiçbir şey göndermez. |
sidePanel | Uzantının arayüzü Chrome yan panelinde açılır. | — |
storage | Yukarıdaki tercihleri ve oturum bilgilerini cihazında saklamak. | Uzantı dışına aktarım. |
tabs | Videonun hangi sekmede olduğunu bilmek; kurucunun sayfa adresini ve başlığını odayla paylaşmak; “İlgili videoyu aç” ile doğru sekmeye geçmek. | Diğer sekmelerin içeriğini okumak. Yalnız adres ve başlık, yalnız odadaki sekme için. |
scripting | Uzantı kurulduğunda ya da güncellendiğinde zaten açık olan sekmelere içerik betiğini eklemek. | — |
alarms | Her dakika çalan bir alarm; Manifest V3 servis çalışanının uyumaması ve WebSocket bağlantısının açık kalması için. | — |
notifications | Panel kapalıyken gelen sohbet mesajını Chrome bildirimi olarak göstermek (gönderenin adı ve mesaj). | Başka hiçbir bildirim gönderilmez. |
Kaldırma geri bildirimi
Uzantıyı kaldırdığında Chrome bu sitede bir sayfa açar (/tr/kaldirildi). Chrome bunu isteyen her uzantıya sunuyor; biz tek bir soru sormak için kullanıyoruz: neden. Adres kimlik taşımaz; ne hesap ne kurulum kimliği, yalnız uzantının sürümü ve dil. Böylece sayfa senin dilinde açılır ve cevabın hangi sürüme ait olduğu bilinir.
Sayfanın açılması hiçbir şey göndermez. Formu doldurmak isteğe bağlıdır. Gönderirsen kendi sunucumuz şunları saklar: işaretlediğin gerekçeler, yazdığın metin, uzantı sürümü, tarayıcın ve işletim sistemin iki kısa etiket olarak (örneğin "Chrome 129" ve "Windows"; tarayıcı dizesinin tamamı değil) ve yalnız sen yazarsan e-posta adresin. Kayıtla birlikte IP adresi saklanmaz, hash'i bile. Form bir form ya da analitik sağlayıcısına değil hesap servisimize gider ve hesabınla bağlanmaz.
Kayıtlar 12 ay sonra silinir. E-posta bıraktıysan ve kaydın daha erken silinmesini istiyorsan iletişim sayfasından yaz. Hukuki dayanak: ürünü geliştirmeye yönelik meşru menfaat.
Saklama ve imha
| Veri | Ne kadar |
|---|---|
| Oda ve sohbet | Sohbet saklanmaz. Odanın içeriği son kişi çıkınca bellekten silinir |
| Oda oturumu kayıtları | 400 gün, sonra kendiliğinden silinir. Hesabını silmek seni bu kayıtlardan çıkarır |
| Hesap kaydı | Hesap açık olduğu sürece. Silme isteğinden 30 gün sonra kalıcı olarak silinir |
| Oturum anahtarları | Yenileme anahtarı 30 gün; çıkış yapıldığında ya da parola değiştiğinde hemen iptal |
| Doğrulama ve sıfırlama bağlantıları | 24 saat, ya da bir kez kullanıldığında |
| Denetim kaydı | Hesabın ömrü boyunca; hesap silindiğinde kullanıcı bağı kopar, kayıt kimliksiz kalır |
| Ödeme kaydı | Vergi mevzuatının gerektirdiği süre. Hesap silinse de tutar ve tarih kalır, kimlik bağı kopar |
| Deneme defteri | Kalıcı. Yalnız e-posta adresinin tuzlanmış karması; hesabı silmek bu kaydı silmez, yoksa "sil ve yeniden aç" sonsuz deneme olurdu |
| Kaldırma geri bildirimi | 12 ay. Hesaba bağlı değil, dolayısıyla hesabı silmek buna dokunmaz; daha erken silinmesini istersen iletişim sayfasından yaz |
| Sunucu günlükleri | Düzenli olarak döner, kalıcı saklanmaz |
Hesabını sildiğinde erişim hemen kesilir ve açık oturumların düşer. 30 gün içinde giriş yaparak silmeyi geri alabilirsin; süre geçtikten sonra kayıt kalıcı olarak silinir.
KVKK hakların
6698 sayılı Kişisel Verilerin Korunması Kanunu kapsamında şu haklara sahipsin: verinin işlenip işlenmediğini öğrenme, işlenmişse buna ilişkin bilgi talep etme, işlenme amacını öğrenme, yurt içinde veya yurt dışında aktarıldığı üçüncü kişileri bilme, eksik veya yanlış işlenmişse düzeltilmesini isteme, silinmesini veya yok edilmesini isteme, bu işlemlerin aktarılan üçüncü kişilere bildirilmesini isteme, otomatik sistemlerle analiz sonucu aleyhine bir sonuç doğmasına itiraz etme ve zarara uğramışsan giderimini talep etme.
İki hak uygulamada tek adımda kullanılabiliyor:
- Verini indirme: hesap servisi, hesabındaki her şeyi makine okunur biçimde döndüren bir uç sunuyor (
/me/export). Denetim kaydı bu dışa aktarımda da IP karmasıyla gelir, düz adresle değil; oda oturumu kayıtların da dahildir. - Silme: hesabını uzantıdan ya da hesap sayfasından kapatabilirsin; yukarıdaki süreler geçerlidir.
Diğer talepler için iletişim sayfasına yaz.
Hukuki sebep: hesap ve abonelik verisi sözleşmenin ifası için işlenir; bu nedenle ayrıca açık rıza istenmez. Güvenlik kayıtları meşru menfaat, ödeme kayıtları hukuki yükümlülük kapsamındadır.
Üçüncü taraflar
Aktarım sunucusu ve hesap servisi projenin sahibi tarafından işletilir. Uzantıda ve bu sitede analitik, reklam ya da izleme SDK'sı yoktur. Bu sitenin yazı tipleri sitenin kendisinden sunulur; Google Fonts'a çalışma zamanında istek gitmez. Avatarlar DiceBear ile, Lisa Wischofsky'nin “Adventurer” stiliyle üretilir; stil CC BY 4.0 lisanslıdır. Görsel kısa, rastgele bir anahtardan tarayıcında yerel olarak üretilir; fotoğraf yüklenmez, avatar gösterilirken dışarıya istek gitmez.
Üç dış hizmet kullanılır:
| Hizmet | Ne için | Ne aktarılır |
|---|---|---|
| Ödeme sağlayıcısı | Abonelik tahsilatı, fatura, müşteri portalı | E-posta adresi ve hesap kimliği. Kart bilgisi doğrudan sağlayıcıya gider, bize hiç ulaşmaz |
| E-posta gönderim sunucusu | Doğrulama, parola sıfırlama ve abonelik bildirimleri | E-posta adresi ve iletinin metni |
| Google ile giriş | Giriş ve kayıt sayfalarındaki “Google ile devam et” düğmesi. Google'ın betiği yalnız o sayfalarda yüklenir | Düğmeyi kullandığında Google kimliğini kendi sayfasında doğrular ve bize adını, e-posta adresini ve Google hesap kimliğini gönderir. Düğmenin yüklenmesi Google'ın tarayıcının isteğine ait teknik bilgileri (IP adresi gibi) görmesine yol açar |
| Cloudflare Turnstile | Kayıt ve parola sıfırlama formlarında insanı bottan ayırmak. Yalnız o sayfalarda yüklenir | Cloudflare'in denetiminin tarayıcında okuduğu teknik sinyaller (örneğin tarayıcı ve cihaz özellikleri, IP adresi). Cloudflare bunları yalnız bu denetim için kullanır; bize yalnız geçti/geçmedi sonucu ulaşır |
Ödeme sağlayıcısı bu satışta kayıtlı satıcı (merchant of record) olarak hareket edebilir; bu durumda faturayı o düzenler ve kendi gizlilik politikası da geçerli olur. Sağlayıcının kimliği ve iletişim bilgileri mesafeli satış sözleşmesi sayfasında yer alır.
Yurt dışına aktarım: ödeme sağlayıcısı, e-posta sunucusu, Cloudflare ve Google Türkiye dışında bulunabilir. Bu durumda aktarım, sözleşmenin ifası için gerekli olması sebebiyle yapılır.
Uzantının Chrome Web Store'dan kurulumu Google'ın kendi koşullarına tabidir.
Çocuklar
Hizmet çocuklara yönelik değildir. Hesap açan kişinin 18 yaşından küçük olması hâlinde yasal temsilcisinin onayı gerekir (kullanım koşulları). Yaş bilgisi sorulmaz ve saklanmaz; 18 yaşından küçük birine ait bir hesabın varlığı bildirilirse hesap kapatılır ve verisi silinir.
Değişiklikler
Bu metin değişirse sayfanın başındaki yürürlük tarihi güncellenir. Toplanan veriyi genişleten bir değişiklik olursa uzantının sürüm notlarında ayrıca belirtilir.
İletişim
Sorular için iletişim sayfasına bak.