Share.Ninja

Sécurité

La version courte : vos fichiers sont chiffrés sur votre appareil avant que quoi que ce soit ne le quitte, les clés ne nous parviennent jamais, et nous stockons ce que nous ne pouvons pas lire. La version longue suit.

Ce qui est chiffré

Chaque fichier, chaque nom de fichier, chaque liste de dossier et le nom du partage. Tout cela est chiffré sur votre appareil avec une clé qui y est créée et qui y reste. Nos serveurs, le stockage derrière eux et le réseau entre les deux ne manipulent jamais que du texte chiffré.

Les primitives, pour ne pas avoir à deviner : AES-256-GCM pour le contenu et les métadonnées, X25519 avec HKDF-SHA256 pour envelopper les clés pour un appareil ou un compte, des clés aléatoires de 256 bits par partage.

Comment un lien porte sa clé

Un lien de partage ressemble à share.ninja/#…. Tout ce qui suit le # est un jeton que les navigateurs n'envoient jamais à un serveur ; il reste dans la barre d'adresse. Le serveur ne stocke qu'un hachage de ce jeton, plus la clé du partage enveloppée sous une clé qui en est dérivée. Quiconque ouvre le lien dérive la clé d'enveloppe localement, désenveloppe la clé du partage et déchiffre. Quiconque ne détient pas le lien ne détient rien, et cela nous inclut.

Arrêtez le partage, et le serveur refuse le lien partout d'un coup. L'expiration fonctionne de la même façon.

Liens directs

Sur le web et sur ordinateur, un lien peut être direct. Alors rien n'est envoyé : les fichiers restent sur la machine de l'expéditeur et sont transmis au destinataire en direct, via WebRTC. Le transfert est chiffré deux fois : par le chiffrement de transport de WebRTC lui-même et par notre propre couche AES-256-GCM, dont la clé dérive de la clé du partage. S'il n'existe aucun chemin réseau direct, un relais transmet les paquets ; le relais voit du texte chiffré et rien d'autre. Fermez l'expéditeur, et il ne reste rien à télécharger.

À proximité

Les appareils se trouvent de trois façons : sur le même réseau local, par Bluetooth (applications uniquement), et via notre serveur, qui regroupe les appareils situés derrière la même connexion internet. Ce qu'un appareil annonce, c'est son nom, une clé publique et une empreinte de huit caractères de cette clé, et seulement tant qu'il est réglé sur visible. L'interrupteur est dans l'onglet À proximité.

Envoyer à proximité enveloppe la clé du partage pour la clé publique de l'appareil récepteur. Le serveur transmet cette offre scellée mais ne peut pas l'ouvrir. Le récepteur voit le nom et l'empreinte de l'expéditeur et accepte ou refuse ; l'empreinte affichée sur les deux écrans vous permet de vérifier que personne ne se trouve entre les deux. Vos propres appareils connectés acceptent automatiquement. Les fichiers voyagent ensuite directement, ou via un relais qui ne voit que du texte chiffré.

Votre compte et vos appareils

La connexion crée une clé d'identité sur votre premier appareil. Elle ne quitte jamais vos appareils en clair : chaque appareil en détient une copie enveloppée sous sa propre clé d'appareil, et le serveur ne stocke que ces copies enveloppées et les moitiés publiques.

Un nouvel appareil demande à rejoindre. Un appareil auquel vous faites déjà confiance affiche la demande avec le nom et l'empreinte du nouveau venu, et si vous approuvez, enveloppe la clé d'identité pour lui. Nous ne pouvons pas ajouter un appareil à votre compte, et nous ne pouvons pas lire vos partages pour le faire à votre place.

Si vous perdez tous vos appareils, la phrase de récupération de 24 mots des Paramètres désenveloppe la clé d'identité sur un nouveau. La récupération révoque chaque appareil précédent. Si vous n'avez ni phrase de récupération ni appareil, les partages sont perdus ; nous ne détenons aucune copie qui pourrait les ramener. Ce n'est pas une politique, c'est de l'arithmétique.

Ce que nos serveurs peuvent voir

L'honnêteté compte ici plus qu'une liste plus courte.

  • Pour chaque partage : son identifiant, quand il a été créé et quand il expire, la taille totale de ses données chiffrées, s'il vit dans le cloud ou en lien direct, et à qui il appartient si le propriétaire est connecté.
  • Pour chaque téléchargement : qu'il a eu lieu, quand, et depuis quelle adresse IP. C'est sur cela que reposent les limites de débit et le traitement des abus.
  • Pour chaque compte connecté : adresse e-mail, nom affiché, les noms et clés publiques de ses appareils, le stockage utilisé.
  • Pour chaque appareil, connecté ou non : un identifiant d'appareil, sa clé publique, le nom qu'il annonce aux appareils à proximité.
  • Les journaux serveur avec adresses IP et chemins de requête.

Les journaux serveur sont conservés 30 jours. Les enregistrements de téléchargement et le journal d'activité de votre compte conservent l'adresse IP 90 jours, puis seul l'événement reste.

Ce que nos serveurs ne peuvent pas voir : aucun fichier, aucun nom de fichier, aucune liste de dossier, aucun nom de partage, aucune clé.

Connecté, vous pouvez consulter cet enregistrement vous-même : le journal d'activité dans les paramètres de votre compte liste chaque action sur votre compte, avec l'heure, l'adresse IP et l'appareil.

Stockage et infrastructure

Nos serveurs tournent chez Hetzner dans l'UE. Les données chiffrées vivent sur nos propres serveurs de stockage là-bas et sur Wasabi S3, dans plusieurs régions. Le stockage reçoit et renvoie du texte chiffré via des URL signées à courte durée de vie ; il ne détient jamais de clé.

Abus

La page de chaque lien a une action Signaler un abus qui ne demande pas de compte. Comme nous ne pouvons pas ouvrir un partage nous-mêmes, la personne qui signale décide d'inclure ou non la clé du lien dans le signalement ; alors seulement nous pouvons regarder ce qui a été signalé. Un signalement confirmé désactive le lien partout, et nous pouvons bloquer l'appareil qui l'a créé. L'e-mail de contact de la personne qui signale est supprimé une fois le signalement traité.

Le site

Pas de script de pistage, pas de cookie d'analyse, rien n'est envoyé à des tiers. Les visites sont comptées à partir de nos propres journaux serveur. Les applications ne contiennent aucune analyse du tout.

Signaler une vulnérabilité

Écrivez à support@share.ninja en mettant « security » dans l'objet. Nous répondons à chaque signalement.