Gitfed
modèle de sécurité

Pourquoi c'est sécurisé, expliqué simplement

Pas de jargon inutile : voici, étape par étape, comment Gitfed protège votre code — du transport jusqu'à l'identité de vos collaborateurs.

01 · transport

Uniquement du SSH, jamais du git en HTTP

Gitfed n'expose aucun protocole git par HTTP. Toute lecture ou écriture passe par SSH — un protocole éprouvé depuis 25 ans, avec une seule porte d'entrée à surveiller plutôt que deux.

git clone/push SSH :2222 gitfed-server SSH — ouvert HTTP git — inexistant dépôts bare git
Une seule porte d'entrée réseau pour le git : le port SSH.
02 · identité

Des certificats de courte durée, pas des mots de passe partagés

Chaque instance génère sa propre autorité de certification. Votre instance signe un certificat prouvant qui vous êtes, valable 24h par défaut — jamais un secret longue durée à faire fuiter.

alice a une clé SSH 1. demande instance d'alice autorité (CA) locale signe 24h 2. certificat instance de bob a-t-elle confiance en cette CA ? accès vérification 100% locale ensuite — aucun appel réseau à chaque push
alice demande un certificat à sa propre instance, le présente chez bob, qui vérifie sa confiance envers l'instance d'alice.
03 · confiance

La confiance entre instances est explicite, jamais automatique

La première fois qu'une instance inconnue apparaît, Gitfed consulte sa fiche publique (/.well-known/gitfed.json) puis met sa clé en attente — un administrateur doit l'approuver avant que le moindre accès soit accordé. La découverte est aussi limitée à 10 nouveaux domaines par minute, pour éviter tout abus.

Domaine inconnu contacte votre instance Découverte lit sa clé publique CA En attente tant qu'un admin n'a rien fait Approuvé décision d'un admin
04 · cloisonnement

L'accès web et l'accès git ne partagent rien

Le mot de passe de l'interface web n'a rien à voir avec vos accès git : il est haché (bcrypt), jamais stocké en clair, et n'ouvre qu'une session web opaque, à durée limitée. Un `git push` ne dépend jamais de ce mot de passe — uniquement de votre clé SSH ou de votre certificat.

Rôles précis par dépôt — lecture, écriture, admin, jamais tout ou rien.
Public ≠ inscriptible — un dépôt public s'ouvre en lecture, jamais en écriture sans droit explicite.
Cookies de session — HttpOnly, Secure, SameSite — inaccessibles en JavaScript.
Journal d'audit — chaque décision d'accès, autorisée ou refusée, est enregistrée.