Memexa

Vérifiable

Un siège social en Europe n'est pas un hébergement en Europe.

« Hébergé en Europe » s'écrit facilement. Cette page ne dit donc pas « UE » — elle dit qui, quoi, où, avec noms, sièges et centre de données. Si une affirmation est fausse ici, c'est une erreur que nous voulons qu'on nous jette à la figure : support@memexa.ai.

La sortie d'abord

Avant les lieux : vous pouvez toujours partir. Chaque note, chaque document, le graphe entier s'exportent en un clic au format Markdown — intégralement, dans un format que tout outil sait lire. Le graphe est un index, pas un verrou. Un fournisseur qui parle du centre de données avant de parler de l'export a inversé l'ordre.

Le centre de données

Memexa tourne chez Scaleway, région fr-par, Paris — serveurs applicatifs, PostgreSQL managé et stockage objet (documents). Toutes les connexions à la base passent par un réseau privé ; la base n'a pas d'adresse publique. L'opérateur est Scaleway SAS, filiale du groupe Iliad, France.

Sous-traitants

La liste complète — chaque entreprise avec siège et finalité. Ce qui ne figure pas ici ne reçoit pas vos données.

Entreprise Siège Finalité Lieu de traitement
Scaleway SAS Paris, France Hébergement : serveurs, PostgreSQL managé, stockage objet, e-mails transactionnels Centre de données fr-par (Paris)
Mistral AI SAS Paris, France Traitement IA : OCR, embeddings, condensation, transcription audio UE (La Plateforme)
Jina AI GmbH Berlin, Allemagne Re-classement des résultats — reçoit des extraits de texte des candidats, uniquement sur les recherches ambiguës api.jina.ai — traitement en UE non garanti
BunnyWay d.o.o. Ljubljana, Slovénie CDN et DNS — distribution de l'interface web Points de présence UE
Sendinblue SAS (Brevo) Paris, France Réception des e-mails entrants (fonction mail-vers-brain) UE
Armitage Labs OÜ (Creem) Rotermanni tn 14, 10111 Tallinn, Estonie — code registre 16977866 Traitement des paiements et gestion des abonnements en tant que merchant of record (offres payantes uniquement) UE ; sous-traitants US sous CCT (creem.io/dpa)
Migadu-Mail GmbH Appenzell Rhodes-Extérieures, Suisse Boîtes e-mail (support@, privacy@) — courrier support entrant et sortant Serveurs chez OVH (UE) ; Suisse : décision d'adéquation UE
Langfuse GmbH Berlin, Allemagne Télémétrie opérationnelle de la recherche (métriques et coûts — jamais le texte des questions, jamais les contenus) UE (région cloud Francfort)
Plausible Insights OÜ Tallinn, Estonie Statistiques de visite sans cookies — uniquement ce site marketing, pas l'application UE

Deux lignes qui méritent une explication

Creem — la chaîne de paiement. Les offres payantes passent par Armitage Labs OÜ (Creem), à Tallinn, en tant que merchant of record. Creem fait de son côté appel à des sous-traitants aux États-Unis — sans les réseaux de cartes et leurs prestataires, il n'y a pas de paiement par carte. Nous préférons l'écrire plutôt que de le laisser disparaître derrière un « UE ». Cette chaîne reçoit ce qu'exige une facturation : adresse e-mail, pays de facturation, montant, statut de l'abonnement. Elle ne reçoit jamais : notes, documents, requêtes, graphe. Elle n'a accès ni à la base de données ni au stockage objet, et elle ne touche vos contenus à aucun moment. Ces transferts sont encadrés par les clauses contractuelles types de l'UE ; la liste à jour des sous-traitants est sur creem.io/dpa. L'offre gratuite ne passe pas du tout par la chaîne de paiement.

Migadu — les boîtes support. support@ et privacy@ sont hébergées par Migadu-Mail GmbH, dont le siège est à Appenzell Rhodes-Extérieures, en Suisse ; les serveurs, eux, sont chez OVH dans l'UE. La Suisse n'est pas membre de l'UE, mais la Commission européenne lui reconnaît un niveau de protection adéquat — un transfert vers ce pays n'exige aucune garantie supplémentaire. Ces boîtes contiennent ce que vous nous écrivez : du courrier de support. Aucun contenu de votre brain. Migadu est un hébergeur de messagerie payant, sans financement publicitaire. Le courrier entrant vers votre brain ne passe pas par là, mais par Brevo — sa propre ligne dans le tableau ci-dessus.

Quels modèles d'IA, de qui

Le traitement de vos contenus passe par des modèles de Mistral AI, Paris — concrètement : mistral-ocr-latest pour l'OCR, mistral-embed pour les embeddings, mistral-small pour la condensation et voxtral-mini pour la transcription audio. Aucun fournisseur de modèles américain ne voit vos contenus. Le modèle avec lequel vous parlez (Claude, ChatGPT, …) vient de votre propre client IA — Memexa ne lui transmet que les sources. Reste un composant que nous n'avons pas réussi à rendre aussi net, et il a tout autant sa place ici.

Le point non résolu : le re-classement. Quand une recherche remonte plusieurs résultats de qualité comparable, un cross-encoder les trie par pertinence — jina-reranker-v2-base-multilingual chez Jina AI GmbH, à Berlin. Des extraits de texte des candidats y sont envoyés. L'entreprise est allemande, mais le point d'accès api.jina.ai ne nous dit pas où le traitement a lieu — nous n'avons pas de garantie de traitement en UE pour cette étape. C'est exactement la faille que cette page reproche aux autres : elle figure donc ici. Deux choses la réduisent : l'étape ne se déclenche pas à chaque recherche, seulement quand les résultats sont serrés et qu'un tri changerait vraiment quelque chose. Et elle reçoit des extraits, pas des documents entiers. Nous cherchons un remplacement ; tant qu'il n'est pas en place, ce paragraphe reste.

Auto-hébergé plutôt qu'acheté

Le suivi des erreurs tourne sur une instance GlitchTip auto-hébergée sur notre propre infrastructure Scaleway — les rapports de plantage ne quittent jamais nos serveurs. Et ils ne vous contiennent pas : avant l'envoi, l'identité de l'utilisateur, l'IP, les cookies, les en-têtes, les jetons d'autorisation, le corps de la requête et la chaîne de requête sont retirés. Le corps est la partie qui compte — c'est là que se trouveraient sinon le contenu des notes et les requêtes de recherche. Le traçage de performance est désactivé par défaut. Les statistiques de visite de ce site se passent de cookies (Plausible, UE), et l'application elle-même n'en a aucune.

Des clés qui ne savent faire qu'une chose

Les clés d'accès suivent le principe du moindre privilège : chaque système ne reçoit que les droits dont il a réellement besoin. Exemple : le déploiement automatique de ce site ne détient aucune clé CDN à l'échelle du compte — seulement un jeton qui ne sait faire qu'une chose : vider le cache de ces pages. Les clés centrales, elles, restent dans le Secret Manager de Scaleway, pas dans des systèmes de build externes.

La séparation est dans la base, pas dans le code

Dans la plupart des services, c'est le code applicatif qui vous empêche de voir les données d'autrui — un « where user = … » oublié dans une seule requête suffit alors à provoquer une fuite. Chez Memexa, la séparation se situe une couche plus bas : PostgreSQL l'impose via la row-level security. Sans contexte utilisateur défini, la base ne renvoie aucune ligne — pas les mauvaises, aucune. Ce contexte est défini par transaction et disparaît à la fin de celle-ci : il ne peut pas passer à la connexion suivante issue du pool. Pour que cela reste vrai, un contrôle tourne avec les tests et se déclenche dès qu'une nouvelle table apparaît sans row-level security ou sans classification explicite : la construction échoue au lieu de passer en silence.

Ce que votre IA peut faire, c'est vous qui le décidez — et le reprenez

Claude, ChatGPT et Cursor ne reçoivent pas de passe-partout. L'accès passe par OAuth : avant d'autoriser, vous voyez quel client demande et où va l'accès, et vous confirmez vous-même. Le clipper de navigateur et l'accès IA complet ont des autorisations distinctes — le clipper peut déposer, pas fouiller votre fonds. Vous pouvez déconnecter un client à tout moment depuis le tableau de bord ; il existe en outre un point de révocation conforme au RFC 7009 pour les clients qui l'appellent d'eux-mêmes. Et le contrôle d'accès ne repose pas sur une porte centrale unique : chaque point d'entrée vérifie lui-même la session, pour qu'une erreur à un endroit n'ouvre pas tout.

Supprimer veut dire supprimer — dans cet ordre

Vous pouvez supprimer votre compte vous-même, avec confirmation par e-mail. Ce qui se passe ensuite est volontairement inversé : d'abord, tous les fichiers du stockage objet sont retirés — sur l'intégralité du préfixe utilisateur, y compris donc les fichiers orphelins qui ne correspondent plus à aucune entrée. Les enregistrements en base ne tombent qu'après. Si la suppression des fichiers échoue, toute l'opération est interrompue et votre compte reste en place, plutôt que de vous laisser avec les enregistrements effacés et les documents encore là. L'opération peut être relancée sans risque. Les contenus individuels se suppriment à tout moment, sans toucher au compte.

Les liaisons entre les deux

Chaque tronçon est chiffré : TLS 1.2 et au-delà en périphérie, les versions plus anciennes sont désactivées ; les connexions à la base tournent en verify-full, c'est-à-dire avec vérification du certificat et du nom d'hôte, pas seulement « chiffré d'une manière ou d'une autre ». La base se trouve sur un réseau privé sans adresse publique. Devant elle : un WAF et une protection anti-DDoS, et le serveur d'origine n'accepte que les requêtes venant du réseau du CDN — on ne l'atteint pas directement. Le conteneur applicatif tourne sans droits root, les dépendances sont construites depuis un lockfile figé, et le seul binaire externe dont nous avons besoin est épinglé à une version et à une somme de contrôle. Staging et production sont deux projets distincts, pas deux dossiers dans le même.

Ce que nous n'affirmons pas

Une page qui ne liste que des points forts est une publicité. Voici donc l'autre liste — chaque point nous a été posé en question, ou le serait :

Documents et canaux de signalement

Memexa est autofinancé — pas d'investisseurs, aucune pression de sortie. Vos abonnements sont le modèle économique, pas vos données.