ADR-0011 — Tamga Geçici Kimlik Attestation Sağlayıcısı
Durum: Accepted (2026-09-25). Açık noktalar kararı: (1) TCKN attestation'da taşınır, seçici açıklamalı; (2) geçerlilik 2 yıl; (3) NFC ayrı tip değil, aynı tipte document_chip_verified; (4) KVKK aydınlatma + açık rıza kimlik servisinin /authorize sayfasında. DECISIONS §0 D-ID-6; SPEC-PROTO-0001 v1.2.0, SPEC-ID-0003 v0.2.0, SPEC-TRUST-0001 v1.0.1, FW-TF-0001/FW-RB-0001 v0.1.1 aynı oturumda. Uygulama: apps/id (operatör deposu), @tamga-network/wallet-core authcode/directory, @tamga-network/issuer authcode, cüzdan ekranları; testler 11/11 + sahne 2b gerçek HTTP.
Bağlam
Türkiye'de ve TDT üyelerinde eIDAS (electronic IDentification, Authentication and trust Services)AB'nin elektronik kimlik ve güven hizmetleri tüzüğü; eIDAS 2.0 Avrupa Dijital Kimlik Cüzdanı'nı getirir. anlamında atanmış bir PID (Person Identification Data)Devletin en yüksek güvence seviyesinde verdiği temel kimlik verisi. Tamga bu rolü üstlenmez; Tamga'nın kimlik belgesi PID değildir. Provider (devletin cüzdana kimlik verisi veren kurumu) yok. Bugünkü tasarım (D-ID-2, SPEC-ID-0003/IDP3) kimlik doğrulama (identity proofing)Belge verilmeden önce kişinin gerçekten o kişi olduğunun doğrulanması; örneğin kimlik kartı ve canlılık testiyle. işini her kurumun kendi belge verme servisinde (issuer)Belgeyi imzalayıp veren kurum: üniversite, meslek kuruluşu, kamu kurumu ya da şirket. yapıyor: öğrenci portala girer, gerekirse Didit orada çalışır. Bu, kurum entegrasyonuna (OBS/portal) bağımlıdır ve kişi her kurumda yeniden doğrulanır. Proje yönetiminin yönü (2026-09-25): kimlik doğrulamayı devlet bir sağlayıcı atayana kadar Tamga yapar; kişi cüzdanındaki kimlik belgesiyle (credential)Belge verenin imzaladığı ve kişinin cüzdanında duran dijital belge; kişi yalnız istenen alanları gösterir. kuruma gider, kurum kaydıyla eşler ve belgeyi verir. Öğrenci sistemi QR ve e-posta yolları seçenek olarak kalır.
Bu, ARF (Architecture and Reference Framework)Rolleri, mimariyi, güven modelini ve kuralları anlatan belge seti. Tamga ARF, AB ARF'sinin düzenini izler.'nin PID sunumuyla EAA (Electronic Attestation of Attributes)Kişinin bir özniteliğini (diploma, üyelik gibi) doğrulayan belge için eIDAS'taki ad. ihracı desenidir (EAA Provider, PID'i doğrulayıp kendi kaydıyla eşler); tek fark PID'i devlet değil geçici olarak Tamga verir.
Karar
K1 — Rol: "Provisional Identity Attestation Provider", PID Provider değil
- Tamga,
id.tamga.networküzerinde bir kimlik attestation servisi işletir; güven listesinde (trust list)Bir ülkenin kök sertifikalarını, belge verenlerini ve kayıtlı relying party'lerini taşıyan imzalı liste. Bugün Tamga'da güven bu listelere dayanır; ortak defter sonra gelir.issuers[]altında (category: IDENTITY,class: QUALIFIED→class: EAA,assurance: I2ADR-0022 ile, 2026-09-29;assurance_basis: "provisional-operator; ETSI TS 119 461 Substantial (uzaktan) / High (NFC)",operator.status: provisional). pid_providers[]boş kalır (TL8 korunur): devlet PID'i gelince Tamga attestation'ı süpersede edilir (successoralanı), kurumların eşleştirme kodu değişmez (aynı claim seti).- Belgenin adı hukuki metinlerde **"Tamga Kimlik Attestation'ı (geçici)"**dır; "PID" veya "kimlik kartı" denmez. Ürün adı (ör. "Tamga Wallet") pazarlama düzeyinde serbesttir.
K2 — Belge tipi urn:tamga:id:IdentityAttestation:1
Claim seti EU PID Rulebook'undan (CIR 2024/2977) türetilir, azaltılmış:
| Claim | Zorunlu | Seçici açıklama | Not |
|---|---|---|---|
given_name, family_name | ✓ | ✓ | belgeden (MRZ/OCR; NFC varsa çip) |
birth_date | ✓ | ✓ | |
nationality | ✓ | ✓ | ISO 3166-1 alpha-2 |
personal_administrative_number | ✓ | ✓ | TCKN (TR) / ulusal kimlik no — kurum eşleştirmesi için; yalnızca kayıtlı kapsamı olan RP'lere açıklanır |
document_type, document_number (hash) | ✓ | ✓ | belge numarası yalnızca SHA-256 |
issuing_country | ✓ | ✓ | |
document_chip_verified | ✓ | ✓ | NFC ile doğrulandıysa true (olgu; LoA değil — PR7 korunur) |
age_over_18 | ○ | ✓ | türetilmiş |
iat, exp (≤ 2 yıl), status | ✓ | — | iptal: Token Status List |
Fotoğraf/portre konmaz (v1). Belge sahibinin (holder)Belgeyi cüzdanında tutan ve kime göstereceğine karar veren kişi. güvence seviyesi claim olarak yoktur; tipin ön koşulu T2 (uzaktan) veya T3-benzeri (NFC + canlılık; hukuken T3 = NES/Mobil İmza, PM-ASSUR). document_chip_verified bunu olgu olarak taşır.
K3 — Kimlik ispatı akışı (cüzdan-başlatmalı)
- Cüzdan →
id.tamga.network(OpenID4VCI (OpenID for Verifiable Credential Issuance)Belge verenin belgeyi cüzdana teslim ettiği protokol. authorization code; SPEC-PROTO-0001 v1.2): yetkilendirme sayfası Didit oturumunu (belge + pasif canlılık + yüz eşleştirme; NFC opsiyonel) açar. - Didit kararı (polling
GET /v3/session/{id}/decision/birincil; webhookhttps://id.tamga.network/idv/webhookikincil,status.updated) → Approved ise attestation ihraç edilir (10 kopya, WUA (Wallet Unit Attestation)Cüzdan sağlayıcısının bir cüzdan birimi ve anahtarlarının güvenliği hakkındaki attestation'ı; güncel AB metinlerinde WIA ve key attestation olarak ikiye ayrılır. zorunlu, PR11). - Kurumdan belge alma: cüzdan kurumu güven listesi dizininden seçer → kurumun belge veren servisi authorization code akışında IdentityAttestation sunumu ister (OpenID4VP (OpenID for Verifiable Presentations)Doğrulayıcının cüzdandan belge istediği ve gösterimi aldığı protokol., DCQL (Digital Credentials Query Language)Doğrulayıcının OpenID4VP'de hangi belgeleri ve hangi alanları istediğini yazdığı sorgu dili.:
personal_administrative_number,given_name,family_name,birth_date) → kayıtla eşler → belgeyi ihraç eder. Eşleşmezse belge verilmez; kişisel veri loglanmaz (AP3/AP4). - Pre-authorized yollar (OBS ekranı QR, e-posta + SMS tx_code) aynen kalır; kurum ikisini de sunabilir.
K4 — Veri sorumluluğu ve saklama (KVKK)
- Tamga, kimlik ispatı verisi için veri sorumlusudur; aydınlatma + açık rıza metni cüzdanda Didit'e geçmeden gösterilir.
- Tamga'da saklanan: attestation kaydı (opak
subject_ref,iat/exp, statusidx, belge no hash'i,document_chip_verified, Diditsession_id); belge görüntüleri, selfie, MRZ ham verisi Tamga'da saklanmaz (Didit tarafında Didit saklama politikası; sözleşmede ≤ 30 gün istenir). Silme talebi: attestation iptal (revocation)Bir belgenin süresi dolmadan geçersiz kılınması; belge veren bunu doğrulayıcıların denetlediği iptal listesinde işaretler. + kayıt silme. - FW-TF-0001 §6'ya "Kimlik Attestation Sağlayıcısı" rolü ve sorumlulukları eklenir; üç aylık şeffaflık raporuna ihraç/iptal sayıları girer (kişi yok).
- Bugüne kadarki "Tamga hiçbir kişisel veri görmez" ifadesi daraltılır: Tamga kimlik ispatı verisini görür; eğitim/sektör belge içeriğini görmez (belge verenler kurumlarındır, G1).
K5 — Etkilenen kurallar (yeniden ifade)
| Kural | Önce | Sonra |
|---|---|---|
| SPEC-ID-0003/IDP3 | IDV entegrasyonu yalnızca belge veren tarafında | IDV entegrasyonu yalnızca Tamga kimlik attestation servisinde; kurum belge verenleri, cüzdan ve doğrulayıcı IDV sağlayıcısıyla konuşmaz |
| SPEC-TRUST-0001/TL8 | Tamga PID vermez; pid_providers[] boş | Aynen; ek: Tamga kimlik attestation'ı issuers[] kaydıdır ve devlet PID'i gelince süpersede edilir |
| SPEC-SCHEMA-0002 E-serisi ("kimlik numarası yok") | eğitim şemaları için | Değişmez; kimlik numarası yalnızca IdentityAttestation tipinde ve seçici açıklama ile |
| SPEC-PROTO-0001 | yalnızca pre-authorized | + authorization code (v1.2); PR-yeni: kurumdan belge alırken kimlik eşleşmesi IdentityAttestation sunumuyla |
| PM-ASSUR-0001 bağlama tablosu | uzaktan doğrulama = kurumda | uzaktan doğrulama = Tamga attestation'ı; kurum "attestation sunumu + kayıt eşleşmesi" yolunu T2 sayar |
K6 — Güvenlik sınırları
- Attestation ihracında WUA zorunlu; demo'da
softwarekabul (S-9/S-14), pilottasecure_enclave. - Aynı belge numarası hash'i ile aktif ikinci attestation verilmez (çift kayıt); yeniden belge verme eskisini iptal eder.
- Kurum eşleşmesi: en az
personal_administrative_number+birth_date; ad eşleşmesi normalize (Türkçe karakter). - Didit "In Review" → attestation verilmez, kullanıcıya bekleme; "Declined" → 24 saat sonra yeniden deneme; 3 ret → manuel.
Gerekçe
Kişi bir kez doğrulanır, her kuruma aynı attestation'la gider; kurumun OBS'siz çalışması mümkün olur; ARF deseni (PID sunumuyla EAA ihracı) birebir uygulanır, devlet PID'i gelince yalnızca imzacı değişir. Bedeli: Tamga'nın veri sorumlusu olması ve kimlik numarası taşıyan bir tipin varlığı; ikisi de K4/K2'de sınırlandırılmıştır.
Değerlendirilen Alternatifler
- A — Kimlik ispatı her kurumun belge veren servisinde (IDP3 eski hâli): Tamga veri görmez, ama kurum entegrasyonu şart ve kişi her kurumda yeniden KYC olur (500/ay kotası kurum sayısıyla çarpılır). Reddedildi (2026-09-25).
- C — Devlet PID'ini bekle: tarih yok. Geçiş yolu K1'de korunur.
- B' — Attestation'da TCKN olmadan (ad + doğum tarihi): eşleşme belirsiz (adaş), kurum reddi artar. Reddedildi; TCKN seçici açıklamalı ve yalnızca yetkili kapsama.
Sonuçlar
- Yeni servis
apps/id(operatör deposu) (id.tamga.network): Didit oturumu, karar, webhook, OpenID4VCI ile belge verme (issuance)Belge verenin belgeyi kişinin cüzdanına teslim etmesi (Tamga'da OpenID4VCI ile). (authorization code), attestation kaydı, iptal listesi (status list)Her belgenin tek bir konumu olduğu sıkıştırılmış, imzalı liste; geçerli, askıda ya da iptal olduğunu söyler.. Didit webhook hedefi tek:https://id.tamga.network/idv/webhook(kurum başına değil). - Cüzdan: "Kimliğimi doğrula" akışı (in-app browser), kurum dizini (güven listesinden), kurumdan belge alırken attestation sunumu (ihraç içinde OpenID4VP).
- Kurumun belge veren servisi: authorization code + IdentityAttestation isteği + kayıt eşleşmesi; portal öğrenci girişi kalkar (demo'da staff paneli kalır).
- Spec/FW güncellemeleri K5; DB-21 bu ADR'nin parçası olur; DB-22 kapanır.
- Demo: Didit sandbox (gerçek kimlik yok, GT1); sunum sahnesi 3 "portal girişi" → "cüzdanda kimliğimi doğrula + Bilgi'yi seç".
Açık Noktalar — kabulle birlikte KARARA BAĞLANDI (2026-09-25)
personal_administrative_number(TCKN) attestation'da taşınsın mı? (Öneri: evet, seçici açıklamalı; K2.)- Attestation geçerlilik süresi: 1 yıl mı 2 yıl mı? (Öneri: 2 yıl; belge süresi dolunca daha erken.)
- NFC eklendiğinde ayrı tip (
…:IdentityAttestation:1+document_chip_verified) değil, aynı tip — onay. - Demo'da sandbox profili "Ayşe Yılmaz" için TCKN sahte üretilecek;
students.jsonbuna göre güncellenir.