Gerege POS¶
Production · Слой 4 — отраслевой продукт ·
Репозиторий: gerege-pos-mn · geregepos.mn
Подтверждённая идентификация и электронная подпись в точке продаж. У кассы клиент опознаётся по электронному удостоверению личности прямо на месте, а договоры, согласия и операции скрепляются юридически значимой подписью.
Владение
Платформой владеет и управляет Gerege POS ХХК. Технической основой
служит open-gerege-core — версионируемый общий Go-модуль Gerege Systems,
который поставляет слои аутентификации, безопасности, AI и сервисов.
Какую задачу решает¶
Обычный POS фиксирует, что продано, но не доказывает, кто купил. Товары с возрастными ограничениями, договорные услуги, кредит, страхование, регистрируемые SIM-карты — везде требуется настоящий акт идентификации у кассы. Gerege POS закрывает этот пробел:
| Вопрос | Ответ |
|---|---|
| Кто здесь стоит? | Идентификация eID — QR / App2App / push по РНН |
| Он дал согласие? | Электронная подпись PAdES (eID Mongolia /v3) |
| От имени организации? | PKI-профиль eID — организации и уполномоченные подписанты |
| Сможет ли отказаться потом? | Журнал аудита с хеш-цепочкой, только на добавление |
Ключевые возможности¶
-
eID + Gerege SSO
Единственный способ входа — eID. Паролей нет. Кроме того, платформа является relying party Gerege SSO.
-
И сам OIDC-провайдер
При заданном
OAUTH_ISSUERплатформа сама становится провайдером идентичности и авторизует подчинённые приложения (собственный Go-код, без Hydra). -
Электронная подпись
Подпись PAdES для PDF; sign relay позволяет сторонним RP получать подпись через учётные данные eID платформы.
-
Шлюз под управлением админа
Каталог сервисов, гранты
svc:*по каждому приложению, телеметрия запросов. -
Портал услуг для граждан
Заявления, справки, уведомления, платежи, запись на приём плюс очередь оператора (словарь CPSV-AP, машина состояний с учётом SLA).
-
AI-ассистент (Gemini)
Чат, распознавание речи, синтез речи, живой перевод. База знаний с семантическим поиском на pgvector.
А также: RBAC и суперадмин (TOTP MFA), организации и членство, единый реестр услуг (контроль once-only), межплатформенный relay, интеграции 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| POS[Gerege POS<br/>Слой 4]
SSO -->|eID proxy · sign relay| POS
CORE[(open-gerege-core<br/>Слой 3)] -.общий модуль.-> POS
- Прямого обращения к eID нет. Разрешённые сервисы eID приходят через
eID-прокси SSO (
/rp/eid,/rp/eid-org) и sign relay (/rp/sign). - Client secret живёт в SSO. Клиент
gerege-pos-mnзарегистрирован наsso.gerege.mn, где секрет существует только в виде хеша. - Основа общая. Бэкенд — эталонное развёртывание
open-gerege-coreбез собственных маршрутов, поэтому патч безопасности расходится из одной точки.
Технологии¶
| Слой | Выбор |
|---|---|
| Бэкенд | Go 1.26 · chi (net/http) · pgx (без ORM, рукописный SQL) |
| Данные | PostgreSQL 16 + pgvector · Redis 7 |
| Фронтенд | Next.js 15 (BFF) · React 19 · TanStack Query |
| AI | Gemini REST (без SDK) — чат · STT · TTS · перевод |
| Наблюдаемость | OpenTelemetry · Prometheus · Zap |
| Развёртывание | Docker Compose за edge nginx, geregepos.mn |
Подробнее — Технологический стек.
Опоры безопасности¶
- Postgres Row-Level Security — api подключается ролью без прав суперпользователя, и при старте это проверяет guard.
- Модель BFF — токены лежат в httpOnly-cookie и никогда не попадают в браузерный JS; защита от CSRF двойная (собственный заголовок + проверка origin).
- Fail-closed — без учётных данных возможность выключается, а не притворяется работающей.
- Аудит с хеш-цепочкой —
/api/v1/audit/verifyпроверяет целостность цепочки и указывает на первую повреждённую строку.
Общие требования экосистемы — на странице Безопасность.
Полная документация¶
Документация уровня реализации — карта возможностей, справочник эндпоинтов, runbook развёртывания — размещена на отдельном сайте:
| Страница | О чём |
|---|---|
| Карта возможностей | Каждый модуль, права, лимиты, условия включения |
| Подключение приложения (OIDC RP) | Шаги для входа вашего приложения |
| Прокси сервисов eID | Получение данных eID через прокси |
| Справочник API | Все эндпоинты в одной таблице |
| Развёртывание | Compose, env, nginx, откат |