Le principe
Droplet Drop n’a ni compte, ni serveur de transfert. Les fichiers vont directement de l’appareil qui envoie à celui qui reçoit, sur votre réseau local. Nous ne voyons jamais vos fichiers, ni qui les envoie à qui : ils ne passent pas par nous.
Aucune cryptographie maison : Droplet Drop s’appuie sur des bibliothèques éprouvées — rustls (TLS 1.3), ring, rcgen (ECDSA P-256), SHA-256 et BLAKE3.
Le chiffrement
Chaque connexion est chiffrée en TLS 1.3, et seulement en TLS 1.3. L’authentification est mutuelle : les deux appareils prouvent chacun leur identité.
Chaque appareil crée, à la première ouverture, sa propre clé (ECDSA P-256). Son identité est l’empreinte de cette clé ; le code de sécurité affiché dans l’application en est le début, pour la vérifier d’un coup d’œil.
L’appareil qui se connecte épingle l’identité attendue, apprise par la découverte sur le réseau ou par le QR code. Un autre appareil qui se ferait passer pour lui est refusé : « Ce n’est pas l’appareil attendu. »
Rien n’arrive sans votre accord
Chaque envoi est d’abord une proposition : nom de l’expéditeur, code de son appareil, nombre et taille des fichiers. Sans réponse, elle expire au bout de deux minutes.
Seuls les appareils que vous avez marqués « de confiance » peuvent envoyer sans confirmation, et vous les retirez quand vous voulez.
Un fichier reçu n’est jamais exécuté. Si un envoi contient un programme, la proposition le signale.
Vérifié jusqu’au dernier octet
Avant l’envoi, chaque fichier est découpé en blocs de 4 Mio, et chaque bloc reçoit son empreinte BLAKE3, comme le fichier entier. Le destinataire vérifie chaque bloc à l’arrivée, puis relit le fichier entier.
Un bloc abîmé ou falsifié est redemandé. Un fichier qui ne correspond pas à l’original n’est jamais livré : il reste dans le dossier caché de reprise jusqu’à être correct, ou est supprimé.
Group Drop
Une invitation contient l’adresse de l’hôte sur le réseau local, l’identité de son appareil (épinglée), un identifiant de session de 128 bits et un jeton de 256 bits, impossible à deviner. L’hôte compare le jeton en temps constant.
L’invitation a une durée limitée (30 minutes, 2 heures ou 8 heures). Partager le lien revient à donner le droit de rejoindre : partagez-le seulement avec les participants.
Le lien d’invitation peut s’ouvrir sur drop.dropletmesh.app : la partie après « # », qui contient l’invitation, n’est jamais envoyée à notre serveur. Elle reste dans votre navigateur.
Les protections, une à une
| Menace | Protection |
|---|---|
| Écoute du réseau | TLS 1.3 sur chaque connexion |
| Usurpation d’un appareil | Identité épinglée ; la poignée de main TLS prouve la possession de la clé |
| Envoi non sollicité | Accord explicite (ou appareil de confiance) ; expiration après 2 minutes |
| Intrus dans une distribution | Jeton de 256 bits, comparé en temps constant ; invitation limitée dans le temps |
| Fichier abîmé ou falsifié | Empreinte BLAKE3 de chaque bloc et du fichier entier ; rien n’est livré avant vérification |
| Écriture hors du dossier de réception | Chemins nettoyés à la réception (« .. », racines, noms réservés, caractères interdits) |
| Écrasement d’un fichier | Jamais : un nom libre est choisi, « nom (1).ext » |
| Disque plein | Espace libre vérifié avant d’accepter |
| Données démesurées | Messages bornés ; un envoi est limité à 100 000 fichiers et 4 Tio |
| Martèlement | Après 20 échecs en une minute, une adresse est ignorée ; 128 connexions en cours au plus |
La clé de votre appareil
La clé privée de l’appareil ne le quitte jamais. Elle est enregistrée dans le dossier de données de l’application (lisible par votre seul compte sur Mac et Linux). Si ce dossier est effacé — en désinstallant l’application d’un téléphone, par exemple —, l’appareil prend une nouvelle identité, et vos autres appareils devront de nouveau lui faire confiance.
Signaler une faille
Vous pensez avoir trouvé une faille ? Écrivez à contact@dropletmesh.app, avec de quoi la reproduire. Merci de nous laisser le temps de la corriger avant de la rendre publique ; nous vous répondrons et vous tiendrons au courant.