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