Votre compte fremforge
Un compte fremforge est votre identité personnelle sur la plateforme. Une organisation est un tenant facturable, un espace de travail où se trouvent les dépôts, les membres, les secrets, les exécutions de CI et les politiques. Ces deux notions sont volontairement distinctes ; cette page explique ce qui se trouve où, comment elles interagissent et comment supprimer l’une ou l’autre.
Un compte, plusieurs organisations
Vous vous inscrivez une seule fois. Vous obtenez un compte personnel unique sur frem.sh/<your-username>, avec votre adresse e-mail, vos clés SSH, vos jetons d’accès personnels, votre authentification à deux facteurs et votre mot de passe local (si vous en définissez un). Partout où vous vous authentifiez auprès de fremforge (interface, Git, API), vous vous authentifiez avec ce compte.
L’appartenance à une organisation est une relation distincte. Votre compte unique peut être membre d’aucune, d’une ou de plusieurs organisations. Chaque organisation paie son propre utilisateur pour vous. Les organisations auxquelles vous appartenez apparaissent dans le sélecteur d’organisation de l’interface.
Deux conséquences à bien intégrer :
- Vous retirer d’une organisation ne supprime pas votre compte. Les administrateurs d’une organisation peuvent vous en retirer à tout moment ; cela révoque votre accès à leurs dépôts et retire un utilisateur facturable de leur décompte, mais votre compte personnel subsiste et vous pouvez rejoindre d’autres organisations.
- Supprimer votre compte ne supprime pas les organisations auxquelles vous appartenez. Si vous êtes l’unique propriétaire d’une organisation, la plateforme exige que vous désigniez un autre propriétaire ou que vous résiliiez entièrement l’organisation avant que votre demande de suppression de compte puisse aboutir.
Rejoindre une deuxième organisation
Vous pouvez être l’administrateur fondateur de plusieurs organisations fremforge sans créer plusieurs comptes. Deux cas :
- Même adresse e-mail, nouvelle inscription. Si vous inscrivez une nouvelle organisation sur
frem.sh/_app/signupavec une adresse e-mail qui possède déjà un compte fremforge, le processus d’inscription détecte l’utilisateur existant, le réutilise et vous ajoute comme Propriétaire de la nouvelle organisation. Vous n’obtenez pas de deuxième mot de passe : vos identifiants existants fonctionnent pour les deux organisations, et le bouton de l’e-mail de bienvenue indique « Ouvrir<slug>→ » (connectez-vous avec votre mot de passe existant) au lieu du lien à usage unique « Se connecter à fremforge → » que reçoit un tout nouvel administrateur. (Aucun e-mail de bienvenue de fremforge ne contient jamais de mot de passe.) - Invitation dans une organisation existante. Si un autre administrateur invite votre adresse e-mail, vous acceptez l’invitation depuis
frem.sh/user/notificationset vous êtes ajouté comme membre de son organisation. Pas de deuxième compte, pas de deuxième mot de passe.
Chaque organisation a sa propre relation de facturation avec fremverk, son propre nombre d’utilisateurs, son propre mandat Mollie, ses propres factures et sa propre interface d’administration sur frem.sh/<slug>/_admin/billing. Il n’existe pas de facture consolidée entre organisations.
Passer d’une organisation à l’autre
Il n’y a pas de sélecteur d’organisation intégré sur frem.sh/_app : l’interface d’administration de chaque tenant est déterminée par le slug dans le chemin de l’URL (/<slug>/_admin/...). Le sélecteur naturel se trouve côté Forgejo, sur frem.sh :
- Connectez-vous sur
frem.sh/user/login(ou cliquez sur « Sign in » n’importe où sur le site marketing, qui vous fait passer parfrem.sh/_app/loginpour la découverte par domaine de messagerie ; voir Fonctionnement de la connexion). - Votre tableau de bord affiche toutes les organisations auxquelles vous appartenez. Ouvrez-en une pour commencer à travailler : dépôts, tickets, CI, paramètres.
- Pour ouvrir l’administration fremforge (facturation, SSO, membres) d’une organisation donnée, rendez-vous sur
frem.sh/<slug>/_admin/billing. L’usage le plus courant consiste à ajouter un favori vers l’URL d’administration de chaque organisation que vous administrez.
La liaison de session par organisation est activée par défaut pour chaque tenant. La première fois que vous ouvrez l’interface d’administration d’une organisation, fremforge vous fait faire un aller-retour de connexion pour cette organisation et en conserve une trace propre à l’organisation pendant 8 heures au maximum. Ce que prouve cet aller-retour dépend du niveau décrit ci-dessous. Avec la liaison souple, il prouve que votre navigateur détient une connexion valide, et non que vous venez de vous reconnecter. Seule la liaison stricte vous oblige à vous authentifier à nouveau.
La cible de l’aller-retour est la connexion universelle de Forgejo sur frem.sh/user/login, et non une URL SSO propre à l’organisation. C’est délibéré : la connexion universelle accepte à la fois les boutons SSO configurés et le mot de passe local avec authentification à deux facteurs, ce qui préserve la procédure de secours SSO : si votre IdP est injoignable, un propriétaire d’organisation disposant d’identifiants locaux et de l’authentification à deux facteurs peut toujours s’authentifier, satisfaire le contrôle de liaison par organisation et accéder à l’administration de l’organisation. Passer par une URL SSO propre à l’organisation créerait un point de défaillance unique (l’IdP de l’organisation), que la conception du secours vise justement à éviter.
Deux niveaux de rigueur selon la configuration de votre IdP :
- Liaison souple (par défaut, secours par identifiants locaux préservé) : une trace, par organisation, de qui a utilisé l’interface d’administration de chaque organisation et quand, et un aller-retour par Forgejo lors du premier accès à chaque organisation. Si votre session Forgejo est à jour, l’aller-retour est invisible et ne demande rien : il prouve la possession d’une session, pas une authentification récente. Si la session n’est pas à jour, vous vous reconnectez. La cible du rebond est
frem.sh/user/login, qui accepte le mot de passe local avec authentification à deux facteurs, de sorte qu’une panne de l’IdP ne bloque pas les propriétaires d’organisation. - Liaison stricte (charges de travail réglementées) : une nouvelle attestation par l’IdP est imposée pour chaque organisation via OIDC
prompt=login. L’aller-retour devient une véritable authentification attestée par l’IdP et limitée à cette organisation : l’IdP DOIT redemander les identifiants et la MFA, et notre callback vérifie queauth_timedate de moins de 5 minutes. Cela se configure en enregistrant dans votre IdP un second client OIDC à côté de celui de Forgejo (même émetteur, client_id et client_secret distincts) et en collant ses identifiants dans Administration de l’organisation → SSO.
Les deux niveaux préservent la procédure de secours SSO : les propriétaires d’organisation disposant d’un mot de passe local et de l’authentification à deux facteurs peuvent se remettre de n’importe quelle panne de l’IdP. La liaison stricte n’impose une nouvelle authentification auprès de l’IdP que tant que l’IdP de votre organisation est joignable. Si votre IdP devient injoignable, votre procédure de secours existante fonctionne toujours.
SSO sur plusieurs organisations
Chaque organisation configure son propre IdP sous Administration de l’organisation → SSO. Les utilisateurs se connectent à une organisation donnée via le bouton <auth-source-name> de cette organisation sur frem.sh/user/login?redirect_to=/<slug> (ou via le processus de découverte frem.sh/_app/login, qui vous dirige vers la page de connexion de la bonne organisation selon le domaine de votre adresse e-mail).
Si vous êtes membre de deux organisations qui utilisent des IdP différents, vous vous authentifiez via l’IdP par lequel vous arrivez ; une fois votre session Forgejo établie, la navigation entre organisations fonctionne comme décrit ci-dessus. Si les deux organisations utilisent le même IdP (par exemple deux unités métier sur le même tenant Authentik), une seule authentification vous donne accès aux deux.
Le premier accès à une autre organisation vous fait rebondir une fois. La destination de ce rebond dépend de la configuration de la liaison stricte (un client OIDC d’authentification renforcée) par l’organisation :
- Organisation à liaison stricte : le rebond mène à
frem.sh/<slug>/_admin/-/stepup, qui lance une requête d’authentification OIDC avecprompt=loginauprès du client d’authentification renforcée de l’organisation. Votre IdP redemande les identifiants et la MFA, le callback vérifie le jeton d’identité et la fraîcheur deauth_time, et vous arrivez sur l’URL d’origine avec une nouvelle trace de session pour cette organisation. - Organisation à liaison souple : le rebond mène à
frem.sh/user/login. La connexion universelle de Forgejo présente les sources d’authentification disponibles : toujours le mot de passe local avec authentification à deux facteurs, plus le bouton SSO de votre organisation lorsqu’il est configuré. Si votre session Forgejo existante est récente, la page suit simplementredirect_tosans rien redemander.
Les deux niveaux laissent intact le secours par identifiants locaux. Un propriétaire d’organisation disposant d’un mot de passe local et de l’authentification à deux facteurs sur la connexion universelle de Forgejo peut se remettre de n’importe quelle panne de l’IdP ; la liaison par organisation ne change rien à cet engagement.
Données du compte et données de l’organisation
C’est la ligne de partage qui détermine qui est responsable de quoi au sens du RGPD et où trouver chaque paramètre.
| Données | Niveau | Responsable du traitement | Où les gérer |
|---|---|---|---|
| Adresse e-mail, nom d’affichage, hachage du mot de passe | Compte | fremverk ApS | Paramètres utilisateur → Sécurité et connexion |
| Clés SSH, clés GPG | Compte | fremverk ApS | Paramètres utilisateur → Clés SSH / GPG |
| Jetons d’accès personnels | Compte | fremverk ApS | Paramètres utilisateur → Jetons d’accès Git |
| Inscription à l’authentification à deux facteurs et codes de récupération | Compte | fremverk ApS | Paramètres utilisateur → Sécurité et connexion |
| Mot de passe local (lorsque le SSO est aussi configuré) | Compte | fremverk ApS | Paramètres utilisateur → Sécurité et connexion |
| Liaison OIDC | Compte, limitée à chaque organisation | Propriétaire de l’organisation et IdP | Administration de l’organisation → SSO |
| Dépôts, tickets, PR, wiki | Organisation | L’organisation (le Client) | Administration de l’organisation / paramètres du dépôt |
| Secrets, runners et politiques de l’organisation | Organisation | L’organisation (le Client) | Administration de l’organisation |
| Journal d’audit | Organisation | L’organisation (le Client) | Journal d’audit |
| Facturation, factures, moyen de paiement | Organisation | L’organisation (le Client) | Administration de l’organisation → Facturation |
Les données du compte sont régies par la politique de confidentialité du produit : fremverk ApS est le responsable du traitement. Le contenu de l’organisation est régi par l’accord de traitement des données : votre organisation est le responsable du traitement, et fremverk est le sous-traitant qui agit pour son compte.
Référence des paramètres du compte
frem.sh/user/settings est l’interface des paramètres personnels, affichée par Forgejo. Les sous-pages utiles :
- Profil : nom, adresse e-mail, avatar, préférence de langue.
- Sécurité et connexion : mot de passe local, authentification à deux facteurs, codes de récupération, suppression du compte. Voir Authentification à deux facteurs.
- Clés SSH / GPG : les clés publiques pour les opérations Git et la signature des commits.
- Jetons d’accès Git : jetons d’accès personnels (PAT). Les applications OAuth que vous avez autorisées sont listées, et révocables, sur
frem.sh/user/settings/applications, qui n’a pas d’entrée dans le menu des paramètres. - Notifications : préférences de notification par e-mail et dans l’application.
Via l’API REST
Quelques opérations au niveau du compte sont aussi exposées sur l’API REST publique, ce qui est utile pour scripter l’amorçage de la CI, vérifier sur quelles organisations un jeton peut agir ou renouveler des PAT depuis une automatisation.
- Lire votre profil et vos appartenances aux organisations
GET /_app/api/v1/users/me - Émettre un jeton d’accès personnel
POST /_app/api/v1/auth/tokens - Lister vos jetons actifs
GET /_app/api/v1/auth/tokens - Révoquer un jeton
DELETE /_app/api/v1/auth/tokens/:tokenId
Authentifiez-vous avec un jeton d’accès personnel (PAT) sous la forme Authorization: Bearer ${FREMFORGE_PAT}. L’émission d’un nouveau PAT exige une session de connexion active à l’interface d’administration ; la portée du jeton émis ne peut pas dépasser votre rôle.
curl -H "Authorization: Bearer ${FREMFORGE_PAT}" \
https://frem.sh/_app/api/v1/users/meVoir la référence de l’API REST publique pour la spécification OpenAPI complète.
Les interfaces du compte personnel citées ci-dessus (clés SSH, clés GPG, inscription à l’authentification à deux facteurs, suppression du compte) ne sont volontairement pas exposées sur l’API REST publique : ce sont des actions sur des identifiants personnels qui exigent, pour des raisons de sécurité, une session de navigateur connectée.
Supprimer votre compte fremforge (droit à l’effacement du RGPD)
En vertu de l’article 17 du RGPD, vous avez le droit d’obtenir l’effacement de vos données personnelles, sous réserve d’exceptions limitées liées aux obligations légales de conservation. fremverk ApS respecte ce droit en tant que responsable du traitement des données de votre compte.
Ce que vous pouvez supprimer vous-même
Paramètres utilisateur → Sécurité et connexion → Supprimer votre compte. La suppression en libre-service :
- Vous retire de toutes les organisations dont vous êtes actuellement membre. Le nombre d’utilisateurs de chaque organisation concernée est réduit au cycle de facturation suivant.
- Neutralise définitivement votre nom d’utilisateur pour qu’il ne puisse pas être réenregistré (cela empêche l’usurpation d’identité vis-à-vis des commits historiques et des entrées du journal d’audit).
- Supprime définitivement les données de votre compte personnel : profil, clés SSH, clés GPG, PAT, secret d’authentification à deux facteurs, hachages des codes de récupération, préférences de notification. Sous 30 jours ; purge des sauvegardes dans un délai supplémentaire de 30 jours conformément au DPA §9.
- Préserve vos contributions historiques : attribution des auteurs de commits, paternité des tickets et des PR, commentaires, entrées du journal d’audit qui vous nomment. Les supprimer corromprait chaque organisation qui s’appuie sur ces enregistrements pour établir qui a fait quoi. Votre nom d’utilisateur s’affiche sous la forme
<deleted-account>dans l’interface, tandis que la référence sous-jacente à l’identifiant utilisateur (un entier stable) garde intacts l’historique d’audit et l’historique Git.
Ce qui nécessite le support
Deux cas nécessitent une démarche auprès de compliance@frem.sh :
- Vous êtes l’unique propriétaire d’une organisation. La suppression en libre-service est bloquée. Désignez un autre propriétaire via Administration de l’organisation → Membres puis supprimez votre compte, ou écrivez à compliance@frem.sh pour demander la suppression conjointe de l’organisation et du compte.
- Vous souhaitez que vos contributions historiques soient activement réécrites. Par défaut, l’attribution est conservée sous un nom d’utilisateur neutralisé. Si vous disposez d’une base juridique documentée pour un effacement plus poussé (par exemple un changement de nom légal définitif attesté par des documents judiciaires), écrivez à compliance@frem.sh en précisant cette base. Chaque demande est examinée individuellement au regard des limites de l’article 17(3) du RGPD.
Ce que nous ne supprimons pas sur demande
Conformément à l’article 17(3) du RGPD, les éléments suivants peuvent être conservés après la suppression du compte :
- Les données de facturation et les factures des organisations auxquelles vous étiez associé, conservées 5 ans conformément au droit comptable danois (Bogføringsloven).
- Les entrées du journal d’audit relatives à la sécurité et aux abus, lorsque leur conservation est nécessaire à la constatation, à l’exercice ou à la défense de droits en justice, ou au respect d’une obligation légale (par exemple les signalements d’abus au titre de l’article 16 du DSA, conservés 5 ans conformément à la politique de confidentialité §6).
- Les indicateurs opérationnels agrégés et anonymisés, qui ne permettent pas de vous identifier et sortent du champ des données personnelles au sens du RGPD.
Vérification avant suppression
La suppression du compte est destructrice et irréversible. Le processus en libre-service exige une nouvelle authentification (mot de passe local, ou authentification renforcée auprès de l’IdP si vous utilisez uniquement le SSO) et une confirmation par la saisie de votre nom d’utilisateur, selon le même schéma natif de Forgejo que pour la suppression d’un dépôt. Un e-mail de confirmation est envoyé lors de la soumission, puis à nouveau à la fin de la période de purge des sauvegardes.
Réactivation
Une fois la suppression terminée, le compte ne peut pas être réactivé. Le nom d’utilisateur reste réservé à l’identifiant utilisateur supprimé afin de protéger l’attribution historique : vous ne pouvez donc pas réenregistrer le même nom d’utilisateur lors d’une nouvelle inscription. Si vous souhaitez réutiliser fremforge, inscrivez-vous avec une nouvelle adresse e-mail et un autre nom d’utilisateur.
Références croisées
- Membres et équipes : la gestion des membres de l’organisation côté administration
- Authentification à deux facteurs : configuration et récupération de l’authentification à deux facteurs au niveau du compte
- Administration de l’organisation : l’interface des paramètres au niveau de l’organisation
- Se connecter : clés d’hôte SSH, vérification des empreintes, repli sur le port 443
- Politique de confidentialité du produit : la base juridique du traitement des données du compte et les droits des personnes concernées au titre du RGPD