Kullanıcılar verilerini nasıl kontrol ediyor? KVKK uyumlu gizlilik seçenekleri.
Profil Görünürlüğü: Herkese açık, sadece takipçiler veya gizli profil seçimi
Dinleme Geçmişi: Başkalarının dinleme geçmişini görüp göremeyeceği
Playlist Gizliliği: Playlistlerin herkese açık veya gizli olması
Veri İndirme: KVKK kapsamında tüm kişisel verileri indirme
Herkese açık / Takipçiler / Gizli
Başkalarına göster / Gizle
Her playlist için ayrı gizlilik
Tüm kişisel verilerini JSON olarak indir
Gizlilik ayarları değiştirildiğinde gerçekleşen teknik süreç
Kullanıcı gizlilik ayarını değiştirdiğinde, sistem tercihi kaydediyor ve bu tercih tüm ilgili sorguları etkiliyor. Örneğin profil "gizli" yapılırsa, o kullanıcı arama sonuçlarından ve takipçi listelerinden çıkarılıyor.
PrivacySetting::updateOrCreate() ile tercihler kaydedilir. profile_visibility enum olarak tutulur: public, followers_only, private.
VisibilityScope global scope ile "private" profiller otomatik filtrelenir. Arama sonuçları, "Keşfet" sayfası, kullanıcı listelerinde gizli profiller görünmez.
Her playlist için is_public boolean değeri tutulur. PlaylistPolicy ile görüntüleme yetkisi kontrol edilir. Gizli playlist sadece sahibi tarafından görülebilir.
show_listening_history false ise, kullanıcının dinleme aktivitesi "Son dinlenenler" listelerinde gösterilmez. Ancak istatistik amaçlı kayıt tutulmaya devam eder (anonim).
"Verilerimi İndir" tıklandığında ExportUserData job'ı queue'ya eklenir. Tüm tablolardan kullanıcıya ait veriler toplanır, JSON formatında ZIP dosyası oluşturulur ve e-posta ile link gönderilir.
Gizlilik ayarı değiştiğinde Cache::tags(['user:'.$userId])->flush() ile ilgili cache'ler temizlenir. Değişiklik anında yansır, eski görünürlük kalıntıları olmaz.
Model: App\Models\PrivacySetting | Policy: App\Policies\UserPolicy | Export Job: App\Jobs\ExportUserData
Tum veriler guvenli