Saltar a contenido

Gerege App

Production · Capa 4 — Producto vertical · Repositorio: gerege-app-mn · geregeapp.mn

Los servicios cotidianos del ciudadano en una sola aplicación. Identificarse con su documento electrónico de identidad, obtener un certificado, firmar un contrato, pagar, administrar su organización — sin necesidad de muchas aplicaciones, muchas contraseñas y muchas colas.

Titularidad

La plataforma es propiedad de Gerege App ХХК, que también la explota. Su base técnica es open-gerege-core, el módulo Go compartido con la variante de Gerege Systems, del que hereda las capas de identidad, seguridad, IA y soporte de servicio.

Qué resuelve

El ciudadano abre una aplicación distinta para cada servicio, recuerda una contraseña distinta y adjunta una y otra vez los mismos documentos. Gerege App cierra esos tres frentes a la vez:

Pregunta Respuesta
¿Quién está entrando? Autenticación con eID — QR / App2App / push por número de registro
¿Volver a entrar? Solo una vez: la plataforma es ella misma proveedor OIDC (SSO)
¿Pedir de nuevo los mismos documentos? El registro de servicios detecta las infracciones del principio once-only
¿Por dónde va mi solicitud? Cronología de la solicitud + seguimiento del SLA del relay

Capacidades principales

  • eID + Gerege SSO


    El único método de acceso es el eID. Sin contraseñas ni OTP por correo. Además, la plataforma es relying party de Gerege SSO.

  • También proveedor OIDC


    Cuando se configura OAUTH_ISSUER, la plataforma pasa a ser su propio proveedor de identidad — código Go propio, PKCE S256, id_token en RS256.

  • Portal de servicios públicos


    Catálogo → solicitud → cola del funcionario → resolución → certificado, pago, cita. Máquina de estados que separa el avance del resultado, al estilo de ZGW.

  • Registro unificado de servicios


    Pasaporte CPSV-AP, historial de versiones, catálogo de pruebas y detección de infracciones del principio once-only (principio estonio).

  • Relay entre plataformas


    Las solicitudes con plazo llegadas de una plataforma superior se encaminan a los organismos inferiores, y se vigila el SLA. El webhook se firma con el secreto propio de cada plataforma.

  • Asistente de IA (Gemini)


    Chat, voz → texto, texto → voz, traducción en directo. Base de conocimiento con búsqueda semántica en pgvector; el chat de invitado sin sesión está aislado aparte.

Además: firma electrónica PAdES + sign relay, pasarela de API gestionada desde admin, RBAC + super admin (MFA con TOTP), organizaciones y membresías, perfil de PKI de eID, conexiones con Google Drive · Dropbox · Google Meet, almacenamiento SFTP propio (Gerege Space), 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 -->|RP de OIDC| APP[Gerege App<br/>Capa 4]
    SSO -->|proxy eID · sign relay| APP
    CORE[(open-gerege-core<br/>Capa 3)] -.módulo base.-> APP
  • Sin acceso directo al eID. Los servicios eID autorizados pasan por el proxy de eID del SSO (/rp/eid, /rp/eid-org) y por el sign relay (/rp/sign).
  • El client secret está en el SSO. El cliente gerege-app-mn está registrado en sso.gerege.mn; su secreto vive allí solo en forma de hash.
  • La base es compartida. El backend es la implementación de referencia de open-gerege-core (main.go, unas 30 líneas), sin rutas añadidas propias. Los parches de seguridad se propagan desde un único punto.

Tecnología

Capa Elección
Backend Go 1.26 · chi (net/http) · pgx (sin ORM, SQL a mano)
Datos PostgreSQL 16 + pgvector · Redis 7
Frontend Next.js 15 (BFF) · TanStack Query
IA Gemini REST (sin SDK) — chat · STT · TTS · traducción
Observabilidad OpenTelemetry · Prometheus · Zap
Despliegue Docker Compose + edge nginx, geregeapp.mn

Para el detalle, véase Stack tecnológico.

Cimientos de seguridad

  • Row-Level Security de Postgres — la API se conecta con un rol que no es superuser; un guard comprueba esa condición en el arranque. Las tablas gov_* tienen una policy aparte para los funcionarios.
  • Patrón BFF — el token vive en una cookie httpOnly y nunca llega al JavaScript del navegador; doble protección CSRF (cabecera propia + origin).
  • Funciones fail-closed — sin credenciales, la capacidad se apaga en lugar de funcionar en falso; si el guard de arranque detecta una infracción, la API se niega a arrancar.
  • Auditoría encadenada por hash/api/v1/audit/verify comprueba la integridad de la cadena.

Para los requisitos comunes del ecosistema, véase Seguridad.

Documentación detallada

La documentación completa a nivel de implementación — matriz de capacidades, referencia de endpoints, runbook de despliegue — está en un sitio aparte:

Documentación de Gerege App →

Página De qué trata
Matriz de capacidades Cada módulo, sus permisos y sus pantallas de un vistazo
Servicios públicos El ciclo completo de una solicitud, la cola del funcionario
Registro de servicios Pasaporte CPSV-AP, infracciones del once-only
Conectar una app (RP de OIDC) Pasos para autenticar su propia aplicación
Referencia de API Todos los endpoints en una sola tabla
Despliegue Compose, variables de entorno, nginx, rollback