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-001unresolved_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-007kapsamı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/CONFLICTINGayrı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]:
| Yol | p95 | p99 |
|---|---|---|
| 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.