Tous les articles

    Note d'architecture

    20 mars 2026par Gustavo Teixeira Cuco2 min de lecture

    Gouvernance de Sécurité du Repo

    Contexte d'architecture

    Décision d'architecture

    Confiance et conformité
    Voir sur LinkedIn

    Votre dépôt privé n'est pas sécurisé. Il est simplement moins exposé.

    La plupart des fondateurs et des product managers traitent leur dépôt GitHub comme un simple espace de stockage de code. Mais dès qu'un produit grandit — clients, paiements, contrats, identifiants — le dépôt cesse d'être simplement du code. Il devient des données opérationnelles.

    Et il existe un comportement de Git que presque tout le monde néglige : supprimer un fichier ne le retire pas de l'historique.

    Un IBAN dans un fichier markdown. Une API key dans un .env commité par erreur. Des données clients dans un template d'email. Vous le supprimez, vous faites un push, et vous pensez que c'est effacé. Ce n'est pas le cas — cela reste dans l'historique et peut être récupéré par toute personne ayant accès au dépôt.

    Ce n'est pas un problème d'échelle. C'est un problème de gouvernance.

    Des solutions matures existent depuis des années. Le chiffrement au niveau du dépôt permet à certains fichiers de rester lisibles en local tout en étant chiffrés sur le remote.

    Des outils comme git-crypt laissent le workflow Git pratiquement inchangé après la configuration. Cela prend moins de temps à configurer qu'à gérer les conséquences d'une fuite.

    Trois principes que j'applique dans tous mes dépôts :

    Bloquer à l'entrée — pre-commit hooks, secret scanning et push protection pour réduire la probabilité que des identifiants entrent dans l'historique

    Ce qui ne doit pas vivre dans le dépôt — les identifiants bruts appartiennent à un secret manager ou un password vault, jamais au code

    Ce qui doit vivre dans le dépôt — si cela doit vraiment y être, cela doit être chiffré. Sans exception — ni « c'est juste temporaire », ni « le dépôt est privé »

    Il suffit d'un collaborateur, d'une intégration CI/CD, ou d'une migration de plateforme pour réaliser que « privé » ne signifie pas « protégé ».

    La gouvernance n'est pas un surcoût. C'est ce qui distingue un side project d'un produit auquel quelqu'un confie ses données.

    Sources