Gerege POS¶
Production · Capa 4 — producto vertical ·
Repositorio: gerege-pos-mn · geregepos.mn
Identificación verificada y firma electrónica en el punto de venta. En el mostrador el cliente queda identificado en el acto mediante su documento electrónico de identidad, y los contratos, consentimientos y operaciones se sellan con una firma jurídicamente válida.
Titularidad
La plataforma pertenece a Gerege POS LLC, que también la opera. Su base
técnica es open-gerege-core, el módulo Go compartido y versionado de Gerege
Systems, que aporta las capas de autenticación, seguridad, IA y servicios.
Qué problema resuelve¶
Un TPV tradicional registra qué se vendió, pero no prueba quién lo compró. Productos con restricción de edad, servicios contratados, crédito, seguros, tarjetas SIM registradas: todos exigen un acto real de identificación en el mostrador. Gerege POS cierra esa brecha:
| Pregunta | Respuesta |
|---|---|
| ¿Quién está aquí? | Identificación eID — QR / App2App / notificación por número de registro |
| ¿Ha dado su consentimiento? | Firma electrónica PAdES (eID Mongolia /v3) |
| ¿En nombre de una empresa? | Perfil PKI de eID — organizaciones y firmantes autorizados |
| ¿Podrá negarlo después? | Registro de auditoría encadenado por hash, solo de adición |
Capacidades principales¶
-
eID + Gerege SSO
eID es la única forma de entrar. No hay contraseñas. Además es relying party de Gerege SSO.
-
También proveedor OIDC
Con
OAUTH_ISSUERconfigurado, la plataforma se convierte ella misma en proveedor de identidad para aplicaciones subordinadas (código Go propio, sin Hydra). -
Firma electrónica
Firmas PAdES sobre PDF; el sign relay permite que RP de terceros firmen a través de las credenciales eID de la plataforma.
-
Pasarela gobernada desde administración
Catálogo de servicios, concesiones
svc:*por aplicación, telemetría de peticiones. -
Portal de servicios al ciudadano
Solicitudes, certificados, notificaciones, pagos y citas, más la cola del funcionario (vocabulario CPSV-AP, máquina de estados con SLA).
-
Asistente de IA (Gemini)
Chat, voz a texto, texto a voz y traducción en vivo. Base de conocimiento con búsqueda semántica sobre pgvector.
Además: RBAC y superadministrador (MFA TOTP), organizaciones y membresías, registro unificado de servicios (control once-only), relay entre plataformas, integraciones con Google Drive · Dropbox · Google Meet, almacenamiento SFTP propio (Gerege Space) e interfaz en cuatro idiomas (mn · en · zh · ru).
Lugar en el ecosistema¶
flowchart TD
EID[eID Mongolia<br/>Capa 1] --> SSO[Gerege SSO<br/>Capa 2]
SSO -->|OIDC RP| POS[Gerege POS<br/>Capa 4]
SSO -->|eID proxy · sign relay| POS
CORE[(open-gerege-core<br/>Capa 3)] -.módulo compartido.-> POS
- Nunca habla directamente con eID. Los servicios eID autorizados llegan por
el proxy eID de SSO (
/rp/eid,/rp/eid-org) y el sign relay (/rp/sign). - El client secret vive en SSO. El cliente
gerege-pos-mnestá registrado ensso.gerege.mn, donde el secreto solo existe como hash. - La base es compartida. El backend es un despliegue de referencia de
open-gerege-coresin rutas propias, de modo que un parche de seguridad se propaga desde un único punto.
Tecnología¶
| Capa | Elección |
|---|---|
| Backend | Go 1.26 · chi (net/http) · pgx (sin ORM, SQL escrito a mano) |
| Datos | PostgreSQL 16 + pgvector · Redis 7 |
| Frontend | Next.js 15 (BFF) · React 19 · TanStack Query |
| IA | Gemini REST (sin SDK) — chat · STT · TTS · traducción |
| Observabilidad | OpenTelemetry · Prometheus · Zap |
| Despliegue | Docker Compose tras nginx de borde, geregepos.mn |
Más en la Stack tecnológica.
Pilares de seguridad¶
- Row-Level Security de Postgres — la api se conecta con un rol que no es superusuario, y un guard lo verifica al arrancar.
- Modelo BFF — los tokens viven en cookies httpOnly y nunca llegan al JS del navegador; el CSRF se defiende dos veces (cabecera propia + comprobación de origen).
- Funciones fail-closed — sin credenciales una capacidad se apaga en lugar de fingir que funciona.
- Auditoría encadenada por hash —
/api/v1/audit/verifycomprueba la integridad de la cadena y señala la primera fila rota.
Los requisitos comunes del ecosistema están en Seguridad.
Documentación completa¶
La documentación a nivel de implementación —mapa de capacidades, referencia de endpoints, runbook de despliegue— vive en su propio sitio:
| Página | Sobre qué |
|---|---|
| Mapa de capacidades | Cada módulo, permisos, límites y condiciones de activación |
| Integración de aplicaciones (OIDC RP) | Pasos para conectar su aplicación |
| Proxy de servicios eID | Obtener datos de eID a través del proxy |
| Referencia de API | Todos los endpoints en una tabla |
| Despliegue | Compose, env, nginx, rollback |