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
| # | Kural | Postgres bunu nasıl uygular |
|---|---|---|
| 1 | Bir ç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. |
| 2 | Kimse ö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. |
| 3 | Bir 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. |
| 4 | Arama 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. |
| 5 | Kullanıcılar arama veya transkript satırı oluşturamaz. | Ekleme izni yoktur. Bunları yalnızca ses hizmeti, imzalı webhook aracılığıyla yazar. |
| 6 | none yapılmış veya kapatılmış bir modül hiç satır döndürmez. | Her okuma ilkesinde cw_can_access vardır. |
| 7 | Bir çalışma alanı, bir başkasının verisini asla görmez. | cw_can_access önce üyeliği denetler. |
| 8 | Kiş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. |
| 9 | Denetim 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. |
| 10 | Salt okunur bir çalışma alanı değiştirilemez. | cw_can_access, salt okunur modüllerde her düzeyi view ile sınırlar. |
| 11 | Bir 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. |
| 12 | Notlar 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
viewile 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=trueverilmeden ü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.
Ses hizmeti sözleşmesi
Ses hizmetinin arama oluşturmak, transkript turları eklemek ve aramaları kapatmak için çağırdığı imzalı webhook.
Lisanslama
Callwise yalnızca özel kullanım için tescilli bir yazılımdır. Copyright (c) 2026 Techsy Yapay Zeka Ve Yazılım Teknolojileri Anonim Şirketi (Istanbul, Türkiye). Tüm hakları saklıdır.