User Guide
Associations & Tontines
This guide presents the complete operation of the Associations & Tontines module for all participants: the Member, the Board (President/Treasurer) and the ZekoraPay Platform.
👥 Participants & Roles Table
The Member
Utilisateur standard
Responsabilités
Search for a group, contribute to tontine rounds, pay meeting fees, vote on decisions, participate in chat.
🔐 Actions avec PIN
Meeting contribution, tontine payment, governance vote.
The Board (President/Treasurer)
Président / Trésorier
Responsabilités
Record cash payments, validate distributions, start elections, perform meeting closures (settlement).
🔐 Actions avec PIN
Cash deposit, distribution validation, election, meeting closure.
ZekoraPay System
Système ZekoraPay
Responsabilités
Anti-keylogger PIN pad usePin(), RSA-OAEP encryption, double-entry accounting, immutable audit logs.
🔐 Actions avec PIN
RSA private key decryption, authClient.VerifyPin validation.
| Participant | Main Responsibilities | 🔐 PIN Actions |
|---|---|---|
| 👤 The Member | Search for a group, contribute to tontine rounds, pay meeting fees, vote on decisions, participate in chat. | Meeting contribution, tontine payment, governance vote. |
| 👑 The Board (President/Treasurer) | Record cash payments, validate distributions, start elections, perform meeting closures (settlement). | Cash deposit, distribution validation, election, meeting closure. |
| 🏛️ ZekoraPay System | Anti-keylogger PIN pad usePin(), RSA-OAEP encryption, double-entry accounting, immutable audit logs. | RSA private key decryption, authClient.VerifyPin validation. |
The Member
Utilisateur standard — actions digitales
L'explorateur permet à tout membre de parcourir les associations publiques, de filtrer par type (tontine, épargne, solidarité) et de consulter les informations avant d'adhérer.

Association explorer view with category filters
Depuis l'explorateur ou via un lien d'invitation, le membre soumet sa demande d'adhésion. Elle est ensuite soumise à l'approbation du Bureau (avec PIN).
Trouver
Via l'explorateur ou lien invite
Demander
Soumettre la demande d'adhésion
Attendre
Le Bureau valide avec son PIN
Le membre règle sa cotisation périodique depuis son portefeuille ZekoraPay. Le modal PIN anti-keylogger s'ouvre pour valider le débit.
Onglet Cotisations
Naviguer dans le workspace de l'association
Cliquer « Payer »
Sélectionner la cotisation due
Saisir le PIN
Clavier anti-keylogger à 5 chiffres
Confirmation
Débit instantané du portefeuille

Les membres votent sur les décisions importantes de l'association (élections, distributions, exclusions). Chaque vote est signé avec le PIN et ne peut être modifié.
Onglet Gouvernance
Voir les résolutions en cours
Lire la proposition
Distribution, élection, exclusion…
Voter + PIN
Pour / Contre / Abstention
Vote définitif
Signé cryptographiquement

Vue consolidée de toutes les associations dont le membre fait partie — soldes, cotisations dues, prochaine réunion.

The Board (President/Treasurer)
Président / Trésorier / Secrétaire
Le fondateur configure l'association en 3 étapes : identité, règles financières, et paramètres membres.
Step 1
Identity & Activities
Name, description, logo, association types.
Step 2
Rules & Finances
Contribution amount, frequency, governance.
Step 3
Member Settings
Visibility, invitations, membership limits.

Le Bureau valide ou rejette les demandes d'adhésion en saisissant son PIN — chaque décision est traçable et non modifiable.

Quand un membre paie en espèces lors d'une réunion, le trésorier l'enregistre manuellement avec son PIN pour garantir la traçabilité.

Le Bureau génère en un clic les cotisations de la période pour l'ensemble des membres actifs. Le PIN valide la création groupée.

Le trésorier verse la cagnotte au bénéficiaire du tour. Cette action irréversible nécessite le PIN et génère une résolution de gouvernance si la règle l'exige.
Onglet Trésorerie
Sélectionner bénéficiaire
Saisir montant
Confirmer avec PIN
Virement exécuté

Le Bureau crée, gère et clôture les réunions. La clôture (règlement des cotisations et rations) nécessite le PIN.

Proposition d'un nouveau bureau ou candidature à un rôle (Président, Trésorier, Secrétaire). Tous les membres votent avec leur PIN.

ZekoraPay System
Infrastructure de sécurité ZekoraPay
Clavier anti-keylogger
Les touches du PIN sont mélangées aléatoirement à chaque affichage. Aucun logiciel malveillant ne peut reproduire l'ordre de saisie.
Chiffrement RSA-OAEP
Le PIN est chiffré côté client avec la clé publique RSA avant envoi. Seul le serveur possède la clé privée de déchiffrement.
Double validation
Chaque action financière est validée par deux mécanismes : le PIN utilisateur et la vérification serveur de la signature.
Traçabilité totale
Chaque transaction, vote et approbation est horodaté et conservé de façon immuable dans le journal d'audit.
Notifications temps réel
Chaque membre reçoit une notification instantanée pour toute opération concernant son association.
Isolation par association
Les wallets de chaque association sont isolés. Aucun glissement de fonds entre associations n'est possible.
🔐 Le Flux PIN — Comment ça fonctionne ?
Séquence exacte déclenchée à chaque action financière sécurisée :
Clic sur l'action
L'utilisateur clique sur « Payer », « Voter », « Distribuer »...
Vérification hasPin
Le composable usePin() vérifie si l'utilisateur a configuré son PIN
Ouverture PinModal
Le clavier virtuel anti-keylogger s'affiche (touches mélangées)
Saisie du PIN
L'utilisateur saisit ses 5 chiffres — ordre des touches aléatoire
Chiffrement client
Le PIN est chiffré avec la clé publique RSA avant tout envoi réseau
Appel API sécurisé
Le payload chiffré + PIN sont envoyés au microservice concerné
Validation serveur
Le serveur déchiffre, valide et exécute l'action financière
Notification
Tous les membres concernés reçoivent une notification temps réel
📂 The 6 Workspace Tabs
Once inside an association workspace, 6 tabs give access to all features.

View association overall balances (Digital Bank + Cash Register) and upcoming events and meetings.
Manage members: view status, approve/reject applications (PIN), remove a member, generate an invitation link.
Full contribution history (digital and cash), filter by type, create bulk contributions (PIN), record cash (PIN).
Wallet balances (Digital / Cash), transaction history, distribute the pool or transfer funds (PIN required).
Schedule meetings, record attendance, collect contributions and rations, close and settle the session (PIN).
Approve or reject resolutions (distributions, elections, exclusions). Each vote is PIN-validated and cryptographically signed.
Instant messaging between association members. Document sharing, bureau announcements, automated notifications.
📱 L'application sur mobile
Toutes les fonctionnalités sont disponibles sur mobile — l'interface s'adapte automatiquement.
Explorateur
Création
Mes Associations
Workspace
Security Architecture
Every financial action is protected by your PIN
Anti-keylogger keypad
PIN keys are randomly shuffled at every modal opening. No software can record the real input order.
RSA-OAEP Encryption
PIN is encrypted client-side before any network transmission. Only the server holds the decryption key.
Multi-level validation
Server signature + PIN check + immutable audit trail for every financial action.