Privacy & security
What we actually do to protect what you add, and what we don’t claim.
- Encrypted at rest
- Your original texts (notes, pasted conversations, text extracted from files), uploaded files and support messages are encrypted with AES-256-GCM before they are stored. Each value is bound to its purpose, so it can’t be moved or altered unnoticed. The keys exist only in the server’s settings, never in the code, the database or the file storage.
- Isolation
- Every database query for your data is filtered by your account on the server. Asking for someone else’s context, file or item returns “not found”.
- Private, even from the team
- The admin panel shows that an account exists and how much it holds, never the content. You can share one context with support, read-only, for 1, 3 or 7 days, and stop sharing at any moment. Every admin action and every look at a shared context is logged.
- Admin protected twice
- Admin access needs the account password plus a 6-digit code from an authenticator app, renewed every 12 hours. Admin pages say “not found” to everyone else.
- Private files
- Files are served only to you, or through a capsule where you allowed downloads, with headers that stop them from running as web pages.
- Capsules
- A capsule is a frozen copy of exactly what you previewed. Links are long random tokens; we store only their hash. You can set an expiry and revoke at any time.
- AI only with consent
- Your sources are sent to the AI provider configured on this server only after you agree, either per run or once in your settings. You see which provider before anything is sent. Without AI, nothing leaves the server.
- Prompt-injection defence
- Uploaded text is treated as data. Suspicious instructions are flagged, sources are wrapped, the model has no tools, and its output is validated before anything is saved.
- Accounts
- Passwords are hashed with scrypt. Sessions are random tokens in HttpOnly cookies; sign-in, uploads, links and questions are rate-limited. Lost access? Support sends a one-time link that works for 24 hours.
- Your data
- Export everything (JSON plus your original files) or delete your account; deletion removes your files and stops your links.
- Counting visits, not people
- To learn which pages help, we count visits to the public pages (never inside your workspace). We store the page, the browser family, the device type, the screen width bucket, the referring site’s name and campaign tags in the link, and a code made from your address and browser that changes every day and can’t be reversed. We keep no cookies for this, no IP address, no account and no content. If your browser sends Do Not Track or Global Privacy Control, we don’t count you at all. Details are deleted after 400 days.
- Support and error logs
- When something fails on our side, or you hit a plan limit, we keep a short log entry: the time, the type of answer, the page address pattern and your account, never what you wrote or uploaded. It is kept for 30 days and lets support find “what happened” from the Request ID shown with an error. Support sees technical details of your account only if you tick the box on that request, and you can take it back. Notes and drafts the team writes about your request are never shown to you; AI is used to help draft a reply only if you allow it on that request, and a person reads it before anything is sent.
- Photos
- Location and camera metadata are stripped from images when you upload them.
What we don’t claim
- No security certification or compliance audit has been done (for example SOC 2, ISO 27001).
- This is not end-to-end encryption: the server decrypts your content to organize, search and share it.
- Organized items, context titles and capsule copies are stored in the database without application-level encryption, so they can be searched; access to the database is limited to the service operator.
- Email verification is built but not active: no email service is connected yet, so no email can be sent and password resets go through support.