Confidentialité absolue

May·Secret est conçu autour d'un principe fondamental : nous ne pouvons pas lire vos fichiers. Pas par choix politique, mais par impossibilité technique.

Architecture zero-knowledge

Dans une architecture zero-knowledge, le serveur ne reçoit que des données qu'il est mathématiquement incapable de déchiffrer. Vos fichiers sont chiffrés dans votre navigateur, avant même d'être envoyés sur le réseau. May Software ne dispose d'aucune clé permettant d'accéder à vos données. Même sous injonction judiciaire, nous ne pouvons remettre que du contenu chiffré illisible.

Comment fonctionne le chiffrement

1

Génération de votre paire de clés (à l'inscription)

Lors de votre inscription, votre navigateur génère une paire de clés asymétriques avec libsodium crypto_box_keypair (Curve25519, 256 bits). La clé publique est envoyée au serveur pour chiffrer vos fichiers. La clé privée ne quitte jamais votre appareil en clair.

2

Protection de la clé privée par votre mot de passe (Argon2id)

Votre clé privée est chiffrée avec une clé dérivée de votre mot de passe via crypto_pwhash (Argon2id). Argon2id est l'algorithme de dérivation recommandé par le NIST en 2022 : il est volontairement lent en mémoire et en CPU pour résister aux attaques par force brute, même depuis du matériel spécialisé (GPU, ASIC). Le serveur stocke uniquement la clé privée chiffrée ainsi que le sel et le nonce — jamais le mot de passe.

3

Chiffrement de chaque fichier (XChaCha20-Poly1305)

À chaque upload, une clé symétrique aléatoire unique est générée pour le fichier. Le fichier est chiffré en streaming avec crypto_secretstream_xchacha20poly1305 : un algorithme AEAD (Authenticated Encryption with Associated Data) qui garantit à la fois la confidentialité (XChaCha20) et l'intégrité (Poly1305 MAC). Toute altération des données chiffrées est détectée et rejetée au déchiffrement.

4

Protection de la clé du fichier (chiffrement asymétrique)

La clé symétrique du fichier est elle-même chiffrée avec votre clé publique via crypto_box_seal (X25519 + XSalsa20-Poly1305). Seule votre clé privée — que vous seul possédez — peut la déchiffrer. Le serveur stocke donc la clé du fichier sous forme chiffrée, sans jamais pouvoir l'utiliser.

5

Téléchargement et déchiffrement en mémoire

Lors d'un téléchargement, votre navigateur récupère le fichier chiffré, déchiffre la clé symétrique avec votre clé privée (présente uniquement en RAM), puis déchiffre le fichier en mémoire. Le fichier clair ne transite jamais sur le réseau. Votre clé privée déchiffrée n'est jamais écrite dans localStorage, sessionStorage, ou dans un cookie — elle disparaît à la fermeture de l'onglet.

Ce que May Software voit et ne voit pas

✕ Nous ne voyons pas

  • Le contenu de vos fichiers
  • Le nom original de vos fichiers
  • Le nom de vos dossiers
  • Votre clé privée
  • Votre mot de passe (ni son hash)
  • Les clés de chiffrement de vos fichiers

✓ Nous voyons uniquement

  • Votre adresse email
  • La taille de vos fichiers
  • La date d'upload
  • Le type MIME (image, PDF…)
  • Votre quota de stockage utilisé
  • Votre plan d'abonnement

Authentification sans état (JWT RS256)

L'authentification repose sur des tokens JWT signés en RSA 256 bits (LexikJWTAuthenticationBundle). Aucune session n'est stockée côté serveur : chaque requête est authentifiée par le token seul, signé avec la clé privée RSA de l'API. Un token compromis ne donne pas accès aux fichiers — il faudrait également la clé privée libsodium de l'utilisateur, qui n'est jamais transmise au serveur.

Le token est stocké en sessionStorage (durée de vie limitée à l'onglet) et non en localStorage pour limiter l'exposition aux attaques XSS persistantes.

Bibliothèques cryptographiques utilisées

Bibliothèque Usage Algorithme
libsodium-wrappers-sumo Chiffrement fichiers, clés XChaCha20-Poly1305, Curve25519, Argon2id
sodium (PHP) Génération de clés côté serveur (fixtures uniquement) Curve25519
symfony/password-hasher Hash du mot de passe Argon2id
lexik/jwt-authentication-bundle Tokens d'authentification RSA 256 bits (RS256)

Conséquence importante : perte de mot de passe

La garantie de confidentialité absolue a un coût : si vous oubliez votre mot de passe, vos fichiers sont irrécupérables. May Software ne possède aucun mécanisme de récupération de clé privée — ce serait techniquement incompatible avec l'architecture zero-knowledge. Conservez votre mot de passe en lieu sûr (gestionnaire de mots de passe recommandé).

Questions fréquentes sur la sécurité

Mes fichiers sont-ils vraiment illisibles par vous ?

Oui. Le chiffrement libsodium a lieu dans votre navigateur avant l'envoi : nous ne recevons et ne stockons que des données déjà chiffrées, et votre clé privée ne quitte jamais votre appareil.

Puis-je accéder à mes fichiers depuis plusieurs appareils (mobile, nouvel ordinateur) ?

Oui. Votre clé privée, chiffrée par votre mot de passe, est synchronisée avec votre compte. Sur un nouvel appareil, il vous suffit de vous connecter avec votre mot de passe habituel : la clé est alors déchiffrée localement, comme sur vos autres appareils.

Où sont hébergées mes données ?

En France, chez o2switch (Clermont-Ferrand), dans le respect du RGPD.

Utilisez-vous des standards de chiffrement reconnus ?

Oui, libsodium, une bibliothèque de cryptographie open source et largement auditée, utilisée par de nombreux services axés sur la confidentialité.

Les noms de mes fichiers et dossiers sont-ils aussi chiffrés ?

Oui, comme le contenu des fichiers, les métadonnées (noms, structure de dossiers) sont chiffrées côté client avant d'être stockées.

Proposez-vous la double authentification ?

Oui, une vérification en deux étapes par email est disponible pour sécuriser la connexion à votre compte.

Que se passe-t-il si j'oublie mon mot de passe ?

Le chiffrement étant de bout en bout, personne — pas même nous — ne peut déchiffrer vos fichiers sans votre mot de passe. Conservez-le précieusement ou utilisez un gestionnaire de mots de passe.

Vous vous demandez qui nous sommes ou ce qui se passe si le service ferme ? Consultez notre page « Pourquoi faire confiance à May·Secret ». Pour aller plus loin sur la technique, notre Blog : chiffrement, RGPD, comparatifs et guides par métier.

Prêt à stocker vos fichiers en toute confidentialité ?

May·Secret utilise uniquement du stockage strictement nécessaire au fonctionnement du service : un cookie de préférence pour mémoriser cette notice et un token d'authentification en sessionStorage, supprimé à la fermeture de l'onglet. Aucun cookie de traçage ni publicitaire. En savoir plus