CallwiseDocs

Güvenlik modeli

Uygulama veya bir API istemcisi ne gönderirse göndersin, Postgres'in uyguladığı kurallar.

Uygulama kullanamayacağınız şeyleri gizler, ama gizleme koruma değildir. Aşağıdaki her kural satır düzeyi güvenlik, sütun izinleri, tetikleyiciler veya denetim yapan işlevlerle veritabanı tarafından uygulanır ve her birinin onu kırmayı deneyen bir testi vardır (pnpm test:rls, bkz. Testler).

Ürün tabloları cw_ ile başlar ve her satır bir çalışma alanına aittir. Erişime tek bir işlev karar verir: her ilkenin kullandığı cw_can_access(workspace, module, level).

Kurallar

#KuralPostgres bunu nasıl uygular
1Bir çalışma alanının planını, durumunu, dönemini veya havuz hakkını yalnızca faturalama değiştirebilir.Oturum açmış kullanıcılar cw_subscriptions tablosunu okuyabilir ama üzerinde yazma izinleri yoktur.
2Kimse ödemeden bir modülün kilidini açamaz. Yeni modüller locked olarak başlar; kilitli bir modülü açmak başarısız olur.Kullanıcılar access_state yazamaz; sahipler yalnızca enabled alanını güncelleyebilir ve bir tetikleyici bunu kilitli modüller için reddeder.
3Bir senaryoyu yayınlamak, Resepsiyonist üzerinde publish gerektirir.Sürümleri yalnızca düzeyi denetleyen cw_publish_agent() oluşturur. Sürümlere veya yayınlanmış işaretçiye doğrudan yazmalar reddedilir.
4Arama kayıtları uygulamadan yeniden yazılamaz. Yalnızca inceleme işareti ve bayrak değişir ve inceleyen her zaman sizsinizdir.Sütun izni yalnızca inceleme alanlarındadır; bir tetikleyici inceleyeni ve zamanı oturum açmış kullanıcıdan ayarlar.
5Kullanıcılar arama veya transkript satırı oluşturamaz.Ekleme izni yoktur. Bunları yalnızca ses hizmeti, imzalı webhook aracılığıyla yazar.
6none yapılmış veya kapatılmış bir modül hiç satır döndürmez.Her okuma ilkesinde cw_can_access vardır.
7Bir çalışma alanı, bir başkasının verisini asla görmez.cw_can_access önce üyeliği denetler.
8Kişiler kendi erişim düzeylerini yükseltemez.Erişimi yalnızca sahipler ve yöneticiler düzenler; yöneticiler sahibin satırlarına dokunamaz.
9Denetim kayıtları yalnızca kendiniz olarak yazılır.Ekleme ilkesi actor_type = 'user' ve sizin kendi kullanıcı kimliğinizi gerektirir; güncelleme veya silme yoktur.
10Salt okunur bir çalışma alanı değiştirilemez.cw_can_access, salt okunur modüllerde her düzeyi view ile sınırlar.
11Bir arayanı silmek ve bir telefon numarasını yönlendirmek publish gerektirir.cw_erase_caller() düzeyi denetler; telefon numaralarındaki güncelleme ilkesi publish gerektirir.
12Notlar yazarlarına aittir.Eklemeler sizin kendi kullanıcı kimliğinizi kullanmalıdır; yalnızca kendi notlarınızı düzenleyebilir veya silebilirsiniz.

Diğer korumalar

  • Hizmet rolü. Bu kuralları aşan anahtar yalnızca tek bir sunucu dosyasında kullanılır (apps/web/lib/callwise/service-role.ts): faturalama ve ses webhook'u için.
  • Ses webhook'u. HMAC ile imzalanır, zaman damgası 5 dakika içinde denetlenir ve olay kimliğine göre yinelenmez.
  • Kayıtlar. Özel kova; bir dosya yalnızca kendi çalışma alanında Resepsiyonist üzerinde view ile okunabilir. Uygulamadan yükleme yoktur.
  • Giden webhook'lar. Hedef URL'ler, bir şey gönderilmeden önce sunucu tarafında bir denetimden geçer.
  • Demo modu, açıkça ALLOW_DEMO_IN_PROD=true verilmeden üretimde çalışamaz ve asla dışarıya bir istek yapmaz.

Henüz kapsam dışı olanlar

Dış bir güvenlik denetimi veya sızma testi yapılmamıştır ve Callwise'ın bir uyumluluk sertifikası yoktur. Bkz. Veri ve gizlilik.

On this page