Confidentialité

Ce que protège xBlaBla

Dans les salons privés, le contenu est chiffré sur votre appareil avant l'envoi. Aucun compte, email ou numéro n'est requis. La Place publique est un espace public : son contenu doit être considéré comme public. Ce qui suit décrit exactement ce qui circule, ce qui est conservé, et ce que l'application ne peut pas promettre.
Les 4 piliers de xBlaBla

Handshake hybride post-quantique

Une session établie sur deux couches : classique et post-quantique.

En clair

Comme mettre votre lettre dans une boîte fermée avant de la donner au facteur : le transporteur peut livrer la boîte, mais il ne peut pas lire la lettre.

Exemple : vous envoyez « Rendez-vous à 18 h ». Le contenu est chiffré avant de quitter votre appareil.

Métadonnées minimisées

Le contenu n'est pas le seul enjeu : le contexte compte autant.

En clair

Même si le contenu est protégé, on essaie aussi de laisser le moins possible d'indices autour de la conversation.

Exemple : éviter de créer inutilement un profil permanent disant qui vous êtes, avec qui vous parlez et combien de fois.

Protection renforcée

Le but n'est pas seulement d'empêcher la lecture, mais aussi de rendre plus difficile la reconstitution ou la preuve d'un échange.

En clair

Ce n'est pas un seul cadenas : plusieurs protections travaillent ensemble.

Exemple : chiffrement + clés renouvelées + protection du transport + relais chiffré si la connexion directe échoue.

Révocation et purge réelles

Chaque action de suppression montre son résultat.

En clair

On essaie de ne pas collecter une information simplement parce qu'elle pourrait être utile plus tard.

Exemple : pas d'analytics publicitaire, pas de journal de conversation lisible par le serveur.

Chiffrement de bout en bout
  • Contenu chiffré en AES-256-GCM avant de quitter l'appareil.
  • Clé du salon dans le fragment # de l'URL : jamais transmise au serveur.
  • Établissement de session hybride X25519 + ML-KEM (FIPS 203).
  • Métadonnées de transport minimisées : tailles masquées par paliers, regroupement, gigue et trafic de couverture ; certains signaux réseau restent nécessaires à l'acheminement.
Ce qui transite, ce qui ne transite jamais

Les messages des salons privés ne sont pas conservés côté serveur. En direct, leur contenu passe directement entre appareils, déjà chiffré. En repli, le relais transmet des blocs chiffrés sans les lire. La Place publique fait exception : ses messages sont publics, conservés au maximum 24 h, puis supprimés physiquement.

Ce qui peut transiter

  • — Des enveloppes chiffrées (AES-256-GCM), inintelligibles sans la clé locale.
  • — Un identifiant de salon dérivé côté client, jamais la clé.
  • — Des signaux techniques de transport minimisés : les enveloppes sont chiffrées, leur taille est masquée par paliers et certains envois sont regroupés, retardés ou complétés par du trafic de couverture. Le WebRTC n'utilise pas de fournisseur STUN tiers par défaut ; si le direct échoue, le transport de secours prend le relais.
  • — Les clés publiques éphémères nécessaires au handshake et au ratchet.

Ce qui ne transite jamais

  • — Les clés privées : générées et conservées uniquement dans le navigateur.
  • — La clé du salon : lue dans le fragment #k=… puis effacée de l'URL et de l'historique.
  • — Les secrets de session et les clés de message : en mémoire seulement, jamais persistés en clair.
  • — Le contenu lisible des messages, des photos et des vocaux.
Déni plausible

Déni plausible

La clé de session se trouve dans le fragment #k=… de l'URL. Elle est générée dans votre navigateur et n'est jamais transmise au serveur. Les messages sont chiffrés localement avant tout envoi. Sans le lien complet, le serveur ne peut ni lire le contenu, ni prouver quel message a été envoyé par qui.

Le déni plausible protège le contenu et limite fortement son attribution depuis le serveur. Le transport peut toutefois laisser des signaux techniques à l'appareil, au réseau ou aux intermédiaires concernés ; le brouillage réduit leur valeur de corrélation sans promettre une invisibilité absolue.

Ce qui est conservé — et où

Compte (optionnel)

Seulement si vous en créez un

  • • Pseudo + hash du mot de passe
  • • Aucun email, aucun numéro

Amis & blocages

Synchronisés si compte actif

  • • Pseudos et identifiants
  • • Rien n'est partagé avec des tiers

Clés de salon

Sur votre appareil

  • • Jamais envoyées au serveur
  • • Perdues si vous effacez le navigateur

Messages & médias

Éphémères par design

  • • En mémoire pendant la session
  • • Effacés selon la durée choisie
Primitives et librairies utilisées

Aucune primitive cryptographique n'est réécrite maison : tout repose sur WebCrypto et sur des librairies publiques sous licence MIT. La composition (handshake hybride, Double Ratchet) est du code xBlaBla, couvert par des tests reproductibles exécutables en local.

Chiffrement du contenu

AES-256-GCM

WebCrypto natif du navigateur

Dérivation de clés

HKDF-SHA-256

WebCrypto natif du navigateur

Échange classique

X25519

@noble/post-quantum 0.6.1 (MIT), construction X-Wing

Renforcement post-quantique

ML-KEM-768 (FIPS 203)

@noble/post-quantum 0.6.1 (MIT)

Ratchet Diffie-Hellman

X25519

@noble/curves 2.2.0 (MIT)

Rotation des clés par message

Double Ratchet (racine, chaînes envoi/réception, clés sautées)

Composition xBlaBla, testée (src/crypto/double-ratchet.ts)

Relais de secours

NIP-44 v2 / NIP-59 (gift-wrap)

Implémentation xBlaBla au-dessus de WebCrypto

Code de vérification de session

Code de vérification de session

Six chiffres dérivés du secret négocié entre les deux appareils. Comparez-les de vive voix : s'ils sont identiques, personne ne s'est glissé au milieu. Ils changent à chaque session.

Comparatif
FonctionxBlaBlaSignalSessionTelegram (secret)WhatsApp
Sans téléphone ni e-mail pour l'accès✓×✓××
Sans installation obligatoire✓××××
Chiffrement de bout en bout par défaut✓✓✓×✓
Renforcement post-quantique documenté en production✓✓××—
Clé renouvelée par message / ratchet✓✓—×✓
Routage conçu pour minimiser l'exposition réseau✓—✓——
Messages privés conservés côté serveur××✓××

Effacer mes données locales

Supprime toutes les données xBlaBla stockées dans ce navigateur : clés de salon, pseudo, préférences, IndexedDB, service worker et cookies visibles. Cette action est immédiate et irréversible sur cet appareil.

  • • Vos réglages et données locales protégées sont préservés.
  • • Les URLs de salon déjà partagées restent valides ailleurs.
  • • Vous serez déconnecté et la page se rechargera.