Projet · en développement

Une seule base de code, une messagerie chiffrée pour chaque plateforme

Chatter est une messagerie chiffrée de bout en bout et respectueuse de la vie privée que je développe en parallèle — un unique client Rust (interface Slint) qui fonctionne aujourd’hui sous Linux, Windows et Android, avec iOS et macOS prévus, sur un backend Go. Je conçois et construis l’ensemble : la cryptographie, le backend, le client et l’infrastructure qui le fait tourner. C’est encore en développement, mais c’est ainsi que je garde les mains dans le cambouis sur toute la pile.

Les problèmes difficiles que je résous

  • Une base de code, toutes les plateformes : un unique client Rust (interface Slint) partageant un même cœur cryptographique, afin que le chiffrement de bout en bout se comporte de façon identique partout — échange de clés X3DH, confidentialité persistante Double Ratchet, Sender Keys pour les groupes et prékeys post-quantiques Kyber. Fonctionne et testé sous Linux, Windows et Android ; iOS et macOS prévus.
  • Sealed sender : le serveur ne peut pas identifier l’expéditeur d’un message, même avec un accès complet à la base de données — avec résistance aux attaques temporelles et validation multi-destinataires.
  • Boîtes aux lettres éphémères et résistantes à la corrélation (d’après les travaux NDSS ’21) grâce à des signatures aveugles, afin que les messages ne puissent pas être reliés par leur horodatage.
  • Synchronisation multi-appareils avec des jetons d’authentification par appareil (HKDF, pas JWT), des lots de prékeys par appareil et des clés de groupe renouvelées.
  • Voix et vidéo chiffrées (LiveKit + WebRTC) avec renouvellement des clés de bout en bout et ingestion du partage d’écran.
  • Chiffrement de fichiers par blocs en AES-256-GCM, avec analyse antivirus et accès anonyme via des URL présignées.

La pile technique

BackendServices Go + ConnectRPC, workflows Temporal (compensation de sagas), permissions SpiceDB (Zanzibar)
ClientsUn client Rust + Slint pour chaque plateforme — fonctionnant sous Linux, Windows et Android ; iOS et macOS prévus
DonnéesPostgreSQL, Redis, SQLite/SQLCipher côté client
Cryptolibsignal (X3DH, Double Ratchet, Sender Keys), Kyber1024 post-quantique, AES-256-GCM
InfraDocker Compose, K3s (HA à 3 nœuds), Fly.io, Terraform/Terragrunt, systemd
QualitéCI GitHub Actions (lint, race, analyse de sécurité, vérifications proto), Prometheus + Grafana + OpenTelemetry

Analyses approfondies sur le blog

Code source sur GitHub →

Pourquoi c’est ici

Beaucoup de gens savent parler d’architecture. Ici, c’est moi qui la construis réellement sur toute la pile — cryptographie, backend, clients natifs et l’infrastructure qui le fait tourner. C’est de là que vient le travail d’idée à production, de blocs de construction, de revue d’architecture et d’audit d’applications IA — appliqué d’abord à mon propre code.

Statut : un projet personnel en développement actif — pas encore publié.

Vous voulez ce type de travail sur votre produit ?

Un appel gratuit de 30 minutes. Dites-moi où vous en êtes ; je vous indiquerai le chemin le plus rapide vers la mise en production.

Réserver un appel de découverte gratuit