---
title: 'Kişisel Verinin Korunması'
source: 'https://academia.sh/tr/kurslar/yonetisim-risk-uyumluluk/kisisel-verinin-korunmasi'
course: 'Yönetişim, Risk ve Uyumluluk'
language: tr
updated: '2026-08-17T18:08:36+00:00'
license: 'CC BY-SA 4.0'
---

# Kişisel Verinin Korunması

Veri sahibi haklarının ve işleme ilkelerinin kalem olarak sayılması: 15 sistemin 3'ü envanterde olmadığı için 7 hak talebi türünün 6'sının eksik yanıtlanması ve ayda 121 talebin yüzde 28'inin gölge sistemlere takılması, bir talebin 30 ile 240 dakika arasında sürmesi ve aylık iş yükünün 381 kişi-saat ile 260 kişi-saatlik kapasiteyi aşması, envanteri tamamlamanın yükü 494,8 kişi-saate çıkarması, veri en azlığının 324,9'a indirmesi ve 7 işleme ilkesinin tamamının envanterin tamlığına bağlı olması.

Önceki dersin dört veri türünden biri ötekilere benzemiyordu: kişisel veri on bir sistemde geçiyor,
hiçbir daraltmayla ortadan kalkmıyor ve kaldırma denemelerinden sonra kalan on üç kontrolün
dokuzunu tek başına taşıyordu. Farkın kaynağı yaygınlık değildir. Öteki türlerde yükümlülük veriyi
tutan tarafa yazılır; kişisel veride yükümlülüğün bir bölümü **verisi tutulan kişiye bir hak
olarak** verilir. Hak, kurumun takvimine göre değil, hak sahibinin istediği anda kullanılır ve
kurumdan bir **eylem** ister.

Bu ders hakları ve işleme ilkelerini kalem olarak sayar. Hiçbir yasa, madde, kurum ya da ülke adı
yazılmaz; ölçülen şey yükümlülüğün adı değil, bir talebin kurumda kaç sistemi dolaştığı ve kaç
dakika tuttuğudur. Önceki derslerden gelen envanter burada belirleyici olur: **bir talep ancak
envanterdeki sistemlerde aranabilir.**

- **CE27.** Kurgu kurumda kişisel veri taşıyan 15 sistem vardır; üçü envanterde kayıtlı değildir.
  Sistemler, kayıt sayıları ve süreler **kurgudur**.
- **CE28.** Her sistem bir ya da daha çok **veri sınıfı** tutar: kimlik, iletişim, sözleşme, işlem,
  konum, şikâyet, profil.
- **CE29.** Yedi hak talebi türü tanımlıdır; her tür belirli veri sınıflarını arar ve yalnız o
  sınıfları tutan sistemlere dokunur.
- **CE30.** Bir talebin süresi, dokunduğu **envanterdeki** sistemlerin arama sürelerinin toplamı ile
  sabit bir işlem süresidir. Envanterde olmayan sistem aranmaz; süreye de girmez.
- **CE31.** Envanterde olmayan bir sistemde ilgili kişinin kaydının bulunma olasılığı, o sistemin
  kayıt sayısının abone sayısına oranıdır. Bir talep bu sistemlerden herhangi birinde kayıt
  bırakmışsa **eksik yanıtlanmıştır**.
- **CE32.** Talep ekibinin kapasitesi ayda 260 kişi-saattir (kurgu).

```js
// kisisel/talep.mjs — veri sahibi haklarinin kalem olarak sayilmasi.
// MODELDIR: bolgesel olcum agi (kurgu); sistemler, kayit sayilari ve sureler kurgudur.
export const satir = (s) => s.trim().split("\n").map((l) => l.trim().split("|"));
export const gen = (B) => (...h) => h.map((v, j) =>
  (j ? String(v).padStart(B[j]) : String(v).padEnd(B[0]))).join("");

export const ABONE = 420000;   // kurgu abone sayisi; kapsama orani buna bolunur
// sistem | envanterde mi | kayit | arama dakikasi | tuttugu veri siniflari
export const SISTEM = satir(`
  abone-portali|evet|420000|4|kimlik iletisim sozlesme
  fatura-uygulamasi|evet|380000|6|kimlik sozlesme islem
  fatura-veritabani|evet|380000|8|kimlik sozlesme islem
  cagri-merkezi-kaydi|evet|95000|12|kimlik iletisim sikayet
  saha-ekip-uygulamasi|evet|22000|9|kimlik konum
  is-emri-servisi|evet|140000|7|konum sozlesme
  kimlik-saglayici|evet|31000|3|kimlik
  dizin-servisi|evet|31000|3|kimlik iletisim
  raporlama-ambari|evet|1200000|25|islem profil
  yedek-deposu|evet|2400000|60|kimlik iletisim sozlesme islem
  arsiv-deposu|evet|900000|40|sozlesme
  gunluk-toplama-hatti|evet|5400000|18|islem
  pazarlama-listesi|hayir|60000|10|iletisim profil
  saha-tablo-dosyalari|hayir|8000|35|konum sikayet
  eski-cagri-yedegi|hayir|75000|30|iletisim sikayet`)
  .map(([ad, env, kayit, dk, sinif]) => ({ ad, env: env === "evet", kayit: +kayit, dk: +dk,
    sinif: sinif.split(" "), kapsam: Math.min(1, +kayit / ABONE) }));

// hak | aranan veri siniflari | kalem basina ek islem dakikasi | aylik talep (kurgu)
export const HAK = satir(`
  H1 kaydin kopyasi|kimlik iletisim sozlesme islem konum sikayet profil|30|40
  H2 duzeltme|kimlik iletisim|20|25
  H3 silme|kimlik iletisim sozlesme islem konum sikayet profil|45|30
  H4 islemeyi kisitlama|islem profil|25|6
  H5 itiraza konu isleme|iletisim profil|20|12
  H6 tasinabilirlik|sozlesme islem|40|5
  H7 otomatik karara itiraz|profil|30|3`)
  .map(([ad, s, ek, adet]) =>
    ({ ad, kod: ad.split(" ")[0], sinif: s.split(" "), ek: +ek, adet: +adet }));

export const dokunan = (h, kume = SISTEM) =>
  kume.filter((s) => s.sinif.some((x) => h.sinif.includes(x)));
export const sure = (h, kume = SISTEM) =>
  h.ek + dokunan(h, kume).filter((s) => s.env).reduce((a, s) => a + s.dk, 0);
// Envanterde olmayan bir sistemde o veri sahibinin kaydi bulunma olasiligi kapsam oranidir.
export const eksikOran = (h, kume = SISTEM) => 1 - dokunan(h, kume)
  .filter((s) => !s.env).reduce((a, s) => a * (1 - s.kapsam), 1);

if (import.meta.url === `file://${process.argv[1]}`) {
  const disi = SISTEM.filter((s) => !s.env);
  console.log(`model: ${SISTEM.length} sistem (${disi.length} tanesi envanterde degil), ` +
    `${HAK.length} hak talebi turu, ${HAK.reduce((a, h) => a + h.adet, 0)} talep/ay (kurgu)`);

  const y = gen([25, 9, 10, 10, 14, 11, 12]);
  console.log("\n" + y("hak talebi turu", "aranan", "atlanan", "sure dk", "aranan kayit",
    "talep/ay", "eksik %"));
  for (const h of HAK) {
    const d = dokunan(h), aranan = d.filter((s) => s.env);
    console.log(y(h.ad, aranan.length, d.length - aranan.length, sure(h),
      aranan.reduce((a, s) => a + s.kayit, 0).toLocaleString("tr-TR"), h.adet,
      (100 * eksikOran(h)).toFixed(1)));
  }
  const eksikTalep = HAK.reduce((a, h) => a + h.adet * eksikOran(h), 0);
  const toplam = HAK.reduce((a, h) => a + h.adet, 0);
  console.log(`\nenvanter disi sisteme dokunan hak turu ` +
    `${HAK.filter((h) => eksikOran(h) > 0).length}/${HAK.length}; ayda ` +
    `${eksikTalep.toFixed(1)}/${toplam} talep (%${(100 * eksikTalep / toplam).toFixed(1)}) ` +
    `eksik yanitlaniyor`);
  console.log(`envanter disi ${disi.length} sistem: ` +
    `${disi.map((s) => `${s.ad} (%${(100 * s.kapsam).toFixed(1)})`).join(", ")}`);
  const pahali = [...SISTEM].filter((s) => s.env).sort((a, b) => b.dk - a.dk).slice(0, 3);
  console.log(`arama suresini belirleyen uc sistem: ` +
    `${pahali.map((s) => `${s.ad} ${s.dk} dk`).join(", ")}; toplam is yuku ` +
    `${(HAK.reduce((a, h) => a + h.adet * sure(h), 0) / 60).toFixed(1)} kisi-saat/ay`);
}
```

```
model: 15 sistem (3 tanesi envanterde degil), 7 hak talebi turu, 121 talep/ay (kurgu)

hak talebi turu             aranan   atlanan   sure dk  aranan kayit   talep/ay     eksik %
H1 kaydin kopyasi               12         3       225    11.399.000         40        30.9
H2 duzeltme                      8         2       125     3.759.000         25        29.6
H3 silme                        12         3       240    11.399.000         30        30.9
H4 islemeyi kisitlama            5         1       142     9.760.000          6        14.3
H5 itiraza konu isleme           5         2       124     4.146.000         12        29.6
H6 tasinabilirlik                8         0       208    11.220.000          5         0.0
H7 otomatik karara itiraz        1         1        55     1.200.000          3        14.3

envanter disi sisteme dokunan hak turu 6/7; ayda 33.9/121 talep (%28.0) eksik yanitlaniyor
envanter disi 3 sistem: pazarlama-listesi (%14.3), saha-tablo-dosyalari (%1.9), eski-cagri-yedegi (%17.9)
arama suresini belirleyen uc sistem: yedek-deposu 60 dk, arsiv-deposu 40 dk, raporlama-ambari 25 dk; toplam is yuku 381.2 kisi-saat/ay
```

Tablo hakları tek bir cümleden kalem kümesine çeviriyor. Yedi hak türü aynı işi yapmıyor: kaydın
kopyası ve silme yedi veri sınıfının tamamını arar ve on iki sistem dolaşır, otomatik karara itiraz
yalnız profil sınıfına bakar ve tek sistemde biter. Süre 55 dakika ile 240 dakika arasındadır —
**aynı kurum, aynı kişi için, hangi hakkın kullanıldığına göre dört kattan fazla değişen bir iş
yapar.** Süreyi belirleyen de talebin kendisi değil, envanterin biçimidir: yedek deposu tek başına
60 dakika tutuyor ve dört hak türünde birden aranıyor.

İkinci sütun dersin ana ölçüsüdür. Yedi hak türünün altısı envanterde olmayan bir sisteme dokunuyor
ve o sistem hiç aranmıyor. Aranmayan sistem süreye girmez; bu yüzden **eksik yanıt, yanıt süresinde
hiçbir belirti vermez.** Talep zamanında kapatılır, sahibine "kaydınız şu üç sistemde bulundu"
denir ve gölge sistemdeki kayıt hiç anılmaz. Ayda 121 talebin 33,9'u — yüzde 28'i — bu durumdadır.

Bu, önceki üç dersin ölçtüğü şeylerden farklı bir kusurdur. Kanıtsız gereksinim denetimde görünür,
kapsam dışı kalem uygulanabilirlik bildiriminde yazılır — ikisi de bir yerde **kayıtlıdır**. Gölge
sistemin ürettiği eksiklik hiçbir yerde kayıtlı değildir: ne talep kaydında, ne süre ölçümünde, ne
de kanıt dosyasında bir iz bırakır. Ölçülebilmesinin tek yolu, envanterin dışında ne olduğunun
ayrıca aranmasıdır; envanterin kendisiyle bulunamaz.

Oran hak türüne göre değişiyor ve nedeni gölge sistemlerin kapsama oranıdır: eski çağrı yedeği
abonelerin yüzde 17,9'unu, pazarlama listesi yüzde 14,3'ünü, saha tablo dosyaları yüzde 1,9'unu
içeriyor. İletişim sınıfına dokunan haklarda iki gölge sistem birden devrededir ve eksik yanıt
oranı yüzde 29,6'ya çıkıyor. Taşınabilirlik ise tek temiz haktır: sözleşme ve işlem sınıfları hiçbir
gölge sistemde tutulmuyor.

## İki Seçenek, Aynı Kapasite

Eksik yanıt oranını düşürmenin iki yolu vardır ve ikisi zıt yönde çalışır: envanteri tamamlamak
(gölge sistemleri kayda geçirip aramaya dâhil etmek) ya da veriyi azaltmak (bir sınıfı hiç
tutmamak, süresi dolan deposu boşaltmak).

```js
// kisisel/senaryo.mjs — envanteri tamamlamanin ve veriyi azaltmanin talep yukune etkisi.
import { SISTEM, HAK, satir, gen, sure, eksikOran } from "./talep.mjs";

const KAPASITE = 260;   // kisi-saat/ay (iki kisi, kurgu)
const isYuku = (k) => HAK.reduce((a, h) => a + h.adet * sure(h, k), 0) / 60;
const eksik = (k) => HAK.reduce((a, h) => a + h.adet * eksikOran(h, k), 0);

// Senaryolar ayni sistem kumesi uzerinde tanimli donusumlerdir.
const envanterTam = (k) => k.map((s) => ({ ...s, env: true }));
const enAzlik = (k) => k.filter((s) => s.ad !== "arsiv-deposu")
  .map((s) => s.ad === "raporlama-ambari"
    ? { ...s, sinif: s.sinif.filter((x) => x !== "profil") } : s);

const SENARYO = [["taban", (k) => k], ["envanter tamamlanir", envanterTam],
  ["veri en azligi", enAzlik], ["ikisi birden", (k) => enAzlik(envanterTam(k))]];

const y = gen([22, 9, 12, 13, 14, 12]);
console.log(`aylik ${HAK.reduce((a, h) => a + h.adet, 0)} talep, kapasite ` +
  `${KAPASITE} kisi-saat/ay (kurgu)`);
console.log("\n" + y("senaryo", "sistem", "eksik/ay", "eksik %", "kisi-saat/ay", "kapasite %"));
for (const [ad, don] of SENARYO) {
  const k = don(SISTEM), y2 = isYuku(k), e = eksik(k);
  const toplam = HAK.reduce((a, h) => a + h.adet, 0);
  console.log(y(ad, k.length, e.toFixed(1), (100 * e / toplam).toFixed(1), y2.toFixed(1),
    (100 * y2 / KAPASITE).toFixed(0)));
}

// Isleme ilkeleri: her ilke bir kanit kalemine ve bir veri sinifi kumesine baglidir.
// ilke | kapsadigi veri siniflari | donemde uretilen kanit kalemi
const HEPSI = "kimlik iletisim sozlesme islem konum sikayet profil";
const ILKE = satir(`
  hukuka uygun dayanak|iletisim profil|120
  amac sinirlamasi|islem profil|4
  veri en azligi|${HEPSI}|4
  dogruluk|kimlik iletisim|12
  saklama siniri|sozlesme islem sikayet|365
  butunluk ve gizlilik|${HEPSI}|365
  hesap verebilirlik|${HEPSI}|4`)
  .map(([ad, s, kalem]) => ({ ad, sinif: s.split(" "), kalem: +kalem }));

const z = gen([22, 13, 14, 22, 16]);
console.log("\n" + z("isleme ilkesi", "veri sinifi", "kanit kalemi", "envanter disi sistem",
  "dogrulanabilir"));
for (const i of ILKE) {
  const disi = SISTEM.filter((s) => !s.env && s.sinif.some((x) => i.sinif.includes(x)));
  console.log(z(i.ad, i.sinif.length, i.kalem, disi.length, disi.length ? "hayir" : "evet"));
}
const bagli = ILKE.filter((i) =>
  SISTEM.some((s) => !s.env && s.sinif.some((x) => i.sinif.includes(x))));
console.log(`\n${ILKE.length} isleme ilkesinin ${bagli.length} tanesi envanterin ` +
  `tamligina bagli; envanter tamamlandiginda ${ILKE.length} ilkenin tamami dogrulanabilir ` +
  `hale geliyor ve is yuku ${(isYuku(envanterTam(SISTEM)) - isYuku(SISTEM)).toFixed(1)} ` +
  `kisi-saat/ay artiyor`);
console.log(`ilkelerin donemde urettigi kanit kalemi ` +
  `${ILKE.reduce((a, i) => a + i.kalem, 0)}; talep karsilamanin yillik yuku ` +
  `${(isYuku(SISTEM) * 12).toFixed(0)} kisi-saat`);
```

```
aylik 121 talep, kapasite 260 kisi-saat/ay (kurgu)

senaryo                  sistem    eksik/ay      eksik %  kisi-saat/ay  kapasite %
taban                        15        33.9         28.0         381.2         147
envanter tamamlanir          15         0.0          0.0         494.8         190
veri en azligi               14        33.9         28.0         324.9         125
ikisi birden                 14         0.0          0.0         438.6         169

isleme ilkesi           veri sinifi  kanit kalemi  envanter disi sistem  dogrulanabilir
hukuka uygun dayanak              2           120                     2           hayir
amac sinirlamasi                  2             4                     1           hayir
veri en azligi                    7             4                     3           hayir
dogruluk                          2            12                     2           hayir
saklama siniri                    3           365                     2           hayir
butunluk ve gizlilik              7           365                     3           hayir
hesap verebilirlik                7             4                     3           hayir

7 isleme ilkesinin 7 tanesi envanterin tamligina bagli; envanter tamamlandiginda 7 ilkenin tamami dogrulanabilir hale geliyor ve is yuku 113.7 kisi-saat/ay artiyor
ilkelerin donemde urettigi kanit kalemi 874; talep karsilamanin yillik yuku 4574 kisi-saat
```

Birinci tablo takası çıplak biçimde gösteriyor. Taban durumda ekip kapasitesinin yüzde 147'si kadar
iş var ve talepler zaten yetişmiyor; üstelik yetişmeyen bu iş, taleplerin yüzde 28'ini eksik
yanıtlayarak yapılıyor. Envanter tamamlandığında eksik yanıt sıfırlanıyor ama iş yükü 494,8
kişi-saate çıkıyor — kapasitenin yüzde 190'ı. **Doğru yanıt vermek, yanlış yanıt vermekten yüzde 30
daha pahalıdır** ve bu fark hiçbir yerde bir gider kalemi olarak görünmez.

İkinci satırla üçüncü satırı yan yana koymak dersin sonucudur. Veri en azlığı iş yükünü 324,9'a
indiriyor ve kapasiteye yaklaştırıyor, ama eksik yanıt oranını hiç değiştirmiyor: kaldırılan
kalemler zaten envanterdeydi, gölge sistemler yerinde duruyor. İki seçenek **farklı sorunları**
çözüyor. Yalnız biri seçilirse ya doğru ama yetişmeyen bir süreç, ya hızlı ama eksik bir süreç
çıkar; ikisi birden uygulandığında eksik yanıt sıfırlanıyor ve yük 438,6'ya iniyor — hâlâ
kapasitenin üzerinde. Kapasiteyi büyütmeden çözülen bir durum yok, ve bu da bir karardır.

İkinci tablo aynı eksiği kanıt tarafında gösteriyor. Yedi işleme ilkesinin **yedisi de** envanterde
olmayan en az bir sisteme dokunuyor ve hiçbiri doğrulanabilir durumda değil. Amaç sınırlaması tek
bir gölge sisteme takılıyor, veri en azlığı ve hesap verebilirlik üçüne birden. Bu, ilkelerin
uygulanmadığı anlamına gelmez; **uygulandığının gösterilemeyeceği** anlamına gelir. Üçüncü dersin
ayrımı burada aynen geçerlidir: bir ilkenin kontrolü olabilir, kanıt kalemi de üretiyor olabilir,
ama kanıtın kapsamı envanterin kapsamıyla sınırlıdır. Bu yüzden kişisel veride ilk kalem bir kontrol
değil, **envanterin kendisidir**; ondan önce sayılan her şey eksik bir kümenin üzerinde sayılmıştır.

## Özet

- Veri sahibi hakları yedi ayrı talep türüdür ve aynı işi yapmazlar: kaydın kopyası ve silme on iki
  sistem dolaşıp 225–240 dakika tutarken otomatik karara itiraz tek sistemde 55 dakikada biter.
- Envanterde olmayan sistem aranmaz ve süreye girmez; bu yüzden eksik yanıt, yanıt süresinde hiçbir
  belirti vermez. Yedi hak türünün altısı bu durumdadır ve ayda 121 talebin yüzde 28'i eksik
  yanıtlanıyor.
- Eksik yanıt oranını gölge sistemlerin kapsama oranı belirliyor: iletişim sınıfına dokunan
  haklarda iki gölge sistem birden devrededir ve oran yüzde 29,6'ya çıkıyor; taşınabilirlik tek
  temiz haktır.
- Doğru yanıt vermek pahalıdır: envanter tamamlandığında eksik yanıt sıfırlanıyor ama aylık iş yükü
  381,2'den 494,8 kişi-saate çıkıyor — 260 kişi-saatlik kapasitenin yüzde 190'ı.
- Envanteri tamamlamak ile veriyi azaltmak farklı sorunları çözüyor: en azlık yükü 324,9'a
  indiriyor ama eksik yanıt oranını hiç değiştirmiyor; ikisi birden uygulandığında bile yük
  kapasitenin üzerinde kalıyor.
- Yedi işleme ilkesinin yedisi de envanterde olmayan bir sisteme dokunduğu için doğrulanamıyor:
  ilkenin uygulanmaması değil, uygulandığının gösterilememesi söz konusudur.

## Sonraki Adım

Son iki tablonun ortak yanı, ölçülen her şeyin bir **belgeye** dayanmasıdır: envanter bir belgedir,
saklama süresi bir belgede yazar, talep akışının adımları bir belgede tanımlıdır. Bu derse kadar
belgeler tek bir kütle gibi ele alındı — oysa aralarında denetim açısından keskin bir fark vardır.
Bir belge "kişisel veriyi koruruz" der ve hiçbir şey kanıtlamaz; bir başkası "saklama süresi 1.095
gündür" der ve ölçülebilir bir eşik verir; üçüncüsü adım adım bir yordam tanımlar ve her koşumunda
bir kayıt üretir.

Sonraki ders bu üç düzeyi — politika, standart ve yordam — kanıt üretimi ekseninde ayırır: hangi
belge düzeyi denetimde kanıt sayılır, hangisi yalnız niyet bildirir ve bir gereksinimin karşılandığını
göstermek için zincirin kaç halkasının tam olması gerekir.
