Skip to content

Security

Your memory, isolated to you.

The whole point of Lodekeep is to hold your private context across every AI you use, so security is not a footnote here, it is the product. This is the real model behind it: how your data is separated from every other account, how every request is authenticated, what is encrypted, who else touches your data, how the code is tested, and what control you keep. No hand-waving, this is what the code actually does.

01 · Isolation

One account can never reach another.

Every memory entry, project, and vector is scoped to your user id. A captured note is embedded and stored in a Pinecone namespace unique to your account, not a shared index with a filter that could be dropped or misconfigured. There is no query path in the code that lets one user id read, search, export, or delete another user id's memory, project, or vector.

user_<your id>

Every request, dashboard or MCP tool call (capture_note, search_memory, get_project_context), authenticates with your own credential, and the identity resolved from it is the only user id the query is ever allowed to run against. Ownership is checked before any action; a request for something you do not own returns "not found" and never even reveals it exists.

02 · Authentication

Every request proves who it is.

  • Passwords are hashed with scrypt (a memory-hard algorithm), using OWASP-recommended parameters. We never store or see your plaintext password. Google and GitHub sign-in are supported.
  • Two-factor authentication (TOTP, with recovery codes) is available on your account.
  • Sessions ride an HttpOnly, SameSite cookie your page scripts can never read, paired with a separate CSRF token your browser must present on every state-changing request. Sign-in, sign-up, and two-factor verification additionally validate request origin.
  • AI connectors authenticate over the Model Context Protocol: remote connectors (Claude web, ChatGPT, Grok) use OAuth 2.1 with PKCE, and command-line clients use scoped, revocable API keys. Keys and reset/verification tokens are stored only as a hash; the raw value is shown to you once and revocation takes effect on the very next call.
  • Abuse is rate-limited per account and per address across sign-in, key minting, and verification and reset mail.

03 · Encryption

Encrypted in transit, encrypted in backup.

  • Transport is TLS end to end. Every request, dashboard and API alike, is served over HTTPS, fronted by a CDN with strict transport settings.
  • Offsite backups are encrypted (AES-256) before they ever leave the primary server; the plaintext backup never travels. The encrypted restore path is drilled end to end (decrypt, restore, row-count parity against production), so the backups are known-good, not just assumed.

04 · Subprocessors

A short, named list. Nothing hidden.

We do not run our own embedding model or vector database. Your data passes through a small, named set of providers:

  • OpenAI generates the embedding vector for every note you capture.
  • Pinecone stores those vectors, and the memory content tied to them, inside your account's namespace.
  • Stripe handles subscription billing and card payments. We never see or store your raw card number.
  • Contabo provides the server infrastructure we rent and operate ourselves. Our PostgreSQL database (your account data and memory content) runs on it, and the encrypted backup is mirrored to a second server we also operate there.
  • Resend delivers our transactional email (verification, password reset, receipts), so it processes your email address and those messages.

We do not sell your data, and captured memory is never used to train any model. The full, current list lives in the Privacy Policy.

05 · Testing

Adversarially reviewed before launch.

Security is enforced continuously, not bolted on at the end. Every change goes through a typed build, an automated suite of thousands of tests, linting, and end-to-end browser tests before it can ship, and the deploy pipeline refuses to advance past a failing gate. Destructive actions (account, project, and bulk deletion) are ownership-scoped and confirmation-gated.

Ahead of launch the application was put through an intensive internal adversarial security review, a large fleet of independent automated reviewers plus a dedicated penetration-testing pass across the standard attack classes (cross-account access, authentication and sessions, the OAuth and connector surface, injection, cross-site scripting, request forgery, secret exposure, rate-limit abuse, privilege escalation, and billing integrity). Every candidate finding was independently verified before it was accepted, and accepted findings were fixed with regression tests. An engagement with an external third-party firm is a planned follow-up; we would rather say that plainly than imply an audit we have not yet done.

06 · Your control

You own it. Export or erase, on demand.

  • Export everything. From Settings you can download every memory entry and project you own as a single file, on demand.
  • Delete everything. The same page permanently erases your account, every memory entry, its vector, every project, and every billing record, behind a typed confirmation. Real deletion, not a soft flag. Individual projects and notes can be deleted the same way.
  • Retention by tier. Free keeps captured memory 30 days, then deletes it; Pro, Max, and Team memory is permanent. Deleting your account removes everything immediately, ahead of that schedule.

07 · Disclosure

Found something? Tell us first.

If you believe you have found a vulnerability, email [email protected] before disclosing anything publicly, and give us reasonable time to remediate. We will read it and get back to you.

Read the full Privacy Policy for the complete data-handling picture, including retention and your rights.