Gerege POS¶
Production · Couche 4 — Produit vertical ·
Dépôt : gerege-pos-mn · geregepos.mn
Identification vérifiée et signature électronique au point de vente, dans le commerce et les services. Derrière le comptoir, le client est identifié sur l'instant par son identité électronique, et les contrats, consentements et transactions sont scellés par une signature juridiquement valable.
Propriété
La plateforme est détenue et exploitée par Gerege POS ХХК. Son socle
technique est open-gerege-core, le module Go partagé avec la variante de
Gerege Systems — dont elle hérite les couches d'identité, de sécurité, d'IA
et de support de service.
Le problème résolu¶
Un POS classique enregistre ce qui a été vendu, mais n'établit pas qui a acheté. Produits soumis à un âge minimum, services sous contrat, crédit, assurance, cartes SIM enregistrées : dans tous ces cas, une véritable identification est requise au comptoir. Gerege POS comble ce vide :
| Question | Réponse |
|---|---|
| Qui se tient ici ? | Identification eID — QR / App2App / push par numéro d'état civil |
| A-t-il donné son accord ? | Signature électronique PAdES (eID Mongolia /v3) |
| Au nom d'une organisation ? | Profil PKI eID — organisations et signataires habilités |
| Pourra-t-il le nier ensuite ? | Journal d'audit chaîné par hachage, en ajout seul |
Capacités principales¶
-
eID + Gerege SSO
Le seul mode de connexion est l'eID. Pas de mot de passe. La plateforme est aussi relying party de Gerege SSO.
-
Fournisseur OIDC à son tour
Quand
OAUTH_ISSUERest configuré, la plateforme devient elle-même fournisseur d'identité et authentifie les applications associées (code Go maison, sans Hydra). -
Signature électronique
Signature PAdES sur PDF ; le sign relay permet aux RP tiers de faire signer au moyen des identifiants eID de la plateforme.
-
Passerelle pilotée depuis l'admin
Catalogue de services, permissions
svc:*accordées par application, télémétrie des requêtes. -
Portail de services aux citoyens
Demandes, renseignements, notifications, paiements, prise de rendez-vous + file d'attente opérateur (référentiel CPSV-AP, machine à états avec SLA).
-
Assistant IA (Gemini)
Chat, parole → texte, texte → parole, traduction en direct. Base de connaissances avec recherche sémantique pgvector.
Également : RBAC + super admin (MFA par TOTP), organisations et affiliations, registre unifié des services (contrôle once-only), relay entre plateformes, connexions Google Drive · Dropbox · Google Meet, stockage SFTP propre (Gerege Space), interface en quatre langues (mn · en · zh · ru).
Place dans l'écosystème¶
flowchart TD
EID[eID Mongolia<br/>Couche 1] --> SSO[Gerege SSO<br/>Couche 2]
SSO -->|RP OIDC| POS[Gerege POS<br/>Couche 4]
SSO -->|proxy eID · sign relay| POS
CORE[(open-gerege-core<br/>Couche 3)] -.module socle.-> POS
- Aucun accès direct à l'eID. Les services eID autorisés transitent par le
proxy eID du SSO (
/rp/eid,/rp/eid-org) et par le sign relay (/rp/sign). - Le client secret est dans le SSO. Le client
gerege-pos-mnest enregistré sursso.gerege.mn; son secret n'y vit que sous forme de hachage. - Le socle est partagé. Le backend est l'implémentation de référence de
open-gerege-core— sans routes ajoutées en propre. Les correctifs de sécurité se diffusent depuis un point unique.
Technologie¶
| Couche | Choix |
|---|---|
| Backend | Go 1.26 · chi (net/http) · pgx (sans ORM, SQL écrit à la main) |
| Données | PostgreSQL 16 + pgvector · Redis 7 |
| Frontend | Next.js 15 (BFF) · React 19 · TanStack Query |
| IA | Gemini REST (sans SDK) — chat · STT · TTS · traduction |
| Observabilité | OpenTelemetry · Prometheus · Zap |
| Déploiement | Docker Compose + edge nginx, geregepos.mn |
Pour le détail, voir Stack technique.
Socle de sécurité¶
- Row-Level Security de Postgres — l'API se connecte avec un rôle qui n'est pas superuser ; un garde-fou vérifie cette condition au démarrage.
- Modèle BFF — le jeton reste dans un cookie httpOnly et n'atteint jamais le JavaScript du navigateur ; double protection CSRF (en-tête dédié + origine).
- Fonctions fail-closed — sans identifiants, la capacité s'éteint plutôt que de fonctionner à faux.
- Audit chaîné par hachage —
/api/v1/audit/verifycontrôle l'intégrité de la chaîne et désigne la première ligne rompue.
Pour les exigences communes de l'écosystème, voir Sécurité.
Documentation détaillée¶
La documentation complète au niveau de l'implémentation — cartographie des capacités, référence des endpoints, runbook de déploiement — se trouve sur un site distinct :
| Page | De quoi il s'agit |
|---|---|
| Cartographie des capacités | Chaque module, ses droits, ses limites de débit, ses conditions d'activation |
| Raccorder une application (RP OIDC) | Les étapes pour authentifier votre propre application |
| eID Service Proxy | Obtenir les données eID via le proxy |
| Référence d'API | Tous les endpoints dans un seul tableau |
| Déploiement | Compose, variables d'environnement, nginx, rollback |