Ana içeriğe geç

Organization NFR Seti — Kalite ve Güvenlik Hedefleri

Statü: ACCEPTED (Human-CEO 20 Tem 2026; chat-accept). CAN-DEC-ADR-007'nin son-açık-hard-halkalarından NFR-setidir (CAN-TRC-DEP-001 unresolved_hard-kaydı). Sınır: Bu kayıt ölçülebilir kalite/güvenlik HEDEFİ bağlar; teknik mekanizma (lock-seçimi, cache-tasarımı, tablo/altyapı) CAN-DEC-ADR-007'nindir — burada çözüm-kararı yoktur.

NFR-1 — Authorization ve Revocation

  • Membership/authority-mutation commit'inden sonra ilk korumalı istek eski-gerçekle geçemez (stale-erişim=0-tolerans; CAN-REQ-RULE-014).
  • Resolver-belirsizliği/timeout'unda karar fail-closed DENY'dır; hiçbir yük/hata-koşulu fail-open üretemez.
  • Doğrulama: revoke-sonrası-ilk-istek-testi (outbox-worker-durdurulmuş-fixture) + resolver-fail-inject → DENY.

NFR-2 — Concurrency ve Integrity

  • Davet-tek-kullanım, membership-tekilliği, owner-sürekliliği, transfer-atomikliği yarış-altında ihlalsiz (CAN-REQ-RULE-023).
  • Doğrulama (3-katman; flaky-tek-test-tuzağı-önleme): ① her-PR: deterministik invariant/concurrency-testleri (eşzamanlı-çift-kabul, paralel-duplicate-davet, rol-değişim∥çıkarma, transfer∥üyelik-kapatma, son-owner-paralel-mutation — her-biri ayrı-fixture) ② release-gate: yüksek-tekrarlı race/stress-koşumu ③ planlı-periyodik: soak + anomaly-testi. Üç-katmanda-da 0-invariant-ihlali; test-aracı-seçimi ADR/implementation-alanı.

NFR-3 — Provisioning ve Idempotency

  • Aynı create-isteğinin N-tekrarı tek-topology üretir (duplicate=0); normal-create SUCCESS'la kalıcı-kısmi-topology üretemez (CAN-REQ-RULE-018).
  • Recovery: yarım-durum ya tam-geri-alınır ya tam-tamamlanır; kalıcı-ara-durum kullanıcı-yüzeyinde başarı-görünmez.
  • Doğrulama: idempotency-tekrar-testi + adım-adım fail-inject (her-adımda kesinti → tutarlı-son-durum).

NFR-4 — Audit Dayanıklılığı

EXTERNAL EXPORT FAILURE ≠ CANONICAL MUTATION FAILURE
CANONICAL AUDIT LOSS = 0
  • Canonical-audit kaydı mutation-success önkoşuludur (fail-inject → mutation-rollback; CAN-REQ-RULE-017); canonical-audit-loss için ALLOWED-OCCURRENCE=0'dır.
  • Dış-SIEM/export kesintisi tek başına canonical-mutation'ı başarısız yapmaz. Export-teslimatı gecikebilir; canonical-audit-gerçeği korunur.
  • Export backlog/retention sınırsız varsayılamaz: kapasite, retention-horizon'u ve high-watermark eşikleri sonlu [POLITIKA] değerleri olarak açıkça tanımlanır ve gözlemlenir.
  • High-watermark veya retention-riski aşıldığında sessiz event-drop, overwrite veya başarılı-gibi-gösterme yapılamaz; alarm + declared-degraded-state + operator-aksiyonu doğar.
  • Export-kaydı backlog'dan veya canonical-audit-kaynağından deterministik biçimde yeniden üretilebilir olmalıdır (exact-replay/buffer-mekanizması CAN-DEC-ADR-007 kapsamındadır).
  • Doğrulama (SIEM-down-testi): canonical-mutation-başarılı + canonical-audit-mevcut + export-gecikmesi-görünür + high-watermark-alarmı-kanıtlı + kesinti-sonrası-replay/drain-kanıtlı + sessiz-export-loss-yok.

NFR-5 — Davet Güvenliği

  • Geçerlilik-süresi [SABIT]: pozitif ve SONLU olmalı; 30 günü aşamaz; süresiz-davet yasak (CAN-REQ-RULE-010). [POLITIKA]: varsayılan 7 gün; operasyonel-alt-sınır Platform-Control-Plane-politikasında belirlenir (ilk-politika-önerisi: 1 saat – 30 gün) — daha-kısa/daha-güvenli sürelerin uygulanması engellenmez (kısa-süre güvenlik-invariantı-ihlali değildir).
  • Token [SABIT]: en az 128-bit kriptografik-rastgele (CSPRNG) entropi; tahmin-edilebilir/sıralı token yasak. İki-sonuç-yükümlülüğü [SABIT]: ① raw-invitation-token hiçbir log/audit/metric/error-payload'ına yazılamaz ② kalıcı-veri-deposunun ele-geçirilmesi doğrudan-kullanılabilir bearer-token elde-edilmesine yol-açmamalıdır (hash/encryption-mekanizması CAN-DEC-ADR-007'ye; NFR yalnız-sonucu-bağlar).
  • Rate-limit [POLITIKA]: başlangıç 10 deneme / 15 dakika → kademeli-yavaşlatma/blok. Sonuç-yükümlülükleri: kapsam en az hedef-token/identity + istek-kaynağı boyutlarını birlikte dikkate alır; tek-saldırgan mağdur-hesabını süresiz-kilitleyecek DoS-mekanizması elde-edemez; geçerli/geçersiz-token'a-verilen dış-yanıtlar token-enumeration-bilgisi sızdırmaz. (Exact-algoritma/sayaç-mimarisi CAN-DEC-ADR-007.) Brute-force-taraması alarm-üretir (NFR-8).
  • Doğrulama: expired/used/superseded-token-RED-testleri + entropi-kaynak-denetimi + rate-limit-eşik-testi + payload-token-tarama (0-raw-token) + enumeration-yanıt-farkı-testi.

NFR-6 — Truth-Health ve Freshness

  • NO DATA ≠ SOURCE UNAVAILABLE ≠ ACCESS DENIED ≠ PARTIAL ≠ UNKNOWN/CONFLICTING ayrımı tüm-projeksiyon-yüzeylerinde korunur (CAN-REQ-RULE-021).
  • İki-ayrı-timeout-rejimi (AI-CEO-R6; karıştırılmaz): ① projection/truth-composition kaynak-timeout'u [POLITIKA]: varsayılan 2 sn → dürüst-degraded-state (sonsuz-bekleme-yasak) ② authorization/context-resolution: AYRI fail-closed-deadline — timeout-halinde sonuç DENY/UNKNOWN'dır, asla-ALLOW-değil (NFR-1-rejimi; degraded-render-değil erişim-reddi).
  • Fail-closed-deadline-değerleri (mikro-R2; SLO PERCENTILE ≠ HARD REQUEST DEADLINE):
Authorization-decision deadline [POLITIKA]: başlangıç-varsayılanı ≤ 500 ms
Context-resolution deadline [POLITIKA]: başlangıç-varsayılanı ≤ 1.000 ms
  • Deadline aşılırsa sonuç ALLOW olamaz: authorization için DENY; semantik-ayrım-gereken iç-sözleşmede UNKNOWN→fail-closed-DENY uygulanır.
  • Context-resolution-timeout'u güvenli-bağlam uyduramaz ve eski-context-authority'sini taşıyamaz.
  • Deadline-değerleri yalnız Platform-Control-Plane'den, tanımlı-sonlu-aralıkta ve audit'li yönetilir; Organization-Admin gevşetemez.
  • SLO-ihlali deadline'ı otomatik-genişletmez ve fail-open-üretmez.
  • Stale-veri tazelik-işaretsiz "güncel" sunulamaz.
  • Doğrulama: kaynak-down/partial/denied fixture'ları → doğru-sınıf-render; projection-timeout-testi; 500 ms-üstüne-taşan-authorization-fixture'ı → ALLOW-yok; 1.000 ms-üstüne-taşan-context-fixture'ı → eski-context-açılmaz; deadline-değişikliği-audit'li.

NFR-7 — Tenant İzolasyonu

  • Cross-tenant veri-sızıntısı = 0-tolerans; izolasyon-test-paketi (yasak-sınıfların-tamamı doğrudan-API-denemesiyle) her-CI'da yeşil-şart (CAN-REQ-RULE-016).
  • Context-switch her-geçişte yeniden-doğrulanır; URL/ID/payload-manipülasyon-testleri RED-kanıtlı (CAN-REQ-RULE-020).
  • Dış-sunum enumeration-safe: varlık-gizleme-politikası (403/404) tutarlı-uygulanır; domain-gerçeği ACCESS_DENIED-sınıfında kalır.
  • Doğrulama: cross-tenant-probe-paketi + tampering-testleri + enumeration-probe.

NFR-8 — Operasyonel Gözlemlenebilirlik

  • Anomaly-sınıfları tespit-edilebilir ve alarm-üretir; sessiz-yutma-yasak. Zaman-hedefleri [SLO] (mikro-R4):
Security-critical anomaly:
mümkün-olduğu-yerde request/transaction-anında tespit
alarm-emission: p95 ≤ 60 saniye · p99 ≤ 5 dakika

Operational/reconciliation anomaly:
detection + queue-visible: p95 ≤ 5 dakika · p99 ≤ 15 dakika
  • Security-critical-sınıf (en az): cross-tenant-erişim-denemesi · owner-continuity-ihlal-denemesi · duplicate-active-membership-üretme-denemesi · canonical-audit-write-failure · invitation-brute-force/enumeration-paterni.
  • Alert-delivery-başarısızlığı kendisi gözlemlenebilir-anomaly'dir; alarm-veya-queue-yazım-hatası sessizce-yutulamaz.
  • Reconciliation-review-queue operatör-yüzeyinde görünür; backlog-count ve oldest-item-age ölçülür; her-onarım kaynak-kanıt-korelasyonlu (CAN-REQ-RULE-024).
  • Kritik-mutation'lar correlation/request-id ile uçtan-uca-izlenebilir: mutation → audit → anomaly → alert/review-item zinciri doğrulanabilir (UC-OAM-016 10-alan-şeması). Exact-telemetry/alerting-ürünü CAN-DEC-ADR-007/implementation-kapsamındadır.
  • Doğrulama: security-anomaly-fixture'ı → süre-hedefi-içinde-alert; reconciliation-anomaly-fixture'ı → süre-hedefi-içinde-review-queue; alert-channel-fail-inject → ikinci-gözlemlenebilir-failure-sinyali; queue-backlog/oldest-age-metrikleri-kanıtlı; correlation-id-zincir-testi.

NFR-9 — Performans / SLO

  • Hedef-gecikmeler [SLO; başlangıç-hedefi — p95-tek-başına-kuyruk-ucunu-gizler, p99-zorunlu]:
Yolp95p99
Authorization-kararı≤ 150 ms≤ 300 ms
Context-resolution≤ 300 ms≤ 600 ms
Kritik-mutation (davet/rol/üyelik)≤ 800 ms≤ 1.500 ms
  • Ölçüm-sözleşmesi (mikro-R3; "tanımlanacak"-değil-TANIMLI):
Release/performance-evidence:
- Her-yol-için en az 10.000 eligible-request örneği.
- Production-benzeri concurrency ve veri-dağılımı.
- Server-side başlangıç: istek authoritative-uygulama-sınırına kabul-edildiği an.
- Bitiş: authorization/context için authoritative-sonuç üretildiği an;
mutation için canonical-commit + zorunlu-canonical-audit tamamlandığı an.
- Async mail, notification ve external-SIEM-export süreye DAHİL-DEĞİL.

Production-reporting:
- 15-dakikalık rolling-görünüm + 24-saatlik özet-görünüm.
- Yetersiz-örnek varsa PASS yazılmaz; INSUFFICIENT DATA gösterilir.
  • Denominator-sözleşmesi: geçerli ALLOW/DENY/beklenen-RED sonuçları latency-denominator'ına dahildir · sistem-hataları ölçümden sessizce-çıkarılamaz (ayrı error-rate-sınıfında, latency-raporuyla-birlikte) · client-cancel ve uygulama-sınırına-hiç-ulaşmamış transport-hataları ayrı-sınıflandırılır · warm-cache ve cold/miss ayrı-gösterilir · headline-SLO yalnız-ideal-warm-cache-örneklerinden üretilemez (gerçek production-benzeri-dağılımı temsil-eder).
  • Mutlak-sınır [SABIT]: SLO-ihlali hiçbir-durumda güvenlik-adımının (re-auth, audit-önkoşulu, fail-closed-doğrulama) atlanmasına veya fail-open'a dönüşemez — yük-altında davranış fail-closed'dır.
  • Doğrulama: yük-testi p95+p99-ölçümü (ölçüm-sözleşmesi-koşullarında) + yük-altında-güvenlik-regresyonu (DENY-doğruluğu-korunur).

NFR-10 — Privacy ve Minimizasyon

  • Audit, log, notification ve error-payload'larında raw-token/secret/parola = 0-tolerans; gereksiz-PII yasak (CAN-REQ-RULE-017 + UC-OAM-016 PRIVACY-INVARIANT).
  • Hata-mesajları iç-detay (stack, sorgu, iç-id-şeması) sızdırmaz; kullanıcı-yüzeyi güvenli-genel-mesaj + korelasyon-id.
  • Doğrulama: payload-tarama-testi (token/secret-pattern=0) + error-yüzeyi-denetimi.

Sıfır-Tolerans Sınıfı (yüzde-hedefi DEĞİL)

Şu beş sonuç güvenlik-invariantıdır; SLO-yüzdesi-altında tolere edilemez:

cross-tenant data exposure
stale authority ile başarılı protected request
raw token/secret loglama
owner-continuity ihlali
duplicate active membership

ALLOWED OCCURRENCE = 0

Tek gözlenen olay: release-blocker + production-security-incident + zorunlu containment-ve-evidence-review üretir. "%99,99-başarılı" gibi bir SLO bu sınıfa uygulanamaz.


Bağlayıcılık ve Kabul-Anlamı

Bu setin kabulü hedefleri decision-ready yapar; hiçbir implementation/merge/deploy yetkisi doğurmaz. CAN-DEC-ADR-007 bu hedefleri sağlayacak mekanizmayı seçer; her-teslim-dilimi (S0-S4, CAN-TRC-DEP-001) ilgili-ailelerin doğrulama-yükümlülüklerini E-baseline-disipliniyle taşır.

Parametre-sınıfları: [SABIT] güvenlik-invariantı — hiçbir Control-Plane veya tenant-ayarı gevşetemez · [POLITIKA] yalnız yetkili Platform-Control-Plane'den (Organization-Admin bu-eşikleri-gevşetemez — CAN-REQ-RULE-016-tavanı), tanımlı-sonlu-aralıkta, prospective-effect + audit'li · [SLO] ölçüm-hedefi, runtime-ürün-ayarı-değil — değişikliği yönetişim/policy-revizyonu-ister.