Security and Privacy
Row-level security (RLS) ties every record in the database to its owner, so each request can see only the signed-in user's records. Because the rule is enforced in the database itself, a request can't reach another user's chats, projects, or memory.
- All user tables are protected by RLS; a signed-in user can read and change only their own records.
- Anonymous roles are given no table access.
- Only the server-side memory processor writes memory records; a client can't add records to your memory or change existing ones directly.
- Data is encrypted in transit (HTTPS/TLS) and at rest (disk encryption).
Where your data is kept
| Data | Web and Mobile | Desktop |
|---|---|---|
| Chats and attachments | In your account (server) | On your computer's disk |
| Memory, projects, preferences, skills | In your account (server) | In your account (server), synced across devices |
| Membership and credits | In your account (server) | In your account (server) |
| Guest and incognito chats | Not saved | Incognito chats are not saved |
What this means for you
- Your chats, projects, preferences, and memory records belong only to you.
- Someone who isn't signed in can't access the tables.
- Memory records can't be written directly from the app; only the memory processor on the server adds and updates them (see How does memory work?).
- For abuse detection, security, and troubleshooting, a limited number of authorized staff may access content, only as far as needed and with access logged.