À propos du projet

Keybase/client est le dépôt source officiel de l'écosystème client Keybase. Il regroupe les bibliothèques Go principales (primitives cryptographiques, le service Keybase et le client en ligne de commande `keybase`) ainsi que les applications destinées à l'utilisateur pour toutes les grandes plateformes : une application native macOS dans `osx/`, une application de bureau multiplateforme dans `shared/desktop` construite sur Electron, et des applications mobiles pour iOS et Android dans `shared/{ios,android}` écrites en React Native afin que le code React soit partagé entre bureau et mobile. Le répertoire `protocol/` définit le protocole de communication basé sur Avro utilisé par les clients pour dialoguer avec les services Keybase, `packaging/` contient les scripts de publication pour chaque plateforme (y compris une image Docker pour Linux), et `media/` stocke les icônes et les graphiques. Le README précise explicitement que certaines parties de l'arborescence sont des explorations et que compiler depuis les sources peut ne pas produire une application pleinement fonctionnelle ; les utilisateurs qui souhaitent simplement installer Keybase sont renvoyés vers la page de publication officielle. Les contributeurs sont invités à installer les hooks pre-commit via pre-commit.com, et les pull requests externes ne sont pas compilées par Jenkins CI tant qu'un membre de l'équipe Keybase ne les a pas examinées, la compilation de code non relu étant considérée comme un risque de sécurité. Les problèmes sont suivis sur GitHub, avec un suivi distinct `keybase-issues` pour les problèmes du site web et un document de dépannage pour le CLI. La majeure partie du code est publiée sous la licence New BSD 3-Clause, les licences propres aux sous-répertoires prévalant lorsqu'elles sont indiquées. Le dépôt comporte également un avis standard d'exportation de logiciel cryptographique (ECCN 5D002.C.1, exception TSU) rappelant aux utilisateurs de vérifier les lois locales avant d'utiliser le code de chiffrement.