Security
How it is built to hold.
This page is for the one reader in fifty who checks. Every item is a mechanism in the shipping app, not an intention.
- Encrypted at rest
- The local database is SQLCipher-compatible and encrypted on disk. Its key lives in the macOS Keychain, not in the application bundle or a config file.
- The window is sandboxed
- Cadent's interface runs with the sandbox on, context isolation on, and Node integration off, talking to the rest of the app through a narrow typed bridge. A compromise of the interface cannot reach the filesystem, your credentials or the database.
- No remote code
- The interface is locked to its own bundled resources and cannot load or reach remote scripts.
- Your token is entered in isolation
- The Canvas token is typed into a one-shot window that has no network access of its own. Verification happens elsewhere in the app, so the token cannot leave through the window it was entered in.
- Source text is untrusted
- Everything read out of Canvas is treated as data, not instruction, and is delimited as such. A syllabus or announcement cannot grant the model a new capability or change what it is allowed to do.
- Model output is constrained
- Models return schema-checked structured data, never executable code. One bounded repair is allowed on a malformed response, and then the operation fails closed rather than guessing.
- One writer
- No model writes to your database. Proposals are typed, allow-listed operations committed by deterministic code after schema, version and policy checks. There is no path from a model response to arbitrary changes in your data.
- Bounded outbound requests
- Provider traffic is restricted to allow-listed origins with pinned resolution, and cross-origin redirects are rejected, so a hostile redirect cannot walk off with an authorization header.
- Deletion propagates
- Removing a source removes its extracted text, its vectors and its cached evidence. A source that something still actively depends on cannot be silently orphaned.
What has not been done
No independent security assessment has been performed. We do not hold SOC 2 and we do not claim FERPA compliance. The mechanisms above are real and described accurately; none of them are a substitute for an audit we have not had, and we would rather list the gap than let the page imply otherwise.
Found something? support@cadent.work