Verifiable
An EU company address is not EU hosting.
"EU-hosted" is easy to write. So this page doesn't say "EU" — it says who, what, where, with names, seats and the data center. If any claim here is wrong, that's a mistake we want thrown at us: support@memexa.ai.
The exit comes first
Before places: you can always leave. Every note, every document, the whole graph exports with one click as Markdown — complete, in a format every tool reads. The graph is an index, not a lock-in. A vendor who talks about the data center before the export has the order backwards.
The data center
Memexa runs on Scaleway in region fr-par, Paris — application servers, managed PostgreSQL and object storage (documents). All database connections run over a private network; the database has no public address. The operator is Scaleway SAS, a subsidiary of the Iliad group, France.
Subprocessors
The complete list — every company with seat and purpose. What isn't listed here doesn't get your data.
| Company | Seat | Purpose | Processing location |
|---|---|---|---|
| Scaleway SAS | Paris, France | Hosting: servers, managed PostgreSQL, object storage, transactional email | Data center fr-par (Paris) |
| Mistral AI SAS | Paris, France | AI processing: OCR, embeddings, distillation, audio transcription | EU (La Plateforme) |
| Jina AI GmbH | Berlin, Germany | Re-ranking of search hits — receives text excerpts of candidates, only on ambiguous searches | api.jina.ai — EU processing not guaranteed |
| BunnyWay d.o.o. | Ljubljana, Slovenia | CDN and DNS — delivery of the web interface | EU edge locations |
| Sendinblue SAS (Brevo) | Paris, France | Inbound email capture (mail-to-brain feature) | EU |
| Armitage Labs OÜ (Creem) | Rotermanni tn 14, 10111 Tallinn, Estonia — registry code 16977866 | Payment processing and subscription management as merchant of record (paid plans only) | EU; US subcontractors under SCCs (creem.io/dpa) |
| Migadu-Mail GmbH | Appenzell Ausserrhoden, Switzerland | Email mailboxes (support@, privacy@) — inbound and outbound support mail | Servers at OVH (EU); Switzerland: EU adequacy decision |
| Langfuse GmbH | Berlin, Germany | Operational search telemetry (metrics and cost — never query text, never content) | EU (cloud region Frankfurt) |
| Plausible Insights OÜ | Tallinn, Estonia | Cookieless visitor stats — this marketing site only, not the app | EU |
Two rows that deserve an explanation
Creem — the payment chain. Paid plans run through Armitage Labs OÜ (Creem) in Tallinn as merchant of record. Creem in turn works with subcontractors in the US — there is no card payment without the card networks and their service providers. We would rather write that down than let it disappear under "EU". That chain gets what billing needs: email address, billing country, amount, subscription status. It never gets: notes, documents, queries, the graph. It has no access to the database or object storage, and it touches your content at no point. The transfers are covered by EU standard contractual clauses; the current list of subcontractors is at creem.io/dpa. The free plan doesn't pass through the payment chain at all.
Migadu — the support mailboxes. support@ and privacy@ sit with Migadu-Mail GmbH, seated in Appenzell Ausserrhoden, Switzerland; the servers stand at OVH in the EU. Switzerland is not an EU member, but the European Commission certifies it an adequate level of data protection — a transfer there needs no additional safeguard. What lies in those mailboxes is what you write to us: support mail. No brain content. Migadu is a paid mail host with no ad financing. Inbound mail to your brain does not run through this, but through Brevo — its own row in the table above.
Which AI models, from whom
Processing of your content runs on models from Mistral AI, Paris —
specifically mistral-ocr-latest for
OCR, mistral-embed for embeddings,
mistral-small for distillation and
voxtral-mini for audio
transcription. No US model provider sees your content. The language model you talk to (Claude,
ChatGPT, …) is brought by your own AI client — Memexa only hands it the sources. That leaves one component we
haven't got as clean, and it belongs here just as much.
The one loose end: re-ranking. When a search turns up several
similarly good hits, a cross-encoder sorts them by relevance —
jina-reranker-v2-base-multilingual
at Jina AI GmbH in Berlin. Text excerpts of the candidates go there. The company is German, but the endpoint
api.jina.ai doesn't tell us
where processing happens — we have no EU processing guarantee for this step. That's precisely the gap this
page holds against other vendors, so here it is. Two things make it smaller: the step doesn't run on every
search, only when hits sit close together and sorting would actually change something. And it receives
excerpts, not whole documents. We're looking for a replacement; until one runs, this paragraph stays.
Self-hosted instead of bought in
Error tracking runs on a self-hosted GlitchTip instance on our own Scaleway infrastructure — crash reports never leave our servers. And they don't contain you: before a report goes out, user identity, IP, cookies, headers, authorization tokens, request body and query string are stripped. The body is the part that matters — note content and search queries would otherwise sit in it. Performance tracing is off by default. This website's visitor stats are cookieless (Plausible, EU), and the app itself has none at all.
Keys that can do one thing only
Access keys follow the principle of least privilege: every system gets only the permissions it actually needs. Example: this website's automated deploy holds no account-wide CDN key — just a token that can do exactly one thing: purge this site's cache. The central keys themselves live in Scaleway's Secret Manager, not in external build systems.
The separation lives in the database, not in the code
In most services, application code is what keeps you from seeing someone else's data — one forgotten "where user = …" in a single query is then enough for a leak. In Memexa the separation sits a layer lower: PostgreSQL enforces it through row-level security. With no user context set, the database returns no rows — not the wrong ones, none at all. The context is set per transaction and falls away when it ends, so it can't carry over to the next connection out of the pool. To keep it that way, a check runs with the test suite that fires as soon as a new table arrives without row-level security or an explicit classification: the build fails instead of quietly passing.
What your AI may do is your call — and you can take it back
Claude, ChatGPT and Cursor don't get a master key. Access runs through OAuth: before you approve, you see which client is asking and where the access goes, and you confirm it yourself. The browser clipper and full AI access hold separate permissions — the clipper may file things, not search your store. You can disconnect clients any time from the dashboard; there's also an RFC 7009 revocation endpoint for clients that call it themselves. And access control doesn't hang on one central gate: every endpoint checks the session itself, so a mistake in one place doesn't open everything.
Deletion means deletion — in this order
You can delete your account yourself, confirmed by email. What happens then is deliberately the other way round: first every file in object storage is removed — across the complete user prefix, so orphaned files that no longer belong to any entry go too. Only then do the database rows fall. If the file deletion fails, the whole run aborts and your account stays, rather than leaving you with the records gone and the documents still sitting there. The run is safe to repeat. Individual items you can delete any time without touching the account.
The wires in between
Every leg is encrypted: TLS 1.2 and up at the edge, older versions switched off; database connections run
with verify-full, meaning
certificate and hostname are checked, not just "encrypted somehow". The database sits on a private network
with no public address. In front of it are a WAF and DDoS protection, and the origin server only accepts
requests from the CDN's network — you can't reach it directly. The application container runs without root,
dependencies build from a pinned lockfile, and the one external binary we need is pinned to a version
and a checksum. Staging and production are separate projects, not two folders in one.
What we do not claim
A page that only lists strengths is an ad. So here's the other list — every item is one we've been asked about, or would be:
- "Your data never leaves the EU." We don't say that. The moment you connect Claude or ChatGPT, you send sources to their provider — that's the point of the thing, but it's your decision, not our guarantee. Add the payment chain and the re-ranking step, both named openly above.
- "Only you can decrypt your data." We don't say that. Memexa is not end-to-end encrypted. For text recognition, search and linking to work, the service and the named processors have to be able to read the content. If you need genuine zero-knowledge storage, you need a different tool — and you should distrust anyone promising both at once.
- "Certified to ISO 27001 or SOC 2." We're not. We've reviewed against OWASP-oriented criteria, which is a different thing from a certificate, and we don't call it one.
- "Independently penetration tested." No. There are several documented, multi-pass security reviews of the code — internal. An external pentest is a different thing, and until there is one, no other word goes here.
- "Highly available, 99.9%." No. The production database runs without failover. There are backups and point-in-time recovery, but no committed availability level — and as long as we can't show you a rehearsed restore with a date on it, we won't promise one.
Documents & reporting channels
- Data processing agreement (DPA) and technical-organizational measures (TOMs): on request via support@memexa.ai
- Details on processing, retention and your rights: privacy policy
- Report security issues: security.txt
- Provider identification: legal notice
Memexa is bootstrapped — no investors, no exit pressure. Your subscriptions are the business model, not your data.