🚀 Dijital dönüşümünüze bugün başlayın! İlk 3 imza ücretsiz - Hemen deneyin!

T.C. Kimlik Doğrulama Nedir, Nasıl Yapılır? NVI/KPS Tam Rehber (2026)

T.C. Kimlik Doğrulama Nedir, Nasıl Yapılır? NVI/KPS Tam Rehber (2026)

T.C. kimlik doğrulama, dijital sözleşmelerden online ödemeye, üyelik kayıtlarından vize başvurularına kadar pek çok süreçte karşılaştığımız bir adım. Ama nasıl çalışır? Hangi yöntemler var? KPSPublic kapanınca ne değişti? Bu rehber tüm soruları cevaplıyor.

T.C. Kimlik Doğrulama — NVI Kimlik Paylaşım Sistemi (KPS) entegrasyonu Görsel: Dijital kimlik doğrulama akışı — mobil cihazdan anlık teyit

T.C. Kimlik Doğrulama Nedir?

T.C. kimlik doğrulama, bir kişinin beyan ettiği 11 haneli T.C. kimlik numarasının (1) format olarak geçerli olup olmadığını ve (2) gerçekten o kişiye ait olup olmadığını teyit etme işlemidir. İki katmanlı kontrol gerektirir:

KatmanYöntemNe Doğrular?
1. AlgoritmikMod10 + Mod11 hesaplamaNumaranın format kuralına uyduğunu (sahte üretimi engeller)
2. KPS SorgusuNVI Kimlik Paylaşım SistemiNumaranın gerçekten o kişiye ait olduğunu

Sadece algoritmik kontrol yeterli değildir — algoritmaya uyan ama gerçekte kimseye ait olmayan numaralar üretilebilir. Gerçek doğrulama için NVI KPS sorgusu şarttır.

1. Algoritmik Doğrulama: Mod10 + Mod11

T.C. kimlik numarasının matematiksel olarak iki kuralı vardır:

10. Hane Kuralı (Mod 10)

İlk 9 hanenin algoritmik kombinasyonu:

adım 1: tek_haneler_toplamı = 1. + 3. + 5. + 7. + 9. hane
adım 2: cift_haneler_toplamı = 2. + 4. + 6. + 8. hane
adım 3: (tek_haneler_toplamı × 7) - cift_haneler_toplamı
adım 4: sonucun mod 10'u → 10. hane

11. Hane Kuralı (Mod 10)

İlk 10 hanenin toplamının mod 10’u 11. haneye eşittir:

(1. + 2. + 3. + ... + 10. hane) mod 10 → 11. hane

Ek Kurallar

  • 11 hane olmak zorunda — daha az veya fazla geçersiz
  • İlk hane 0 olamaz — TC kimlik no 1-9 ile başlar
  • Sadece rakam — boşluk, tire, harf yok

Örnek Python Implementation

def tc_kimlik_format_dogrula(tc: str) -> bool:
    if len(tc) != 11 or not tc.isdigit() or tc[0] == '0':
        return False

    haneler = [int(d) for d in tc]
    tek_toplam = haneler[0] + haneler[2] + haneler[4] + haneler[6] + haneler[8]
    cift_toplam = haneler[1] + haneler[3] + haneler[5] + haneler[7]

    onuncu_hane = ((tek_toplam * 7) - cift_toplam) % 10
    onbirinci_hane = sum(haneler[:10]) % 10

    return haneler[9] == onuncu_hane and haneler[10] == onbirinci_hane

Önemli: Bu kontrol numaranın format olarak doğru olduğunu gösterir. Algoritmaya uygun ama gerçekte kimseye ait olmayan numaralar tek seferde 100.000+ üretilebilir. Asıl doğrulama bir sonraki adımda.

TC kimlik doğrulama algoritması — kod görünümü Görsel: Mod10 + Mod11 algoritması — sadece şekil kontrolü, gerçek doğrulama değil

2. NVI Kimlik Paylaşım Sistemi (KPS) Sorgusu

Asıl doğrulama burada başlar. Nüfus ve Vatandaşlık İşleri Genel Müdürlüğü (NVI), Kimlik Paylaşım Sistemi (KPS) üzerinden Türk vatandaşlarının kimlik bilgilerini sorgulanabilir hale getirir.

KPS Sorgusu Nasıl Çalışır?

ParametreAçıklama
TC Kimlik No11 haneli numara
Adİlk ad (anlık format)
SoyadSoyad
Doğum Yılı4 hane (örn: 1985)

Bu 4 parametre eşleşirse KPS TRUE döner; en az biri eşleşmezse FALSE. Yanıt, ham kişisel veri içermez — sadece “eşleşti / eşleşmedi” durumu döner.

Önemli: KPSPublic Kapatıldı (30 Eylül 2025)

Önceden NVI’nin ücretsiz KPSPublic.asmx SOAP servisi vardı; herhangi bir geliştirici, ücretsiz KPS sorgusu yapabilirdi. Ancak:

  • ⚠️ 30 Eylül 2025 itibarıyla NVI, KPSPublic servisini kullanıma kapattı
  • ✅ Bugün TC kimlik doğrulaması yalnızca KPS Kurumsal Üyeliği olan kuruluşlar üzerinden mümkün
  • 📋 Sebep: kötüye kullanımın artması, KVKK kapsamında audit sorumluluğunun belirginleşmesi, trafik kontrolü

Yani: Artık bir geliştirici “ücretsiz KPS API” arar ama bulamaz. Doğrulamanın iki yolu kaldı:

  1. Kuruluş olarak kendi KPS Kurumsal üyeliğinize başvurun (NVI’dan, ücretsiz ama 2-8 hafta onay)
  2. KPS üyeliği olan bir SaaS hizmeti üzerinden dolaylı kullanın (anında, sorgu bazlı ücretlendirme)

Hetzner veri merkezi + KVKK uyumlu altyapı Görsel: KVKK uyumlu kimlik doğrulama altyapısı — Almanya veri merkezinde işlenen ama sadece sorgu zamanı kullanılan veriler

Kurumsal KPS Üyeliği Nasıl Alınır?

NVI Kurumsal KPS başvurusu kpsbasvuru.nvi.gov.tr adresinden yapılır. Gerekenler:

Gerekli Belgeler

  • ✅ Kuruluşun vergi numarası ve faaliyet belgesi
  • Kimlik doğrulama amacının yazılı beyanı (KVKK m.5/2-e veya açık rıza temeli)
  • Erişim sorumlusu ataması (T.C. kimlik bilgileri + iletişim)
  • Audit log saklama taahhüdü (en az 2 yıl)
  • Trafik tahmini (yıllık beklenen sorgu sayısı)

Onay Süreci

Kuruluş TipiOnay Süresi
Kamu kurumu2-3 hafta
Anonim/Limited şirket4-6 hafta
Şahıs şirketi6-8 hafta
Vakıf/Dernek4-10 hafta

Maliyet

NVI Kurumsal KPS üyeliği ücretsiz. Ancak gizli maliyetler vardır:

  • SOAP/REST API altyapı kurulumu (~₺15-50K)
  • Audit log saklama ve raporlama (~₺5-20K/yıl)
  • KVKK uyum belgeleri ve hukuki danışmanlık (~₺5-15K)
  • Geliştirici zamanı (~10-30 adam-gün)

Toplam tahmini ilk yıl maliyet: ₺50-150K (kuruluş kendi yapıyorsa)

KVKK Uyumlu Kimlik Doğrulama

T.C. kimlik numarası kişisel veri olduğundan KVKK kapsamındadır. Doğrulama yaparken hukuki dayanaklar:

Hukuki Sebepler (KVKK m.5)

SebepKullanım Alanı
m.5/2-c — sözleşmenin kurulması/ifası ile doğrudan ilgiliOnline sözleşme imzalama, üyelik kaydı
m.5/2-e — veri sorumlusunun hukuki yükümlülüğüYasal zorunluluk olan sektörler (finans, sigorta)
m.5/2-f — meşru menfaatFraud önleme (denge testi ile)
m.5/1 — açık rızaAçık rıza yoluyla (ek özen gerekir)

Açık rıza şart değildir — doğru hukuki sebep seçilirse rızasız da doğrulanabilir. Ancak aydınlatma yükümlülüğü vardır.

Aydınlatma Metni Şablonu

“T.C. kimlik numaranız, NVI Kimlik Paylaşım Sistemi (KPS) üzerinden sözleşmenin tarafını doğrulamak amacıyla işlenir. Sorgu yanıtı (eşleşti/eşleşmedi) [retention süresi] boyunca audit kaydı olarak saklanır; ham kimlik bilgileri saklanmaz. KVKK m.5/2-c kapsamında işlenir.”

Audit Trail Zorunluluğu

Her sorgu için kayıt altına alınması gerekenler:

  • 🕐 Sorgu zamanı (timestamp)
  • 👤 Sorgu yapan kullanıcı/sistem
  • 🌐 Kaynak IP
  • ✅ Sorgu sonucu (TRUE/FALSE)
  • 📋 Sorgunun bağlı olduğu sözleşme/işlem ID

Önemli: Ham kimlik bilgileri (ad-soyad-doğum tarihi) kalıcı olarak saklanmaz, sadece doğrulama anında kullanılır.

Biyometrik kimlik doğrulama — parmak izi tarayıcı Görsel: Biyometrik kimlik doğrulama, KPS sorgusunu güçlendiren ek katmandır

TC Kimlik Doğrulama Hangi Sektörlerde Kullanılır?

Yasal Zorunluluk Olanlar

  • 💰 Finansal Hizmetler — banka, kredi, sigorta (BDDK ve SEDDK düzenlemeleri)
  • 🏥 Sağlık — özellikle KVKK m.6 özel nitelikli sağlık verisi işleyen
  • 🎓 Eğitim — özellikle MEB ve YÖK düzenleme kapsamında
  • ✈️ Vize ve Pasaport Aracılık — Konsolosluk şartı

Güçlü Tavsiye Edilenler

  • 📝 Online Sözleşme İmzalama — fraud önleme + mahkemede ispat gücü
  • 🛒 E-ticaret — yüksek tutarlı satışlar, taksitli ödemeler
  • 🏠 Gayrimenkul — satış vaadi sözleşmesi, kira kontratı
  • 💼 İK / İşe Alım — iş sözleşmesi, gizlilik anlaşması (NDA)
  • 📱 Telekom — hat tahsisi, abone tescil

Opsiyonel ama Yararlı

  • 🤝 B2B Sözleşmeler — yetkili imzacının kuruluşu temsil ettiğini teyit
  • 🎫 Etkinlik Kayıt — yüksek değerli etkinlikler, üyelik
  • 💳 Yüksek Tutarlı Cüzdan/Hesap — fintech kullanım

API Entegrasyonu — Pratik Örnekler

İmzala.org’un Kimlik Doğrulama API’si REST + JSON üzerinden çalışır. Tipik akış:

1. API Anahtarı Alma

Dashboard → Ayarlar → API Anahtarları → “Yeni Anahtar” → KPS doğrulama izni etkinleştir.

2. Sorgu (cURL)

curl -X POST https://api.imzala.org/api/v1/identity/verify \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "tc_kimlik_no": "12345678901",
    "ad": "Mehmet",
    "soyad": "Yılmaz",
    "dogum_yili": 1985
  }'

3. Yanıt (JSON)

{
  "verified": true,
  "request_id": "req_a1b2c3d4e5",
  "timestamp": "2026-05-29T08:42:13Z",
  "audit_id": "audit_xyz789"
}

4. Diğer Diller

DilÖrnek Kod Yeri
Node.jsapi-docs.imzala.org/identity/nodejs
Pythonapi-docs.imzala.org/identity/python
PHPapi-docs.imzala.org/identity/php
.NETapi-docs.imzala.org/identity/dotnet
iOS Swiftapi-docs.imzala.org/identity/ios
Android Kotlinapi-docs.imzala.org/identity/android

Webhook Bildirimi (Opsiyonel)

Asenkron doğrulama için webhook desteği var. Sorgu gönderirsiniz, sonuç hazır olduğunda webhook URL’inize POST atılır. Yüksek hacimli sistemler için ideal.

Parmak izi + dijital güvenlik — biyometrik doğrulama katmanı Görsel: Parmak izi tarayıcısı + biyometrik doğrulama, KPS’in üstüne ek bir güvenlik katmanı

Sık Sorulan Sorular

TC kimlik numarası 11 hanelidir ve iki algoritmik kuralı vardır. (1) 10. hane: ilk 1, 3, 5, 7, 9. hanelerin toplamı × 7’den, 2, 4, 6, 8. hanelerin toplamı çıkarılır, sonucun mod 10’u alınır. (2) 11. hane: ilk 10 hanenin toplamının mod 10’u. Bu kontroller numaranın FORMAT olarak geçerli olduğunu gösterir; gerçek kişiye ait olduğunu kanıtlamaz. Gerçek doğrulama için NVI KPS sorgusu şarttır.

Kimlik Paylaşım Sistemi (KPS), Nüfus ve Vatandaşlık İşleri Genel Müdürlüğü (NVI) tarafından sağlanan resmi kimlik doğrulama altyapısıdır. Kurum ve kuruluşların TC kimlik bilgilerini doğrulamak için kullandıkları sistemdir. KPS üzerinden TC kimlik no + ad + soyad + doğum yılı kombinasyonu sorgulanır, sonuç TRUE/FALSE olarak döner.

NVI, 30 Eylül 2025 tarihinde ücretsiz KPSPublic.asmx servisini kullanıma kapattı. Sebepleri: (1) kötüye kullanımın artması (botlar, fraud girişimleri), (2) trafik denetiminin zorlaşması, (3) KVKK kapsamında audit trail sorumluluğunun belirginleşmesi. Bu tarihten sonra TC kimlik doğrulaması yalnızca KPS Kurumsal Üyeliği bulunan kuruluşlar için resmi yoldan mümkündür.

NVI Kurumsal KPS başvurusu kpsbasvuru.nvi.gov.tr adresinden yapılır. Başvuru için: (1) Kuruluşun vergi numarası ve faaliyet belgesi, (2) Kimlik doğrulama amacının yazılı beyanı (KVKK m.5/2-e veya açık rıza), (3) Erişim sorumlusu atama, (4) Audit log saklama taahhüdü gerekir. Onay süreci kuruluş tipine göre 2-8 hafta arasındadır.

Doğrudan NVI üzerinden hayır. Ancak KPS üyeliği olan bir aracı SaaS hizmeti üzerinden dolaylı olarak doğrulama yapılabilir. İmzala.org bu modelde çalışır: müşterinin kendi KPS Kurumsal API bilgileri platforma tanımlanır, doğrulama trafiği müşterinin NVI hesabı üzerinden ilerler, audit kayıtları müşterinin kendi denetim sorumluluğundadır.

Evet, doğru yapıldığında. KVKK m.5/2-e ‘veri sorumlusunun hukuki yükümlülüğünü yerine getirebilmesi için zorunlu olması’ veya m.5/2-c ‘sözleşmenin kurulması/ifası ile doğrudan ilgili olması’ hukuki sebepleri kullanılır. Açık rıza şart değildir; ancak aydınlatma metninde ‘TC kimlik numarası NVI Kimlik Paylaşım Sistemi üzerinden doğrulanır’ beyanı yer almalıdır. Sorgu yanıtı (TRUE/FALSE) saklanır, ham kişisel veri yanıtı saklanmaz.

Evet — iki katman ile. (1) Algoritmik kontrol (mod10 + mod11) ile şekilsel olarak geçersiz numaraları anında reddedersiniz. (2) KPS sorgusu ile gerçekten o kişiye ait olmayan numaraları yakalayabilirsiniz. Bu iki katman birlikte sahtecilik riskini büyük ölçüde sıfırlar. Ek olarak: biyometrik imza + kimlik fotoğrafı (selfie + TC kart) ile daha güçlü doğrulama yapılabilir.

Yasal olarak her sözleşmede zorunlu değil, ama bazı sektörlerde gereklidir. Finansal hizmetler (kredi, sigorta), sağlık hizmetleri, vize aracılık hizmetleri ve KVKK m.6 özel nitelikli veri işleyen platformlar için kimlik doğrulama güçlü tavsiye edilir. Ticari sözleşmelerde de fraud riskini ve mahkemede ispat yükünü düşürmek için yaygın olarak kullanılır.

Doğrudan NVI’dan başvurursanız KPS Kurumsal üyeliği ücretsiz ama altyapı kurulum maliyeti var (SOAP API, audit log saklama, KVKK uyum belgeleri). SaaS sağlayıcı üzerinden alırsanız sorgu başına ücretlendirme yaygın (₺0.50-₺5 arası). İmzala.org abonelik planında belirli sayıda ücretsiz sorgu dahildir, üstü tüketim bazlı.

Evet, REST API üzerinden mobil + web + backend her platformdan çağrılabilir. İmzala.org’un kimlik doğrulama API’si Bearer token ile çalışır, HTTPS zorunlu, yanıt JSON. iOS Swift, Android Kotlin, Flutter Dart için kod örnekleri dökümanlarımızda mevcut.

İmzala.org’un kimlik doğrulama altyapısı Almanya Hetzner veri merkezinde (KVKK Türkiye + GDPR AB çift uyum kapsamında) işlenir. Sorgu yanıtları sadece TRUE/FALSE ve audit metadata içerir; ham kişisel veri (ad-soyad-doğum tarihi) Almanya’da loglanmaz, sadece doğrulama anında kullanılır.

Sonuç

T.C. kimlik doğrulama, online iş süreçlerinde fraud önleme + KVKK uyumu + mahkemede ispat gücü için kritik. İki katman gerektirir: algoritmik kontrol (format) + NVI KPS sorgusu (gerçek doğrulama). KPSPublic’in 30 Eylül 2025’te kapatılmasıyla artık sadece Kurumsal KPS üyeliği olan kuruluşlar veya bu üyeliği olan aracı SaaS’lar üzerinden doğrulama mümkün.

Kuruluşunuzun seçenekleri:

  1. NVI’dan kendi Kurumsal KPS üyeliğinizi alın — ücretsiz ama 4-8 hafta + altyapı maliyeti
  2. SaaS aracı (İmzala.org gibi) kullanın — dakikalar içinde, sorgu bazlı ücretlendirme

İlgili Rehberler:

Demo Talep Et

15 dakikalık ücretsiz demo ile imzala.org'un kurumunuza nasıl uyduğunu birlikte görelim.

E-posta veya telefondan en az birini doldurun.