Küme-6 — Bağlam-Geçişi ve Yetki
Dilim-1B · Kabul SLICE-bütünüyle (PILOT-SLICE-1B). Üst-otorite iskeleti: CAN-DEC-ADR-002 (§3 türetilmiş-erişim · §5.1 erişim-formülü · §7 fail-closed ilkeleri).
Özet
Kullanıcının bağlamlar-arası hareketi ve her bağlamdaki yetkisinin kaynağı. Temel ilke: bağlam ≠ kimlik ≠ yetki — geçiş yetki taşımaz; yetki her bağlamda yeniden türetilir; UI hiçbir zaman güvenlik-mekanizması değildir.
Kapsanan use-case'ler
UC-14 — Bağlam-geçişi
1. Nedir? — Kişisel ↔ kurumsal workspace'ler arasında geçiş; eski-workspace yetkileri yeniye TAŞINMAZ (SCN). CAN-DEC-ADR-002 §7-ilke-6: workspace-değişimi backend'de her-istekte kapsam-doğrulanır; ilke-7: URL/ID/payload değişikliğiyle başka-workspace'e geçilemez.
2. Aktörler, Sınıf ve Uygulanabilirlik — Aktör: çok-workspace'li kullanıcı.
3. Amaç / Kullanıcı Sonucu — N/A — v1-kaynakta ayrı bölüm yok (format-only 🅐-normalize; içerik §Kapsanan/paket-bölümlerde; UCSTD-001 §6).
4. Tetikleyici — N/A — v1-kaynakta ayrı bölüm yok (format-only 🅐-normalize; içerik §Kapsanan/paket-bölümlerde; UCSTD-001 §6).
5. Ön Koşullar — N/A — v1-kaynakta ayrı bölüm yok (format-only 🅐-normalize; içerik §Kapsanan/paket-bölümlerde; UCSTD-001 §6).
6. Beklenen Davranış — N/A — v1-kaynakta ayrı bölüm yok (format-only 🅐-normalize; içerik §Kapsanan/paket-bölümlerde; UCSTD-001 §6).
7. Alternatif / İstisna / Red Akışları — N/A — v1-kaynakta ayrı bölüm yok (format-only 🅐-normalize; içerik §Kapsanan/paket-bölümlerde; UCSTD-001 §6).
8. Beklenen Sonuç / Son Koşul — N/A — v1-kaynakta ayrı bölüm yok (format-only 🅐-normalize; içerik §Kapsanan/paket-bölümlerde; UCSTD-001 §6).
9. Kabul Kriterleri — N/A — v1-kaynakta ayrı bölüm yok (format-only 🅐-normalize; içerik §Kapsanan/paket-bölümlerde; UCSTD-001 §6).
10. Kapsam Dışı — N/A — v1-kaynakta ayrı bölüm yok (format-only 🅐-normalize; içerik §Kapsanan/paket-bölümlerde; UCSTD-001 §6).
11. İzlenebilirlik — Parent-UCG üyesi. Atomik traceability henüz beyan-edilmedi (UCSTD-001 §3).
12. Governance ve Durum — governance_mode: INHERITED_FROM_PACKAGE · statü parent-UCG'den MİRAS (ayrı acceptance-event DEĞİL; UCSTD-001 §3).
UC-15 — Workspace-bazlı rol-capability
1. Nedir? — Yetki-formülü (CAN-DEC-ADR-002 §3 karar-metni diliyle — SCN:95 ile birebir örtüşür, Pre-Audit-teyitli): kurumsal tenant + workspace erişimi organization-membership + role/capability + resource-scope + policy üzerinden TÜRETİLİR; users.tenant_id hiçbir yetki-kararında otorite DEĞİLDİR (§5.4, authz-DEPRECATED + CI-ratchet kod-repo'da canlı).
2. Aktörler, Sınıf ve Uygulanabilirlik — N/A — v1-kaynakta ayrı bölüm yok (format-only 🅐-normalize; içerik §Kapsanan/paket-bölümlerde; UCSTD-001 §6).
3. Amaç / Kullanıcı Sonucu — N/A — v1-kaynakta ayrı bölüm yok (format-only 🅐-normalize; içerik §Kapsanan/paket-bölümlerde; UCSTD-001 §6).
4. Tetikleyici — N/A — v1-kaynakta ayrı bölüm yok (format-only 🅐-normalize; içerik §Kapsanan/paket-bölümlerde; UCSTD-001 §6).
5. Ön Koşullar — N/A — v1-kaynakta ayrı bölüm yok (format-only 🅐-normalize; içerik §Kapsanan/paket-bölümlerde; UCSTD-001 §6).
6. Beklenen Davranış — N/A — v1-kaynakta ayrı bölüm yok (format-only 🅐-normalize; içerik §Kapsanan/paket-bölümlerde; UCSTD-001 §6).
7. Alternatif / İstisna / Red Akışları — N/A — v1-kaynakta ayrı bölüm yok (format-only 🅐-normalize; içerik §Kapsanan/paket-bölümlerde; UCSTD-001 §6).
8. Beklenen Sonuç / Son Koşul — N/A — v1-kaynakta ayrı bölüm yok (format-only 🅐-normalize; içerik §Kapsanan/paket-bölümlerde; UCSTD-001 §6).
9. Kabul Kriterleri — N/A — v1-kaynakta ayrı bölüm yok (format-only 🅐-normalize; içerik §Kapsanan/paket-bölümlerde; UCSTD-001 §6).
10. Kapsam Dışı — N/A — v1-kaynakta ayrı bölüm yok (format-only 🅐-normalize; içerik §Kapsanan/paket-bölümlerde; UCSTD-001 §6).
11. İzlenebilirlik — Parent-UCG üyesi. Atomik traceability henüz beyan-edilmedi (UCSTD-001 §3).
12. Governance ve Durum — governance_mode: INHERITED_FROM_PACKAGE · statü parent-UCG'den MİRAS (ayrı acceptance-event DEĞİL; UCSTD-001 §3).
UC-16 — Son-workspace-hatırlama
1. Nedir? — Son-kullanılan workspace hatırlanır; erişim bittiyse AÇILMAZ + açıklanır (güvenli-kişisel bağlama düşer; UC-11 varsayılan-bağlam kural-setiyle uyumlu).
2. Aktörler, Sınıf ve Uygulanabilirlik — Aktör: dönen kullanıcı.
3. Amaç / Kullanıcı Sonucu — N/A — v1-kaynakta ayrı bölüm yok (format-only 🅐-normalize; içerik §Kapsanan/paket-bölümlerde; UCSTD-001 §6).
4. Tetikleyici — N/A — v1-kaynakta ayrı bölüm yok (format-only 🅐-normalize; içerik §Kapsanan/paket-bölümlerde; UCSTD-001 §6).
5. Ön Koşullar — N/A — v1-kaynakta ayrı bölüm yok (format-only 🅐-normalize; içerik §Kapsanan/paket-bölümlerde; UCSTD-001 §6).
6. Beklenen Davranış — N/A — v1-kaynakta ayrı bölüm yok (format-only 🅐-normalize; içerik §Kapsanan/paket-bölümlerde; UCSTD-001 §6).
7. Alternatif / İstisna / Red Akışları — N/A — v1-kaynakta ayrı bölüm yok (format-only 🅐-normalize; içerik §Kapsanan/paket-bölümlerde; UCSTD-001 §6).
8. Beklenen Sonuç / Son Koşul — N/A — v1-kaynakta ayrı bölüm yok (format-only 🅐-normalize; içerik §Kapsanan/paket-bölümlerde; UCSTD-001 §6).
9. Kabul Kriterleri — N/A — v1-kaynakta ayrı bölüm yok (format-only 🅐-normalize; içerik §Kapsanan/paket-bölümlerde; UCSTD-001 §6).
10. Kapsam Dışı — N/A — v1-kaynakta ayrı bölüm yok (format-only 🅐-normalize; içerik §Kapsanan/paket-bölümlerde; UCSTD-001 §6).
11. İzlenebilirlik — Parent-UCG üyesi. Atomik traceability henüz beyan-edilmedi (UCSTD-001 §3).
12. Governance ve Durum — governance_mode: INHERITED_FROM_PACKAGE · statü parent-UCG'den MİRAS (ayrı acceptance-event DEĞİL; UCSTD-001 §3).
UC-26 — Yetkisiz-workspace backend-reddi (pilota KURAL olarak — SCN Ek-UC kararı)
1. Nedir? — Yetkisiz-workspace erişimi BACKEND'de reddedilir; UI-switcher/gizleme güvenlik-mekanizması SAYILMAZ (SCN küme-6 kuralı + başarı-kriteri 16). CAN-DEC-ADR-002 §7-ilke-1/6/7 forward-flag: tenant-context-yokluğu erişim vermez · her-istek kapsam-doğrular · parametre-manipülasyonu geçiş sağlamaz.
2. Aktörler, Sınıf ve Uygulanabilirlik — N/A — v1-kaynakta ayrı bölüm yok (format-only 🅐-normalize; içerik §Kapsanan/paket-bölümlerde; UCSTD-001 §6).
3. Amaç / Kullanıcı Sonucu — N/A — v1-kaynakta ayrı bölüm yok (format-only 🅐-normalize; içerik §Kapsanan/paket-bölümlerde; UCSTD-001 §6).
4. Tetikleyici — N/A — v1-kaynakta ayrı bölüm yok (format-only 🅐-normalize; içerik §Kapsanan/paket-bölümlerde; UCSTD-001 §6).
5. Ön Koşullar — N/A — v1-kaynakta ayrı bölüm yok (format-only 🅐-normalize; içerik §Kapsanan/paket-bölümlerde; UCSTD-001 §6).
6. Beklenen Davranış — N/A — v1-kaynakta ayrı bölüm yok (format-only 🅐-normalize; içerik §Kapsanan/paket-bölümlerde; UCSTD-001 §6).
7. Alternatif / İstisna / Red Akışları — N/A — v1-kaynakta ayrı bölüm yok (format-only 🅐-normalize; içerik §Kapsanan/paket-bölümlerde; UCSTD-001 §6).
8. Beklenen Sonuç / Son Koşul — N/A — v1-kaynakta ayrı bölüm yok (format-only 🅐-normalize; içerik §Kapsanan/paket-bölümlerde; UCSTD-001 §6).
9. Kabul Kriterleri — N/A — v1-kaynakta ayrı bölüm yok (format-only 🅐-normalize; içerik §Kapsanan/paket-bölümlerde; UCSTD-001 §6).
10. Kapsam Dışı — N/A — v1-kaynakta ayrı bölüm yok (format-only 🅐-normalize; içerik §Kapsanan/paket-bölümlerde; UCSTD-001 §6).
11. İzlenebilirlik — Parent-UCG üyesi. Atomik traceability henüz beyan-edilmedi (UCSTD-001 §3).
12. Governance ve Durum — governance_mode: INHERITED_FROM_PACKAGE · statü parent-UCG'den MİRAS (ayrı acceptance-event DEĞİL; UCSTD-001 §3).
Gerçeklik-denetimi notu (K55 — REUSE-zemin)
users.last_active_workspace_idkolonu CANLI (kod-repo PAKET-2: nullable + FK-nullOnDelete; yeni-signup'ta personal-workspace ile dolduruluyor) → UC-16'nın ilk tüketici-kod zemini HAZIR; okuma/geçiş-akışı henüz YOK (bu kümenin implementasyon-konusu, ayrı-gate).- Rol-altyapısı kodda VAR (custom-RBAC:
user_role_assignmentstenant+workspace-scoped,UserHasRolesparametrik) — yetki-formülünün membership-ayağı Paket-3 kod-işi. - Bağlam-geçiş UI'ı (workspace-switcher) YOK — yeni-yüzey.
Yüzey-notu (K97)
Bağlam-geçiş/switcher ekranları React-/dashboard'da dilim-gömülü doğar (legacy-ADR-038 §2.5-R1 + K97).
İlgili misuse-vakaları (SCN 35-listesinden)
№5 çoklu-organizasyon üyeliği (bağlamlar karışmaz; yetki bağlam-yerel) · №6 erişimi-kalkan son-workspace (UC-16 güvenli-düşüş) · №14 workspace-değişiminde eski tenant/cache kalıntısı · №15 kapanan membership'in açık oturumu (erişim-sonlandırma SLA'sı — SCN başarı-kriteri 19, ADR-bağlanır).
Kabul-kriterleri (SCN 20-listesinden ilgililer)
- (4) Çoklu-workspace görünür ve gezilebilirdir.
- (5) Bağlam-geçişinde veri ve yetki izolasyonu TAMDIR (taşıma/sızıntı yok).
- (16) Yetkisiz-workspace erişimi BACKEND'de reddedilir.
- (8-izdüşüm) Bağlam/yetki değişimleri audit-izlidir.
Downstream-ADR işaretleri (forward-flag)
- → ADR: Context-switch + yetki-kapsamı (SCN ADR-başlık-listesi).
- → ADR: Session/token yaşam-döngüsü (erişim-sonlandırma SLA X/Y değerleri — kriter-19).
- → CAN-DEC-ADR-002 Aşama-2 Paket-3 (org/membership kod-inşası) bu kümenin sözleşmesini tüketir.
Amendment AMD-1 — AppShell Workspace/Context-Switcher davranışı (UC-33) 〔CEO-onaylı 11 Tem 2026〕
Kaynak: CEO use-case-yaklaşım-kararı (K212). Bu amendment UC-14/15/16/26'nın GÜVENLİK-sözleşmesini değiştirmez; switcher'ın AppShell-yüzey-davranışını ürün-UC'si olarak bağlar (
CAN-DEC-ADR-005§3 meşru-fark-listesi karşılığı).
UC-33 — Workspace/Context-Switcher kullanımı (Dalga-1/2)
1. Nedir? — - Given birden-fazla erişilebilir bağlam When AppShell-switcher'ı açar Then yalnız YETKİLİ-bağlamlarını görür + geçişte eski-bağlam-yetkileri taşınmaz (UC-14-hükmü aynen) + aktif-bağlam görsel-olarak nettir.
- UI-switcher güvenlik-mekanizması SAYILMAZ (UC-26-kuralı aynen; backend-reddi otorite).
2. Aktörler, Sınıf ve Uygulanabilirlik — Aktör: birden-fazla erişilebilir-bağlamı olan kullanıcı.
3. Amaç / Kullanıcı Sonucu — N/A — v1-kaynakta ayrı bölüm yok (format-only 🅐-normalize; içerik §Kapsanan/paket-bölümlerde; UCSTD-001 §6).
4. Tetikleyici — N/A — v1-kaynakta ayrı bölüm yok (format-only 🅐-normalize; içerik §Kapsanan/paket-bölümlerde; UCSTD-001 §6).
5. Ön Koşullar — N/A — v1-kaynakta ayrı bölüm yok (format-only 🅐-normalize; içerik §Kapsanan/paket-bölümlerde; UCSTD-001 §6).
6. Beklenen Davranış — N/A — v1-kaynakta ayrı bölüm yok (format-only 🅐-normalize; içerik §Kapsanan/paket-bölümlerde; UCSTD-001 §6).
7. Alternatif / İstisna / Red Akışları — N/A — v1-kaynakta ayrı bölüm yok (format-only 🅐-normalize; içerik §Kapsanan/paket-bölümlerde; UCSTD-001 §6).
8. Beklenen Sonuç / Son Koşul — N/A — v1-kaynakta ayrı bölüm yok (format-only 🅐-normalize; içerik §Kapsanan/paket-bölümlerde; UCSTD-001 §6).
9. Kabul Kriterleri — N/A — v1-kaynakta ayrı bölüm yok (format-only 🅐-normalize; içerik §Kapsanan/paket-bölümlerde; UCSTD-001 §6).
10. Kapsam Dışı — N/A — v1-kaynakta ayrı bölüm yok (format-only 🅐-normalize; içerik §Kapsanan/paket-bölümlerde; UCSTD-001 §6).
11. İzlenebilirlik — Parent-UCG üyesi. Atomik traceability henüz beyan-edilmedi (UCSTD-001 §3).
12. Governance ve Durum — governance_mode: INHERITED_FROM_PACKAGE · statü parent-UCG'den MİRAS (ayrı acceptance-event DEĞİL; UCSTD-001 §3).
Bağımlılıklar (CAN-GOV-UCDEP-001)
Bağımlılık-listesi BEYAN EDİLMEMİŞTİR (dependency_analysis: pending). decision_ready İLANI YOKTUR.
İzlenebilirlik
upstream: CAN-REQ-SCN-001 (senaryo-kapsam sözleşmesi). governed_by: CAN-GOV-UCDEP-001. related: CAN-DEC-ADR-002 (bağlayıcı üst-iskelet; Pre-Audit çelişki-taraması temiz — UC-15 formülü §3 ile birebir, 4 Tem). downstream: türetilir.
CAN-REQ-UCG-006 · requirements/normative · governance_status: accepted (Human-CEO paket-kabulü PILOT-SLICE-1B, 4 Tem 2026 — use-case-SCOPE kabulü; implementation/effective AYRI kapılar).