Архитектура
Сервисы и ответственность
Один владелец состояния на каждую предметную границу.
| Компонент | Владеет | Не доказывает |
|---|---|---|
| client | Представление, формы, session bridge | Право на действие без server проверка |
| auth | Участники, роли, KYC, документы, wallet key provisioning | Решение регулятора или банка |
| cfa-core | Выпуски, заявки, резервы, операции, финализация | Банковские выплаты |
| ledger | Счета и операции учета | Blockchain finality без receipt |
| Besu | EVM execution и chain record | Полноту реестра участников |
| Web3Signer | Криптографическая подпись ключом | Волеизъявление обладателя само по себе |
| apps/docs | Справка и контракты | Production capability |
Feature: Доступ к ledger
Scenario: Доступ к ledger
Given внешний запрос не имеет bearer
When выполняется ListAccounts
Then возвращается отказ аутентификации
And прямая финансовая команда не становится доступной через другой HTTP путьLedger external Connect допускает owner-scoped ListAccounts/ListOperations либо серверно проверенный SYSTEM_ADMIN; прочие внешние команды закрыты. Kafka financial controllers сохранены внутри доверенного контура. Общий HTTP limiter применяется до маршрутизации; лимиты per-process.
Источник: ledger-access.interceptor, service-bootstrap, Kafka modules. API.