Files
decision/docs/adr/0006-acces-connect-trustinwallet.md
T
YvvandClaude Opus 5.5 fd19dbf4ec v3 : liens d'équipe, publication sur git.open.us.org, huitième relecture
Liens d'équipe (Yvv, 2026-10-21) : un lien réutilisable jusqu'à une date
et pour un nombre de personnes, révocable. Chaque ouverture demande un nom
et crée sa propre identité d'invitation, jamais administratrice ; un nom
déjà pris est refusé ; une personne déjà connectée reçoit les groupes.
trustinWallet montre par quel lien chaque identité est venue, et donne un
nouveau lien de connexion à une personne invitée (autre appareil).
Migration additive 0002 (table team_links, colonne identities.team_link).

Publication : yvv/libredecision-textes sur git.open.us.org, pour
l'instant (un dépôt pour l'ouverture, puis le dépôt officiel, viendront).

Huitième relecture (c3d6bf8 : ok), points corrigés :
- une négation n'est jamais coupée ni formée par collage (« ja mais ») ;
- caractères invisibles : tout l'ensemble Unicode des ignorables et les
  contrôles autres que saut de ligne et tabulation ;
- sauts de ligne et indentation font partie de la forme (listes) ;
- un titre tient sur une ligne.

Boucle : 65 tests Rust, svelte-check, 9 vitest, e2e 13/13 (C12 ajouté).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-21 08:12:21 +02:00

2.3 KiB

0006 — Accès : connect.monnaie-libre.fr, invitations, trustinWallet

Contexte. « Le même accès que pour le forum Monnaie libre », « toute personne avec une clé Duniter peut se loger et tout faire — sauf la gestion des accès », qui revient à trustinWallet (nouveau nom de trustWallet, déjà pris).

Décision.

  • Connexion Ğ1 : libreDecision est client OAuth2 de connect.monnaie-libre.fr (comme le forum). Le compte est la clé d'identité (idty:N) ; on garde le nom affiché et le statut de membre.
  • En attendant l'inscription du client : liens d'invitation à usage unique (14 jours), le secret dans le fragment de l'URL (jamais dans les journaux du serveur). Un administrateur peut redonner un lien à une personne invitée (autre appareil, session perdue).
  • Liens d'équipe (Yvv, 2026-10-21 : « je vais l'utiliser plein de fois, pendant tout le dev, et la partager avec une équipe ») : un lien réutilisable jusqu'à une date (90 jours au plus) et pour un nombre de personnes (500 au plus), révocable. Chaque ouverture demande un nom et crée sa propre identité d'invitation, jamais administratrice ; un nom déjà pris est refusé ; une personne déjà connectée garde son identité et reçoit les groupes. trustinWallet montre par quel lien chaque identité est venue. Limite assumée : une même personne qui l'ouvre deux fois, sous deux noms, a deux identités — sans effet dans Monnaie libre (seule la toile vote), à surveiller dans le groupe d'essai.
  • Sessions : cookie HttpOnly, SameSite=Lax, Secure en https, 30 jours, jeton haché en base ; en-tête anti-CSRF sur toute écriture.
  • Les règles (qui voit, qui ouvre, qui administre) vivent dans trustin-access, futur cœur du service trustinWallet ; le serveur ne décide jamais seul.
  • Une personne, une voix : là où l'électorat est la toile de confiance (Monnaie libre), seuls ses membres votent ; une identité d'invitation y lit et propose. Un nouveau lien ne vise jamais une identité Ğ1 (un administrateur ouvrirait une session à sa place).
  • Premier administrateur : un lien d'invitation écrit au premier démarrage dans le volume de données (0600), jamais dans les journaux.

Coût. Tant que connect n'est pas branché, chaque testeuse a besoin d'un lien. Quand trustinWallet deviendra un service, trustin-access deviendra son client.