Перейти к содержанию

Gerege App

Production · Слой 4 — Отраслевой продукт · Репозиторий: gerege-app-mn · geregeapp.mn

Повседневные услуги гражданина в одном приложении. Опознаться по цифровому удостоверению, получить справку, подписать договор, оплатить, управлять своей организацией — без множества приложений, множества паролей и множества очередей.

Владение

Платформой владеет и управляет Gerege App ХХК. Её технической основой служит open-gerege-core — общий модуль на Go, тот же, что и в варианте Gerege Systems; от него наследуются слои идентификации, безопасности, ИИ и сервисной опоры.

Что она решает

Гражданин для каждой услуги открывает отдельное приложение, вспоминает отдельный пароль и снова и снова прикладывает одни и те же документы. Gerege App закрывает эти три проблемы разом:

Вопрос Ответ
Кто входит? Аутентификация по eID — QR / App2App / push по номеру реестра
Входить снова? Только один раз — платформа сама является провайдером OIDC (SSO)
Требовать те же документы снова? Реестр услуг выявляет нарушения принципа once-only
Где находится моя заявка? Timeline заявки + контроль SLA у relay

Основные возможности

  • eID + Gerege SSO


    Единственный способ входа — eID. Ни паролей, ни OTP по почте. Плюс платформа является relying party Gerege SSO.

  • И сама провайдер OIDC


    Когда задан OAUTH_ISSUER, платформа становится собственным провайдером идентичности — свой код на Go, PKCE S256, id_token на RS256.

  • Портал государственных услуг


    Каталог → заявка → очередь к должностному лицу → решение → справка, оплата, запись на приём. Машина состояний с разделением хода и результата в духе ZGW.

  • Единый реестр услуг


    Паспорт CPSV-AP, история версий, каталог доказательств, выявление нарушений once-only (эстонский принцип).

  • Relay между платформами


    Срочные запросы, пришедшие с платформы верхнего уровня, направляются в нижестоящие организации, а SLA контролируется. Webhook подписывается секретом каждой платформы.

  • ИИ-помощник (Gemini)


    Чат, речь → текст, текст → речь, перевод на лету. База знаний с семантическим поиском на pgvector; гостевой чат без входа изолирован отдельно.

Кроме того: электронная подпись PAdES + sign relay, управляемый из админки API-шлюз, RBAC + супер-админ (MFA по TOTP), организации и членство, профиль eID PKI, подключение Google Drive · Dropbox · Google Meet, собственное SFTP-хранилище (Gerege Space), интерфейс на четырёх языках (mn · en · zh · ru).

Место в экосистеме

flowchart TD
    EID[eID Mongolia<br/>Слой 1] --> SSO[Gerege SSO<br/>Слой 2]
    SSO -->|OIDC RP| APP[Gerege App<br/>Слой 4]
    SSO -->|eID proxy · sign relay| APP
    CORE[(open-gerege-core<br/>Слой 3)] -.базовый модуль.-> APP
  • К eID напрямую не обращается. Разрешённые сервисы eID проходят через eID-прокси SSO (/rp/eid, /rp/eid-org) и sign relay (/rp/sign).
  • Client secret находится в SSO. Клиент gerege-app-mn зарегистрирован на sso.gerege.mn; секрет живёт там только в виде хеша.
  • Основа общая. Бэкенд — эталонная реализация open-gerege-core (main.go около 30 строк), без собственных дополнительных маршрутов. Исправления по безопасности расходятся из одной точки.

Технологии

Слой Выбор
Бэкенд Go 1.26 · chi (net/http) · pgx (без ORM, SQL вручную)
Данные PostgreSQL 16 + pgvector · Redis 7
Фронтенд Next.js 15 (BFF) · TanStack Query
ИИ Gemini REST (без SDK) — чат · STT · TTS · перевод
Наблюдаемость OpenTelemetry · Prometheus · Zap
Развёртывание Docker Compose + edge nginx, geregeapp.mn

Подробности — на странице Технологический стек.

Основа безопасности

  • Postgres Row-Level Security — API подключается ролью, которая не является superuser; на старте это условие проверяет guard. Для таблиц gov_* есть отдельная policy для должностных лиц.
  • Шаблон BFF — токен в httpOnly cookie и никогда не попадает в JavaScript браузера; двойная защита от CSRF (специальный заголовок + origin).
  • Функции fail-closed — без учётных данных возможность выключается, а не работает вхолостую; если boot guard находит нарушение, API отказывается запускаться.
  • Аудит с хеш-цепочкой/api/v1/audit/verify проверяет целостность цепочки.

Общие требования экосистемы — на странице Безопасность.

Подробная документация

Полная документация уровня реализации — матрица возможностей, справочник endpoint'ов, runbook по развёртыванию — находится на отдельном сайте:

Документация Gerege App →

Страница О чём
Матрица возможностей Каждый модуль, права и страницы интерфейса одним взглядом
Государственные услуги Полный цикл заявки, очередь к должностному лицу
Реестр услуг Паспорт CPSV-AP, нарушения once-only
Подключение приложения (OIDC RP) Шаги, чтобы пускать пользователей в своё приложение
Справочник API Все endpoint'ы в одной таблице
Развёртывание Compose, переменные окружения, nginx, откат