Skip to content
Cala
Download

Security

How Cala protects your data

Cala runs on your computer. Your documents, and everything Cala learns from them, stay there. We do not upload them and we do not store them on our servers. The parts that are not finished are named at the bottom of this page rather than left out.

Where each thing lives

Every row of this table is an architectural property, not a policy we promise to follow.
What it isWhere it livesUploaded to Cala
The documents you loadYour own diskNever
Extracted knowledge, the model of your machineLocal SQLite database on your computerNever
Chat historyLocal SQLite database on your computerNever
Investigations and exported reportsLocal SQLite database, and the files you exportNever
Your email addressCala’s serversYes, it is your account
Your plan and subscription stateCala’s servers, and StripeYes
Usage countersCala’s serversYes
Your spend-cap settingCala’s serversYes
Anything you email usOur mailbox, for as long as the thread needsYes, you sent it

There is no row for document content or chat content on the server side, because there is no table for it. Full detail of what is kept and for how long is in the privacy policy.

Local-first, and what that actually means

Extracted knowledge, chat history and investigation content live in a SQLite database on your own computer. They are not synced, not backed up to us, and not uploaded on any schedule. There is no setting that turns that on.

The consequence runs both ways, and the second half is the one people do not think about. We cannot lose your knowledge base, leak it, or hand it to anyone who asks for it, because we do not have it. We also cannot restore it for you if the disk fails. Back up your machine the way you back up the rest of your work.

Deleting your account removes what we hold. It does not touch the local database, because we never had a copy of it. Deleting the application and its data folder is what removes that.

What travels when you ask a question

To answer a question, your message and the specific pages being read are sent to the inference provider through Cala’s proxy, over TLS. They are not stored on our side. Anyone telling you that nothing at all leaves your machine is describing a product that cannot answer a question.

The proxy is a pass-through. It authenticates you, applies your plan limits and your spend cap, forwards the request and returns the response. Every third party that touches anything, what each one receives and where, is listed in the subprocessor register.

Where Cala stands on the material you load

Cala does not decide what you are allowed to load. It expects you to work inside the agreements and policies you are already bound by. That means your employment agreement, your customer and supplier agreements, any non-disclosure agreement, and any export control rule that applies to the documentation. Cala is not a way around any of them, and we do not position it as one. If your site has a review process for tools like this, put Cala through it. We would rather be assessed than waved in.

Because the content never reaches us, we cannot see what you have loaded and we cannot check this for you. That responsibility sits with the person loading the document. It is written into the acceptable use section of the terms, which also says when we would suspend an account over it.

Local-first is a security decision before it is a product decision. Equipment documentation is among the most sensitive material an engineer handles. The usual way an AI tool handles it is to copy it into a chat history in someone else’s data centre. It is kept there on their terms, outside your control. Cala runs on your computer. Your documents, and everything Cala learns from them, stay there. We do not upload them and we do not store them on our servers. For a security team, that removes a class of exposure rather than adding one.

The controls behind all of this

Transport encryption

Every connection is over TLS: the desktop app to Cala’s servers, this website to Cala’s servers, and the proxy onward to the inference provider. There is no plaintext endpoint to fall back to.

Row level security on every table

Row level security is enabled on every table in the Cala database, with policies keyed to the authenticated user id in the request. A signed-in client cannot construct a query that returns another user’s row, because the isolation is enforced by the database rather than by the application remembering to filter.

Operations that legitimately cross a user boundary, such as billing webhooks, run server-side behind a validated session and never with a client-held credential.

Server-side key handling

No inference provider key ships in the application. The desktop app authenticates to Cala’s own proxy with your session; the provider credential is held server-side as a function secret. Pulling the app apart yields no provider key, and a key can be rotated without shipping a new build.

The same applies to billing: the desktop app never holds a Stripe secret, and card details never reach Cala at all. They go to Stripe directly.

Sessions

Signing in on this website and signing in to the desktop app are separate sessions against the same account. Signing out of one does not sign out the other. Deleting the account ends both.

What Cala does not do today

These are current properties of the product, written here so you find out now rather than during an internal review.

The local database is not separately encrypted
Cala does not add its own encryption layer to the SQLite database on your machine today. It sits under your operating system full-disk encryption, like the rest of your work. If FileVault on macOS or BitLocker on Windows is off, turn it on before you load anything sensitive.
Document content does reach an external provider
To answer a question, the pages being read leave your machine. If your site policy forbids that outright, Cala does not meet it today.
There is no on-prem version
It does not exist yet, and there is no roadmap date to quote. If your policy allows no document content to reach an outside provider, Cala does not meet it today. Write in and tell us what your policy requires.
The Windows build is unsigned
It is a preview and is not code-signed yet, so you may see a SmartScreen warning on first launch. That is a real gap and it is being closed, not explained away.

What this page does not claim

There is no certification on this page, no audit report and no badge. Cala holds no SOC 2 report and no ISO certification, and describing itself as compliant with a regulation would be a claim nobody has assessed. When one of those exists it will appear as a document with a date on it.

What exists instead, live and versioned:

Reporting a problem

If you believe you have found a vulnerability, or you need answers for an internal security review, email support@calalayer.com and say so in the first line. Please do not include NDA’d document content in the message.

Data protection enquiries go to the privacy contact for Lumino Solution LLC: privacy@calalayer.com.

Cala's answers and extracted knowledge are AI-generated. Verify against the source documents and OEM procedures before acting.