Gizlilik Operasyonları
MevzuatRadar gizlilik operasyonları KVKK 6698 Madde 11-13 ve GDPR Article 12-22 ortak gereksinimlerini kod düzeyinde uygular. Bu sayfa müşteri DPO/CSO ekiplerinin denetim sırasında talep ettiği teknik akışları açıklar.
Veri Sahibi Başvuruları (DSR)
Haklar
KVKK Madde 11 kapsamında veri sahibinin hakları:
| Hak | Endpoint | İç akış |
|---|---|---|
| Erişim (Access) | POST /api/v1/privacy/dsr kind=ACCESS | JSON snapshot — profil + etkinlik özeti |
| Düzeltme (Rectify) | POST /api/v1/privacy/dsr kind=RECTIFY | Privacy ekibi review (PENDING_REVIEW) |
| Silme (Erasure) | POST /api/v1/privacy/dsr kind=DELETE | Privacy ekibi review + müşteri admin onay |
| İşleme kısıtlama | POST /api/v1/privacy/dsr kind=RESTRICT | Hesap freeze, audit log korunur |
| Veri taşınabilirliği | POST /api/v1/privacy/dsr kind=EXPORT | Anlık CSV/JSON export |
| İtiraz | POST /api/v1/privacy/dsr kind=OBJECT | İşleme durdurma (legal-basis review) |
SLA
KVKK Madde 13(2): 30 gün (gerekçeli durumda 60 güne uzayabilir; veri sahibine bildirilir). MevzuatRadar iç hedef: 15 iş günü.
Doğrulama
- Authenticated kullanıcı: oturum + 2FA OTP yeterli.
- Yetkili olmayan başvuru (eski çalışan, üçüncü taraf): kimlik doğrulama için TC kimlik + e-imza + müşteri admin onay.
- Toplu başvuru (kurum): KEP üzerinden müşteri DPO talebi.
Audit
Her DSR talebi PublicStatusAuditLog tablosuna yazılır:
DSR_REQUEST_CREATED → DSR_VERIFIED → DSR_FULFILLED | DSR_REJECTED.
Tamper-evident hash zinciri sonradan değişiklik izini görünür kılar; hukuki
WORM/immutable storage beyanı değildir.
Retention Tablosu
| Veri Türü | Aktif Süre | Post-termination | Yasal Dayanak |
|---|---|---|---|
| Subscriber e-posta (encrypted) | Aktif sürekli | 90 gün | KVKK + GDPR sınırlı işleme amacı |
| Subscriber unsubscribe sonrası | 90 gün | Hash + AES purge | KVKK Madde 7(1) |
| Authenticated kullanıcı profili | Aktif sürekli | 180 gün | Müşteri sözleşmesi süresi |
Audit log (PublicStatusAuditLog) | 7 yıl | 7 yıl | TTK Madde 82 |
| Notification log | 365 gün | recipientHash purge | Operasyonel |
| Outbox events | 180 gün | Purge | Operasyonel |
| Component state transitions | 90 gün | Purge | Operasyonel |
| KV history (CF) | 90 gün | Auto-trim | CF Pages limit |
Retention purge cron’u her gece 03:00 Europe/Istanbul’da çalışır
(scripts/kvkk-status-retention.cron.ts); her purge audit log’a kayıt
düşer.
Audit Log Hash Zinciri
Tüm KVKK ile ilgili işlemler (DSR, retention purge, admin manuel müdahale,
subscriber confirm/unsubscribe) PublicStatusAuditLog tablosuna append-only
yazılır.
- Hash zinciri:
chainHash(prev, content)SHA-256 (apps/api/src/modules/public-status-subscribe/public-status-subscribe.crypto.ts). - Tampering korunması: PostgreSQL trigger UPDATE/DELETE’i reddeder.
- Bütünlük doğrulaması: Her gece 03:30 Europe/Istanbul’da
public-status-audit-verify.cron.tszinciri yürür; kopukluk varsa tier-4 alarm (operatör pager). - PII: kayıtlarda kişisel veri saklanmaz; subscriberId opaque hash,
IP
sha256(ipAddress).
Restore Drill (Yedek Geri Yükleme Tatbikatı)
Çeyrek dönemde bir kez yapılan zorunlu tatbikat. Hedef: RPO 4 saat, RTO 1 saat.
- Komut:
ops/main-server/restore-drill.sh(varsayılandry-run). - Execute mode: staging URL, S3 backup URI ve
RESTORE_DRILL_ALLOW=truezorunludur (yanlışlıkla prod restore engellenir). - Kayıt: drill sonrası
RESTORE_DRILL_LEDGER.json’a sonuç + süre yazılır.
Incident Tabletop (Olay Tatbikatı)
scripts/incident-response-tabletop.sh dört senaryo:
- Credential leak: API key sızıntı, rotation prosedürü.
- Cross-tenant access: yetki dışı erişim, isolation doğrulama.
- Ransomware restore: backup’tan kurtarma, RTO ölçümü.
- Provider outage: Cloudflare/Hetzner/OpenAI partial down, fallback path.
KVKK 72 saat bildirim penceresi her senaryoda test edilir; postmortem
template (docs/security/post-mortem-template.md) ile rapor üretilir.
Müşteri Talep Akışı
| Konu | Kanal | SLA |
|---|---|---|
| Veri sahibi başvurusu (DSR) | [email protected] | 15 iş günü (KVKK m.13/2 30 gün üst sınır) |
| KVKK Bilgi ve İletişim talebi | [email protected] | KEP üzerinden 5 iş günü |
| Audit log talebi (forensic) | [email protected] | NDA + 5 iş günü |
Kaynak
- KVKK 6698 sayılı kanun
- KVKK Tebliğ (24 Ocak 2019) — veri ihlali bildirimi
- GDPR Article 12-22 (veri sahibi hakları)
- TTK Madde 82 (defter saklama süreleri)