資訊安全
Cala 怎麼保護你的資料
Cala 在你的電腦上跑。你的文件、以及 Cala 從裡面學到的所有東西,都留在你的電腦上。我們不上傳、也不儲存在我們的伺服器。還沒完成的部分寫在這一頁的最下面,不會被省略。
每樣東西住在哪裡
| 是什麼 | 住在哪裡 | 會不會上傳到 Cala |
|---|---|---|
| 你載入的文件 | 你自己的磁碟 | 永遠不會 |
| 萃取出的知識,你機台的模型 | 你電腦上的本機 SQLite 資料庫 | 永遠不會 |
| 對話紀錄 | 你電腦上的本機 SQLite 資料庫 | 永遠不會 |
| 調查與輸出的報告 | 本機 SQLite 資料庫,和你輸出的檔案 | 永遠不會 |
| 你的 email | Cala 的伺服器 | 會,這是你的帳號 |
| 你的方案與訂閱狀態 | Cala 的伺服器,以及 Stripe | 會 |
| 用量計數 | Cala 的伺服器 | 會 |
| 你的消費上限設定 | Cala 的伺服器 | 會 |
| 你寄給我們的任何信件 | 我們的信箱,保留到該討論串不再需要為止 | 會,是你寄來的 |
伺服器端沒有文件內容或對話內容的列,因為根本沒有那張表。保留什麼、保留多久的完整細節在隱私權政策(英文)。
Local-first 實際上是什麼意思
萃取出的知識、對話紀錄和調查內容都住在你自己電腦上的 SQLite 資料庫。不同步、不備份到我們這邊、沒有任何排程上傳。也沒有可以打開這些功能的設定。
這件事的後果是雙向的,第二個方向大家比較少想到。我們不可能弄丟你的知識庫、外洩它、或把它交給任何來要的人,因為我們沒有它。但磁碟壞掉的時候,我們也沒辦法幫你復原。像備份你其他工作一樣備份你的機器。
刪除帳號會移除我們持有的東西。它不會動到本機資料庫,因為我們從來沒有副本。移除本機資料的方式是刪掉應用程式和它的資料夾。
你提問的時候,什麼在移動
為了回答問題,你的訊息和正在讀的那幾頁會經過 Cala 的 proxy、以 TLS 送到模型供應商。我們這邊不儲存。誰要是跟你說「完全沒有任何東西離開你的機器」,他描述的是一個回答不了問題的產品。
Proxy 是純轉送。它驗證你的身分、套用你的方案限制和消費上限、轉送請求、送回回應。每一個會接觸到任何東西的第三方、各自收到什麼、在哪裡,都列在次處理者清單(英文)。
Cala 對你載入的內容的立場
Cala 不替你決定你可以載入什麼。它預期你在你已經受約束的協議和政策裡工作:你的聘僱協議、你的客戶與供應商協議、任何 NDA、以及適用於那些文件的出口管制規定。Cala 不是繞過其中任何一項的方法,我們也不會這樣定位它。如果你們站點對這類工具有審查流程,把 Cala 送進去審。我們寧願被評估,也不想被默默放行。
因為內容從來不會到我們這裡,我們看不到你載入了什麼,也沒辦法替你把關。這個責任在載入文件的人身上。這寫在服務條款的可接受使用(英文)一節,那裡也寫了我們在什麼情況下會因此停權。
Local-first 先是一個資安決定,才是一個產品決定。設備文件是工程師手上最敏感的材料之一。一般 AI 工具的做法是把它複製進別人資料中心裡的對話紀錄,用別人的條件保存,在你的控制之外。Cala 在你的電腦上跑,你的文件和它學到的東西都留在那裡。對資安團隊來說,這是移除一類暴露,不是增加一類。
支撐這一切的控制
傳輸加密
每一條連線都走 TLS:桌面 app 到 Cala 的伺服器、這個網站到 Cala 的伺服器、proxy 再到模型供應商。沒有可以退回去的明文端點。
每張表都有 row level security
Cala 資料庫的每一張表都啟用 row level security,policy 綁定請求中通過驗證的 user id。登入的 client 組不出能撈到別人資料列的查詢,因為隔離是資料庫強制的,不是靠應用程式記得加 filter。
合法跨使用者邊界的操作(例如金流 webhook)在伺服器端、經過驗證的 session 後面執行,永遠不用 client 持有的憑證。
金鑰在伺服器端
應用程式裡不帶任何模型供應商的金鑰。桌面 app 用你的 session 對 Cala 自己的 proxy 認證;供應商憑證以 function secret 的形式放在伺服器端。把 app 拆開拿不到供應商金鑰,金鑰輪替也不用出新版本。
金流也一樣:桌面 app 從不持有 Stripe secret,卡號完全不經過 Cala,直接送 Stripe。
Sessions
在這個網站登入和在桌面 app 登入,是同一個帳號的兩個獨立 session。登出其中一個不會登出另一個。刪除帳號會結束兩者。
Cala 今天還做不到的
這些是產品現在的性質,寫在這裡,讓你現在就知道,而不是在內部審查的時候才發現。
- 本機資料庫沒有另外加密
- Cala 目前沒有在你機器上的 SQLite 資料庫外再加一層自己的加密。它跟你其他的工作一樣,受作業系統的全磁碟加密保護。如果 macOS 的 FileVault 或 Windows 的 BitLocker 是關的,先打開再載入任何敏感的東西。
- 文件內容確實會到達外部供應商
- 為了回答問題,正在讀的頁面會離開你的機器。如果你們站點的政策完全禁止這件事,Cala 今天不符合。
- 沒有 on-prem 版本
- 它還不存在,也沒有可以引用的 roadmap 日期。如果你們的政策不允許任何文件內容到達外部供應商,Cala 今天不符合。寫信告訴我們你們的政策要求什麼。
- Windows 版還沒有簽章
- 它是 preview,還沒有 code-signing,第一次啟動可能會看到 SmartScreen 警告。這是真實的缺口,正在補,不找理由。
這一頁不聲稱什麼
這一頁沒有認證、沒有稽核報告、沒有徽章。Cala 沒有 SOC 2 報告、沒有 ISO 認證,說自己「符合某法規」會是一個沒有人評估過的聲稱。等其中任何一項存在的時候,它會以一份有日期的文件出現。
現在存在的、活的、有版本紀錄的,是這些:
- 次處理者清單(英文):每一個處理任何東西的第三方、收到什麼、在哪裡。
- 隱私權政策(英文),包括保留時程和如何行使你的權利。
- 預期用途與 AI 聲明(英文),以及它的白話摘要。
- 以上文件的版本紀錄(英文),改了什麼、什麼時候改的都看得到。
回報問題
如果你認為你找到了一個漏洞,或你需要內部資安審查的答案,寄信到support@calalayer.com並在第一行說明。請不要在信件裡放受 NDA 保護的文件內容。
資料保護相關詢問請寄 Lumino Solution LLC 的隱私權信箱:privacy@calalayer.com。
Cala 的回答與萃取出的知識均由 AI 產生。採取任何行動前,請對照原始文件與 OEM 程序確認。