Proje: Okul B2B App · Hub: Okul B2B App — Domain

Kullanım Şartları ve KVKK Yönetimi

Terms Acceptance Akışı

Login sonrası, CompanyProvider mount edilmeden önce TermsGuard kullanım şartları kontrolü yapar:

Login başarılı → CompanyProvider mount
  → TermsGuard
    → termsAcceptanceManager.needsAcceptance()
    → Kabul edilmemiş → TermsAcceptanceModal göster (zorunlu)
    → Kabul edildi → CompanyContext yüklenir → app devam eder

TermsAcceptanceManager

  • Storage: AsyncStorage['termsAcceptance']
  • Version: '1.0.0' (değiştiğinde tekrar kabul istenir)
  • İki ayrı kabul: privacyPolicyAccepted + termsOfServiceAccepted
  • Storage: AsyncStorage['@okulcomtr:privacy_consent']
  • Consent version: '1.0'
  • B2B app olduğundan analytics varsayılan olarak aktif
  • privacyManager.isAnalyticsEnabled() → analytics event’leri göndermeden önce kontrol edilir

Ekranlar

  • app/legal/privacy-policy.tsx — Gizlilik politikası
  • app/legal/terms-of-service.tsx — Kullanım koşulları
  • components/auth/TermsAcceptanceModal.tsx — Zorunlu kabul modal
  • components/ui/PrivacySettingsModal.tsx — Profil’den ulaşılan ayarlar