📚 Capital - База знаний (Knowledge Base)

Внутренняя документация банковской платформы Capital (собственная копия Iorys, whitelabel под Stefa Pay group). Секретов здесь НЕТ by design - только архитектура, ранбуки, процессы и решения.

🗂 Индекс

📐 architecture/ - как устроено

Файл Про что
Обзор платформы - единый пульт 🏦 единый пульт: домены, доступы, инфра, ностро, расходы, задачи, план
Архитектура Capital v1.0 🏗 прод-инфраструктура (серверы, бэкапы, мониторинг, деплой, бюджет) - утв. CEO 15.09.2026
01 - Обзор сервисов и репозиториев 🧱 3 сервиса + capital_shared, стек, порты, репозитории
02 - Модель данных 🗃 33 ORM-модели: назначение, ключевые поля, инварианты
03 - Интеграции 🔌 SumSub · Papaya · NS Cards · KYT · Resend (режимы simulate/live)
04 - RBAC и роли 🔑 роли/права back-office, изоляция кабинета, CSRF, сессии
05 - Модель безопасности 🛡 изоляция client_id, идемпотентность денег, 4-eyes, PAN, вебхуки
06 - Функциональные модули 🧩 что реализовано и LIVE, паритет с Iorys ~88%
07 - Карта Ledger 🗺 18 разделов back-office: маршруты, назначение, права
08 - XBO 🪙 крипто-шлюз: USDT-TRC20 → фиат → ностро, статус этапов
09 - Казначейка 💰 read-only монитор: экраны, безопасность, путь до прода

🛠 runbooks/ - как эксплуатировать

Файл Про что
deploy 🚀 деплой на capital-prod (rsync→build→migrate→up), гочи
rollback ⏪ откат кода/данных/DR
MIGRATIONS 🗄 миграции Alembic (изменение схемы, baseline)
backup-restore 💾 интерим-бэкапы (age) + восстановление
hardening-server 🔒 чеклист hardening сервера (состояние + шаги)
incident-response 🧯 реагирование на инцидент, матрица отказов

Целевые бэкапы (pgBackRest + WAL/PITR → B2) - в deploy/pgbackrest/README.md головного репозитория capital.

🔄 processes/ - как работать

Файл Про что
01 - Онбординг клиента 📝 email-first (2 шага) → анкета 9 блоков → SumSub → активация → кабинет
02 - Релиз-процесс 🚢 от кода до прода, проверки качества, expand/contract
03 - Параллельная разработка 🧭 ⚠️ параллелить по репо-сервисам, subtree-workflow, замок на schema

🗺 Карта репозиториев Capital

Репозиторий Назначение
capital 🏛 Головной: compose, миграции, деплой, интеграция компонентов
capital-ledger 🗄 Ledger (back-office операторов) = backoffice/
capital-portal 🧑‍💼 Клиентский портал (кабинет) = cabinet/
capital-shared 🧩 Общий пакет (ORM-модели, ledger-ядро, rails, cards) = shared/
capital-kyc 🪪 KYC-мост (SumSub)
capital-hub 🌐 Hub (зарезервирован; роль закрывает партнёрский rail Papaya)
capital-kb 📚 Эта база знаний
capital-support 🛟 Поддержка: инциденты, хотфиксы, диагностика

🌐 Визуальная база знаний (листаемый сайт)

Вся документация собрана в статический сайт - листаемую в браузере wiki с боковой навигацией, хлебными крошками, поиском по заголовкам и брендом Stefa Pay (navy + gold, щит-логотип). Полностью офлайн: без интернета, без CDN, без сборки - открывается двойным кликом.

Как открыть

Как пересобрать (после правок в .md)

python3 build_site.py     # перегенерит папку site/ из всех .md (нужен пакет `markdown`)

Скрипт build_site.py рендерит каждый markdown в отдельный site/*.html, переписывает ссылки между документами, строит навигацию/поиск и вшивает бренд-оформление инлайн. Единственная зависимость сборки - Python-пакет markdown (pip install markdown); на выходе - чистая статика без зависимостей.

Правила