{
 "schema_version": "mbm.data-policy/1",
 "policy_id": "MBM-VYT-POL-001",
 "version": "1.18.0",
 "title": "MBM hesap verisi saklama, silme ve dışa aktarma politikası",
 "provider": {
  "id": "mbm-operator",
  "role": "privacy-legal-records-authority",
  "note": "Saklama süresi ve dayanağı bu kimlikli sağlayıcının kararıdır. Sağlayıcı şimdilik ürün işletmecisidir; hukuk gözden geçirmesi açık iştir.",
  "approved_by": "MBM ürün sahibi",
  "approved_at": "2026-09-30"
 },
 "validity": {
  "effective_from": "2026-09-30",
  "review_by": "2027-03-31"
 },
 "legal_basis": {
  "status": "operator-declared",
  "legal_review": "pending",
  "references": [
   "6698 sayılı KVKK md. 7 (kişisel verilerin silinmesi, yok edilmesi veya anonim hâle getirilmesi)",
   "6698 sayılı KVKK md. 11 (ilgili kişinin hakları)",
   "GDPR md. 17 (silme hakkı), md. 20 (veri taşınabilirliği)",
   "6698 sayılı KVKK md. 9 (kişisel verilerin yurt dışına aktarılması)"
  ]
 },
 "clock_source": {
  "id": "server-utc",
  "description": "Sunucu saati, UTC, ISO 8601"
 },
 "retention": [
  {
   "policy_id": "MBM-VYT-POL-001",
   "version": "1.18.0",
   "data_class": "account-identity",
   "trigger_event": "account-deletion-request",
   "duration": "P0D",
   "clock_source": "server-utc",
   "disposition": "anonymization",
   "exceptions": [
    "legal-hold"
   ],
   "scope": "users: e-posta, ad, kullanıcı adı (@ad; silmede serbest kalır), arayüz dili (e-postaların dili; silmede boşalır), dış kimlik",
   "note": "Kayıt satırı silinmez, kişisel alanlar anonimleşir; üretilen içerik anonim atıfla korunur."
  },
  {
   "policy_id": "MBM-VYT-POL-001",
   "version": "1.18.0",
   "data_class": "account-credentials",
   "trigger_event": "account-deletion-request",
   "duration": "P0D",
   "clock_source": "server-utc",
   "disposition": "physical-delete",
   "exceptions": [
    "legal-hold"
   ],
   "scope": "users: parola tuzu ve özeti (rastgele baytla ezilir); sessions (kaba cihaz etiketi dahil: yalnız tarayıcı ve işletim sistemi adı, tam tarayıcı kimliği tutulmaz); password_reset_tokens; user_identities: Google ile giriş bağı (Google'ın kişi kimliği, Google hesabının e-postası, bağlanma anı); oauth_states ve oauth_handoffs: Google'a gidiş ve dönüşün tek kullanımlık kayıtları (en çok 10 dakika; belirteçler yalnız SHA-256 özetiyle)",
   "note": "AKSIYON 47 (05.10) — Google ile girişte Google'ın gönderdiği bilgilerden yalnız ad, soyad, e-posta ve Google hesap kimliği kullanılır; saklanan yalnız Google hesap kimliği ve e-postadır (ad hesabın adına yazılır). Profil fotoğrafı ve başka veri saklanmaz, Google'a MBM verisi gönderilmez (istenen kapsam: openid email profile). Bağ hesap silinince ya da Ayarlar → Hesap'tan kaldırılınca fiziksel silinir; süresi geçen gidiş ve dönüş kayıtları düzenli temizlikte fiziksel silinir."
  },
  {
   "policy_id": "MBM-VYT-POL-001",
   "version": "1.18.0",
   "data_class": "consent-records",
   "trigger_event": "account-deletion-request",
   "duration": "P0D",
   "clock_source": "server-utc",
   "disposition": "physical-delete",
   "exceptions": [
    "legal-hold"
   ],
   "scope": "consents: kayıtta onaylanan belgenin kimliği ve sürümü (MBM-KS-001 kullanım şartları, MBM-VYT-POL-001 bu politika) ve onay zamanı"
  },
  {
   "policy_id": "MBM-VYT-POL-001",
   "version": "1.18.0",
   "data_class": "account-profile",
   "trigger_event": "account-deletion-request",
   "duration": "P0D",
   "clock_source": "server-utc",
   "disposition": "physical-delete",
   "exceptions": [
    "legal-hold"
   ],
   "scope": "user_profiles: telefon, konum, şirket, bölüm, unvan, fotoğraf, kişi dizini tercihi"
  },
  {
   "policy_id": "MBM-VYT-POL-001",
   "version": "1.18.0",
   "data_class": "social-graph",
   "trigger_event": "account-deletion-request",
   "duration": "P0D",
   "clock_source": "server-utc",
   "disposition": "physical-delete",
   "exceptions": [
    "legal-hold"
   ],
   "scope": "follows ve blocks: hesabın takip ettikleri, takipçileri, engelledikleri ve onu engelleyenler (iki yön); likes: hesabın herkese açık çalışmalara verdiği beğeniler",
   "note": "Sosyal ağ v1 — ilişki satırları hesap silme isteğiyle aynı işlemde fiziksel silinir; karşı tarafın sayaçları kendiliğinden düşer."
  },
  {
   "policy_id": "MBM-VYT-POL-001",
   "version": "1.18.0",
   "data_class": "comments",
   "trigger_event": "account-deletion-request",
   "duration": "P0D",
   "clock_source": "server-utc",
   "disposition": "physical-delete",
   "exceptions": [
    "legal-hold"
   ],
   "scope": "comments: hesabın herkese açık çalışmalara yazdığı yorumlar (metin ve zaman)",
   "note": "Sosyal ağ v1 — ilişki satırları hesap silme isteğiyle aynı işlemde fiziksel silinir; karşı tarafın sayaçları kendiliğinden düşer."
  },
  {
   "policy_id": "MBM-VYT-POL-001",
   "version": "1.18.0",
   "data_class": "shares",
   "trigger_event": "account-deletion-request",
   "duration": "P0D",
   "clock_source": "server-utc",
   "disposition": "physical-delete",
   "exceptions": [
    "legal-hold"
   ],
   "scope": "shares: hesabın takipçilerinin akışına gönderdiği paylaşımlar (proje, çalışma, not ve zaman)",
   "note": "Paylaşım (02.10) — paylaşım satırları hesap silme isteğiyle aynı işlemde fiziksel silinir; çalışma silinince o çalışmanın paylaşımı da silinir."
  },
  {
   "policy_id": "MBM-VYT-POL-001",
   "version": "1.18.0",
   "data_class": "assistant-conversations",
   "trigger_event": "account-deletion-request",
   "duration": "P0D",
   "clock_source": "server-utc",
   "disposition": "physical-delete",
   "exceptions": [
    "legal-hold"
   ],
   "scope": "ai_conversations: MBM Asistan sohbetleri — hesapta, çalışma başına (proje ve çalışma kimliği) saklanır: başlık (ilk iletiden), model, iletiler (yazdıkların, asistanın yanıtları ve araç sonuçları: çizimin özeti, denetim bulguları) ve zamanlar. Kullanıcı sohbeti, sohbetin bağlı olduğu çalışmayı ya da hesabını silene dek saklanır.",
   "note": "DÖF/öneri 06.10 — Asistan panelindeki Sohbetler listesinden her sohbet tek tek silinebilir; silinen sohbet hemen fiziksel silinir. Hesap silinince bütün sohbetler aynı işlemde silinir. Çalışma silinince o çalışmanın bütün sohbetleri aynı anda fiziksel silinir (kullanıcı kararı 06.10); çalışmanın projeler arasında taşınması silme değildir. Sohbet başına en çok 512 KB, hesap başına en çok 300 sohbet. Dışa aktarımda iletileriyle yer alır. Sohbet modele yalnız kullanıcı istek gönderdiğinde, kullanıcının kendi Anthropic anahtarıyla gider."
  },
  {
   "policy_id": "MBM-VYT-POL-001",
   "version": "1.18.0",
   "data_class": "store-notify-requests",
   "trigger_event": "account-deletion-request",
   "duration": "P0D",
   "clock_source": "server-utc",
   "disposition": "physical-delete",
   "exceptions": [
    "legal-hold"
   ],
   "scope": "store_notify: Mağaza'da \"haber ver\" dediğin belgenin kimliği (ör. MBM-S 0-2) ve istek zamanı; hesaba bağlıdır. Ayrı bir e-posta adresi alınmaz ve saklanmaz. Kullanıcı isteği geri alana ya da hesabını silene dek saklanır.",
   "note": "06.10 (AKSIYON 55) — Belge sayfasındaki düğmeye yeniden basmak isteği geri alır; satır hemen fiziksel silinir. Hesap silinince bütün istekler aynı işlemde silinir. Dışa aktarımda yer alır. Bildirim gönderimi henüz kurulmadı: belge yayımlanınca ya da satış açılınca hesabın e-posta adresine bildirim gönderilmesi bu politikanın yeni bir sürümüyle eklenir; o zamana dek istek yalnız saklanır."
  },
  {
   "policy_id": "MBM-VYT-POL-001",
   "version": "1.18.0",
   "data_class": "reports",
   "trigger_event": "account-deletion-request",
   "duration": "P0D",
   "clock_source": "server-utc",
   "disposition": "physical-delete",
   "exceptions": [
    "legal-hold"
   ],
   "scope": "reports: hesabın yazdığı şikâyetler, hesabın içeriğine yazılan şikâyetler (şikâyet anındaki alıntıyla) ve denetimle gizlenen içerik kayıtları",
   "note": "Faz 3 H4 — şikâyet ve denetim kayıtları hesap silme isteğiyle aynı işlemde fiziksel silinir; denetçinin verdiği kararlardan yalnız denetçi kimliği düşer."
  },
  {
   "policy_id": "MBM-VYT-POL-001",
   "version": "1.18.0",
   "data_class": "owned-solo-projects",
   "trigger_event": "account-deletion-request",
   "duration": "P0D",
   "clock_source": "server-utc",
   "disposition": "physical-delete",
   "exceptions": [
    "legal-hold"
   ],
   "scope": "Hesabın tek üyesi olduğu kendi projeleri (hesap-<id> dahil): projects, project_state, project_snapshots, collaboration_events, invitations, work_versions (çalışma sürümleri), islem_makbuzlari (işlem makbuzları)",
   "tombstone": {
    "rebirth_policy": "deny",
    "retention_class": "deletion-audit"
   }
  },
  {
   "policy_id": "MBM-VYT-POL-001",
   "version": "1.18.0",
   "data_class": "shared-project-contributions",
   "trigger_event": "account-deletion-request",
   "duration": "project-lifetime",
   "clock_source": "server-utc",
   "disposition": "retain-with-anonymized-attribution",
   "exceptions": [
    "legal-hold"
   ],
   "scope": "Başkalarıyla ortak projelerdeki ve konuşmalardaki (sohbet-) olaylar ve durum; atıf anonim hesaba bağlı kalır",
   "note": "İçerik proje üyelerinindir."
  },
  {
   "policy_id": "MBM-VYT-POL-001",
   "version": "1.18.0",
   "data_class": "addressed-invitations",
   "trigger_event": "account-deletion-request",
   "duration": "P0D",
   "clock_source": "server-utc",
   "disposition": "anonymization",
   "exceptions": [
    "legal-hold"
   ],
   "scope": "invitations: hesaba yazılmış davetlerdeki e-posta ve görünen ad boşaltılır"
  },
  {
   "policy_id": "MBM-VYT-POL-001",
   "version": "1.18.0",
   "data_class": "work-versions",
   "trigger_event": "work-save",
   "duration": "project-lifetime",
   "clock_source": "server-utc",
   "disposition": "physical-delete",
   "exceptions": [
    "legal-hold"
   ],
   "scope": "work_versions: çalışma satırının (çizim durumu) kaydedildiği andaki tam kopyası, sürüm numarası, türü (otomatik kayıt, elle kayıt, geri yükleme), geri yüklenen sürümün numarası, boyutu, yazan hesabın takma kimliği ve zamanı",
   "note": "Faz 4 Aşama 4 — çalışma başına en çok 50 sürüm, proje başına en çok 32 MiB; aşılınca önce en eski otomatik sürümler, sonra en eskiler fiziksel silinir (her çalışmanın son sürümü kalır). Otomatik kayıt en çok 10 dakikada bir sürüm alır. Çalışma silinince sürümleri aynı işlemde, proje silinince (hesap silmede tek üyeli projeler dahil) bütün sürümleri fiziksel silinir. Ortak projede yazar atfı hesap silmede anonim hesaba bağlı kalır (shared-project-contributions). Dışa aktarma çizimin güncel durumunu taşır; sürümler aynı verinin eski kopyalarıdır."
  },
  {
   "policy_id": "MBM-VYT-POL-001",
   "version": "1.18.0",
   "data_class": "operation-receipts",
   "trigger_event": "operation-pruning",
   "duration": "P30D",
   "clock_source": "server-utc",
   "disposition": "physical-delete",
   "exceptions": [
    "legal-hold"
   ],
   "scope": "islem_makbuzlari: canlı duruma katlanıp budanan işlem olayının proje kimliği, istemci olay kimliği, olay numarası ve özeti (gönderen, olay türü ve yükün SHA-256 özeti); kullanıcı kimliği tutulmaz",
   "note": "Faz 4 Aşama 2 — yeniden bağlanan istemcinin aynı işlemi ikinci kez uygulatmasını engeller; 30 günde günlük temizlikte fiziksel silinir, proje silinince aynı işlemde gider."
  },
  {
   "policy_id": "MBM-VYT-POL-001",
   "version": "1.18.0",
   "data_class": "membership-audit",
   "trigger_event": "project-deletion",
   "duration": "project-lifetime",
   "clock_source": "server-utc",
   "disposition": "retain",
   "exceptions": [
    "legal-hold"
   ],
   "scope": "membership_audit: yalnız takma kimlik (user id) taşır; hesabın kişisel alanları anonimleştiğinden kimliği belirlenemez"
  },
  {
   "policy_id": "MBM-VYT-POL-001",
   "version": "1.18.0",
   "data_class": "deletion-audit",
   "trigger_event": "account-deletion-request",
   "duration": "P3Y",
   "clock_source": "server-utc",
   "disposition": "physical-delete",
   "exceptions": [
    "legal-hold"
   ],
   "scope": "account_deletion_requests ve tombstones: kişisel alan taşımaz (yalnız takma kimlik, kapsam, politika bağı, zaman)",
   "note": "Silmenin kanıtı; yeniden doğmayı engeller."
  },
  {
   "policy_id": "MBM-VYT-POL-001",
   "version": "1.18.0",
   "data_class": "database-backups",
   "trigger_event": "backup-creation",
   "duration": "P4D",
   "clock_source": "server-utc",
   "disposition": "natural-expiry",
   "exceptions": [
    "legal-hold"
   ],
   "scope": "Sunucu veritabanı yedekleri (günde bir, son 3 kopya)",
   "note": "Yedekte seçici silme yapılmaz; kopyalar yalnız işletim yöneticisinin erişimindedir ve en geç 4 günde doğal olarak düşer."
  },
  {
   "policy_id": "MBM-VYT-POL-001",
   "version": "1.18.0",
   "data_class": "database-backups-offsite",
   "trigger_event": "backup-creation",
   "duration": "P7D",
   "clock_source": "server-utc",
   "disposition": "natural-expiry",
   "exceptions": [
    "legal-hold"
   ],
   "scope": "Sunucu veritabanı yedeğinin gzip kopyası, Cloudflare R2 kovası mbm-yedek (günde bir; yalnız bu kovaya yazma yetkili anahtarla)",
   "evidence": {
    "provider": "Cloudflare R2",
    "lifecycle_rule": "yedek-6-gun-sil: maxAge 518400 s (6 gün), önek boş (bütün nesneler)",
    "source": "https://developers.cloudflare.com/r2/buckets/object-lifecycles/ (süresi dolan nesne genellikle 24 saat içinde kaldırılır)",
    "measured": "2026-09-30: kural GET /r2/buckets/mbm-yedek/lifecycle ile okundu"
   },
   "note": "Yedekte seçici silme yapılmaz. 6 günlük kural + sağlayıcının en çok 24 saatlik kaldırma gecikmesi → P7D."
  },
  {
   "policy_id": "MBM-VYT-POL-001",
   "version": "1.18.0",
   "data_class": "platform-logs",
   "trigger_event": "log-emission",
   "duration": "P7D",
   "clock_source": "server-utc",
   "disposition": "natural-expiry",
   "exceptions": [
    "legal-hold"
   ],
   "scope": "Barındırma sağlayıcısının süreç günlükleri: Render mbm-staging ve mbm-tunnel (e-posta maskelenir; takma kimlik, yol ve IP taşıyabilir)",
   "evidence": {
    "provider_plan": "Render Hobby",
    "source": "https://render.com/docs/logging (Hobby 7 gün)",
    "measured": "2026-09-30: en eski kayıt 2026-09-23T16:03Z; 2026-09-22 boş; HTTP istek günlüğü yok (Pro özelliği)"
   },
   "note": "Plan değişirse süre bu belgede güncellenir (Pro 14 gün, Scale/Enterprise 30 gün)."
  },
  {
   "policy_id": "MBM-VYT-POL-001",
   "version": "1.18.0",
   "data_class": "it-access-audit",
   "trigger_event": "it-access",
   "duration": "P1Y",
   "clock_source": "server-utc",
   "disposition": "physical-delete",
   "exceptions": [
    "legal-hold"
   ],
   "scope": "IT, bakım ve güvenlik için verilere salt okunur erişir; her erişim kayıt altındadır. Yazma reddedilir; parola özeti, belirteçler ve oturum kimlikleri okunamaz. Kayıtta zaman, uç, neden, sorgu metni (parametre değerleri değil), dönen satır sayısı, sonuç ve istemci IP'si tutulur.",
   "note": "AKSIYON 81 — IT erişim yüzeyinin izi (it_erisim); günlük temizlik bir yıldan eski kaydı siler."
  },
  {
   "policy_id": "MBM-VYT-POL-001",
   "version": "1.18.0",
   "data_class": "pending-registrations",
   "trigger_event": "registration-request",
   "duration": "P1D",
   "clock_source": "server-utc",
   "disposition": "physical-delete",
   "exceptions": [
    "legal-hold"
   ],
   "scope": "pending_registrations: e-posta, ad soyad, parola tuzu ve özeti (düz metin yok), doğrulama belirtecinin SHA-256 özeti; onaylanan şartlar ve politika sürümü ile onay zamanı",
   "note": "Faz 0 E1b — doğrulanmayan kayıt isteği 24 saatte günlük temizlikte fiziksel silinir; doğrulanınca hesaba dönüşür ve satır aynı işlemde silinir. Teslim edilemeyen doğrulama bağlantısı hemen geri alınır."
  }
 ],
 "transfers": [
  {
   "recipient": "Anthropic, PBC (ABD)",
   "role": "ai-provider",
   "scope_version": 1,
   "purpose": "Yapay zekâ hizmeti. MBM Asistan'da, yalnız sen istek gönderdiğinde, MBM sunucusu şunları senin Anthropic API anahtarınla Anthropic'e iletir: yazdığın istek ve o çalışmadaki sohbet geçmişi; açık çalışmanın çizim verisi (nesneler, ölçüler, katmanlar ve antet; hazırlayan, onaylayan gibi kişi adları dahil). Hesap bilgilerin (e-posta, parola) ve başka çalışmaların gönderilmez. IT'nin bakım ve güvenlik için yaptığı salt okunur sorguların sonuçları da bir Claude (Anthropic) oturumunda işlenir; parola özeti, belirteçler ve oturum kimlikleri bu sonuçlarda yer almaz.",
   "basis": "KVKK md. 9 — dayanak ve aydınlatma metni hukuk gözden geçirmesinde (AKSIYON 5) kesinleşir."
  }
 ],
 "deletion": {
  "request_fields": [
   "request_id",
   "scope",
   "policy_binding",
   "authority_proof",
   "idempotency_key"
  ],
  "authority_proof": "password-reauthentication",
  "confirmation": "Kullanıcı e-posta adresini yazarak onaylar.",
  "blocking_conditions": [
   {
    "code": "owned_projects_require_transfer",
    "description": "Başka etkin üyesi olan (konuşma dışı) projelerin sahipliği önce devredilir; sahipsiz proje oluşmaz."
   },
   {
    "code": "legal_hold_active",
    "description": "Etkin yasal saklama silmeyi durdurur."
   }
  ],
  "completion_rule": "Bütün kopya sınıfları terminal olmadan 'completed' denmez."
 },
 "export": {
  "redaction_policy_id": "MBM-VYT-RED-001",
  "redaction_policy_version": "1.0.0",
  "format_profile": "json-ijson",
  "media_type": "application/json",
  "schema": "mbm.account-export/1",
  "includes": [
   "hesap (kimlik, e-posta, ad, oluşturulma)",
   "giriş yöntemleri (bağlı Google hesabı: Google kişi kimliği, e-posta, bağlanma anı)",
   "profil",
   "projeler ve roller",
   "kendi projelerinin çizim durumu (project_state)",
   "yazılan olayların meta verisi",
   "bekleyen davetler",
   "onay kayıtları (belge, sürüm, zaman)",
   "verdiğiniz beğeniler (proje, çalışma, zaman)",
   "yazdığınız yorumlar (proje, çalışma, metin, zaman)",
   "paylaşımlarınız (proje, çalışma, not, zaman)",
   "yazdığınız şikâyetler (hedef, neden, not, durum, zaman) ve denetimle gizlenen içeriğiniz",
   "asistan sohbetleriniz (çalışma, başlık, model, iletiler, zaman)",
   "Mağaza'da haber ver dediğiniz belgeler (belge, zaman)"
  ],
  "redactions": [
   "Parola özeti ve tuzu, oturum ve sıfırlama belirteçleri hiç yazılmaz",
   "Başka kişilerin e-posta adresleri yazılmaz; yalnız kimlik ve görünen ad",
   "Başkalarının projelerinin içeriği yazılmaz; yalnız üyelik ve rol"
  ]
 },
 "legal_holds": [],
 "provider_digest": "sha256:c46a7ff6a3a1722eecf48123600c782f73773d88b60b73bfc9e80913e6262769"
}