Skip to content

Bu səhifə avtomatik tərcümə olunub. Səhv görsəniz, info@tamga.network ünvanına yazın.

ADR-0020Memarlıq qərarıQəbul edilibversiya 1.0.02 oktyabr 2026

Kontekst ​

Hazırda hostinqli buraxılışda Tamga qurumun şəxs qeydlərini (tələbələri) öz verilənlər bazasında saxlayır (ADR-0019). Qeydlər Qurum Konsolundan daxil edilir. Şəxs rəqəmsal cüzdandan rəqəmsal sənəd istədikdə onun şəxsiyyəti bu qeyd reyestrində axtarılır. Qurum təklif yaratdıqda da şəxs bu reyestrdən seçilir.

Layihə rəhbərliyi (2026-09-29) bu quruluşu istəmədi:

  • tələbələrin toplu yüklənməsi olmayacaq,
  • "məlumatlarla bizim işimiz yoxdur",
  • səlahiyyətli mənbə qurumun öz sistemidir (tələbə məlumat sistemi),
  • təklif e-poçtunu qurum özü göndərir,
  • tələbənin rəqəmsal cüzdandan sorğu göndərməsi və Tamga-nın quruma müraciət etməsi təsdiqləndi,
  • təklifin şəxsin şəxsiyyətinə bağlı olması təsdiqləndi.

Avropa İttifaqı (Aİ) tərəfində də PID (Person Identification Data)Dövlətin ən yüksək təminat səviyyəsində verdiyi əsas şəxsiyyət məlumatları. Tamga bu rolu öz üzərinə götürmür; onun şəxsiyyət sənədi PID deyil. və ya rəqəmsal sənəd provayderi atributu səlahiyyətli mənbədən (authentic source)Rəqəmsal sənəddəki məlumatlara faktiki sahib olan sistem, məsələn bir universitetin tələbə məlumat sistemi. alır (ARF (Architecture and Reference Framework)Rolları, arxitekturanı, etibar modelini və qaydaları təsvir edən sənədlər toplusu. Tamga ARF Aİ ARF-nin strukturunu izləyir. mövzu 42; CIR 2025/1569). Mənbə məlumatlarının vasitəçi tərəfindən daimi saxlanması gözlənilmir.

Qərar ​

K1 — Səlahiyyətli mənbə və mənbə bağlantısı ​

Hər qurum üçün bir mənbə bağlantısı müəyyən edilir (tenants/<slug>.json → authentic_source):

  • remote (istehsal): qurumun sorğu nöqtəsi. Tamga iki əməliyyat tələb edir:

    • lookup: şəxsiyyət açarları (T.C. şəxsiyyət nömrəsi + doğum tarixi) ilə axtarış → qurumun opak şəxs identifikatoru (subject_ref) + rəqəmsal sənəd məlumatları,
    • fetch: subject_ref ilə rəqəmsal sənəd məlumatları (yeniləmə və şəxsiyyətə bağlı təklif üçün).

    Sorğu Tamga-nın qurum üçün istifadə etdiyi giriş açarı ilə imzalanmış qısamüddətli JWT-dir (aud = sorğu nöqtəsi, iat, jti); qurum sorğunu Tamga-nın etibar siyahısındakı (trust list)Bir ölkənin kök sertifikatlarının, sənədi verən qurumlarının və qeydiyyatlı yoxlayan tərəflərinin imzalanmış siyahısı. Bu gün Tamga-da etibar bu siyahılara əsaslanır; ortaq jurnal (ledger) sonra gələcək. sertifikatı ilə yoxlayır. Cavab və format OpenAPI ilə müəyyən edilir.

  • sandbox (sınaq): Qurum Konsolundakı nümunə qeyd reyestri (ADR-0019 KC4). Yalnız sınaq və nümayiş üçündür; real fərdi məlumatlarla istifadə edilmir.

K2 — Tamga nəyi saxlayır ​

  • Rəqəmsal sənəd məlumatları (ad, proqram, qiymət …) saxlanmır: imza anında mənbədən oxunur, rəqəmsal sənəd verildikdən sonra yaddaşdan silinir.
  • Daimi saxlanan yalnız qurumun opak subject_ref-i (verilmiş rəqəmsal sənəd qeydində, ləğv və yeniləmə üçün) və şəxsiyyətə bağlı təklifdə uyğunlaşdırma açarlarının açarlı heşidir (HMAC; açıq T.C. şəxsiyyət nömrəsi yoxdur).
  • Jurnallara fərdi məlumatlar yazılmır (PR14 olduğu kimi).

K3 — Yol A: qurum başladır, təklif şəxsin şəxsiyyətinə bağlıdır ​

  1. Qurumun sistemi Tamga API-sinə (POST /{slug}/api/v1/offers, ADR-0016) aşağıdakıları göndərir:
    • rəqəmsal sənəd növü,
    • qurumun subject_ref-i,
    • uyğunlaşdırma açarları: bind { personal_administrative_number, birth_date }.
  2. Tamga şəxsiyyətə bağlı təklif yaradır: OpenID4VCI (OpenID for Verifiable Credential Issuance)Sənədi verən qurumun rəqəmsal sənədi rəqəmsal cüzdana çatdırmaq üçün istifadə etdiyi protokol. authorization_code grant-ı, issuer_state = təklif identifikatoru. Cavabda bağlantı və QR kod qaytarılır. E-poçtu və ya mesajı qurum özü göndərir; Tamga əlaqə ünvanını görmür.
  3. Şəxs bağlantını rəqəmsal cüzdanda açır. Rəqəmsal cüzdan PAR-daİcazə sorğusunun əvvəlcə serverə göndərildiyi OAuth addımı, beləliklə onun məzmunu brauzer ünvanında görünmür. issuer_state-i göndərir. Avtorizasiya zamanı şəxs Tamga şəxsiyyət sənədini təqdim edir (mövcud sətirdaxili axın).
  4. Qurumun sənəd verəni (issuer)Rəqəmsal sənədləri imzalayan və verən qurum: universitet, peşə təşkilatı, dövlət qurumu və ya şirkət. şəxsiyyət sənədini yoxlayır və T.C. şəxsiyyət nömrəsi + doğum tarixinin heşini təklifdəki heşlə müqayisə edir. Uyğun gəlmədikdə rəqəmsal sənəd verilmir. Təklifi başqası açsa belə, rəqəmsal sənədi ala bilməz.
  5. Rəqəmsal sənəd məlumatları imza anında mənbədən (fetch) oxunur.
  6. tx_code ilə əvvəlcədən avtorizasiya olunmuş təklif şəxsiyyət sənədi olmayanlar üçün ehtiyat variant kimi qalır. Kod təkliflə eyni kanaldan göndərilmir (PR12).
  7. Təklif standart olaraq 7 gün etibarlıdır və birdəfəlikdir.

K4 — Yol B: şəxs başladır ​

Şəxs rəqəmsal cüzdanda qurumu seçir və şəxsiyyətini təqdim edir. Qurumun sənəd verəni mənbə bağlantısına lookup ilə sorğu göndərir (sandbox rejimində qeyd reyestri). Qeyd varsa, rəqəmsal sənəd verilir; qeyd yoxdursa, "qurum qeydlərində tapılmadı" cavabı qaytarılır. Cavab saxlanmır.

K5 — Yeniləmə və ləğv ​

Yeniləmə tokeni (ADR-0023) subject_ref daşıyır. Yeniləmə zamanı fetch çağırılır; şəxs mənbədə yoxdursa, token etibarsız olur (AR3). Qurum ləğvi API-dən və ya Konsoldan həyata keçirir (ADR-0016).

K6 — Qurum dəsti ​

  • OpenAPI: Tamga API-si (təklif, ləğv) və qurumun sorğu nöqtəsi müqaviləsi.
  • Node SDK: @tamga-network/issuer/client-ə şəxsiyyətə bağlı təklif əlavə edilir.
  • Sənəd verəni qurumun öz serverində işlətmək imkanı saxlanılır (ADR-0016).

K7 — Qurum Konsolu ​

  • "Qeyd reyestri" bölməsi "Nümunə mənbə (sınaq)" adlanır və yalnız sandbox rejimində görünür.
  • "Qurum qeydi" bölməsi mənbə bağlantısının növünü və sorğu nöqtəsini göstərir.

Nəzərdən keçirilən variantlar ​

VariantNəticəSəbəb
Tamga-da qeyd reyestri (hazırkı)rədd (yalnız sınaq)Tamga fərdi məlumatları saxlayır; toplu yükləmə tələb olunur
Qurum rəqəmsal sənəd məlumatlarını təkliflə göndərir, Tamga saxlayırrəddMəlumatlar təklif müddəti ərzində Tamga-da qalır; sorğu nöqtəsi varsa, lazımsızdır
Təklifdə yalnız subject_ref + şəxsiyyət heşi; məlumatlar imza anında mənbədənqəbulTamga-da daimi fərdi məlumat yoxdur; yeniləmə də eyni yolla
Təklif e-poçtunu Tamga göndərirrəddTamga əlaqə ünvanını görür; layihə rəhbərliyi qurumun göndərməsini istədi
Şəxsiyyət bağı yoxdur, yalnız tx_coderədd (ehtiyat)Bağlantını ələ keçirən rəqəmsal sənədi ala bilər

İnvariantlar ​

KodQayda
AS1Hostinqli buraxılışda rəqəmsal sənəd məlumatları daimi saxlanmır; imza anında səlahiyyətli mənbədən oxunur. Daimi saxlanan yalnız qurumun opak şəxs identifikatoru və uyğunlaşdırma açarlarının açarlı heşidir.
AS2Şəxsiyyətə bağlı təklif yalnız təqdim edilən şəxsiyyət sənədindəki uyğunlaşdırma açarları təklifdəki heşlə uyğun gəldikdə rəqəmsal sənədə çevrilir.
AS3Tamga təklif üçün şəxsin əlaqə ünvanını almır; bağlantını qurum ötürür.
AS4sandbox mənbəyi yalnız sınaq üçündür; real fərdi məlumatlarla istifadə edilmir.

Nəticələr ​

  • apps/issuer (operator repozitoriyası): mənbə bağlantısı abstraksiyası (sandbox / remote), şəxsiyyətə bağlı təklif (issuer_state), Yol B-də lookup, rəqəmsal sənəd nöqtəsində fetch, yeniləmədə fetch.
  • @tamga-network/issuer: createPar issuer_state; təklif obyekti authorization_code grant-ı. wallet-core: təklif authorization_code grant-ı → issuer_state ilə avtorizasiya.
  • ADR-0011 K3 və ADR-0019 qeyd reyestri bəndləri bu ADR ilə daralır. SPEC-PROTO-0001 §3 və §11.2 yenilənir.
  • OpenAPI faylları tamga-network/docs/api/.

Status ​

Accepted — 2026-09-29. Layihə rəhbərliyinin təsdiqi ilə (toplu yükləmə yoxdur; e-poçtu qurum göndərir; Yol B; şəxsiyyətə bağlı təklif). DECISIONS: D-SRC-1.