Securo и личные финансы на собственном сервере
Банковские приложения и облачные сервисы учета расходов давно превратились в рекламные витрины. Они собирают финансовые привычки, агрегируют чеки и показывают персональные предложения кредитов. Если хочется вести учет без отправки банковских выписок на чужие серверы, вариантов обычно немного. Приходится выбирать между таблицами в Excel и старыми десктопными утилитами, которые не обновлялись годами.
Проект Securo предлагает другой подход. Это менеджер личных финансов с открытым исходным кодом, созданный для селфхостинга. Вы поднимаете его на своем сервере или домашнем NAS, получая современный веб-интерфейс и полный контроль над сохранностью информации.
Что умеет система
Внутри есть все привычные инструменты для персональной бухгалтерии:
- Мультиаккаунтинг с ведением раздельных балансов по картам, счетам и наличным
- Импорт файлов выписок в форматах OFX, QIF, CAMT и CSV
- Движок автоматической категоризации на основе настраиваемых правил
- Планирование регулярных платежей и расчет лимитов по бюджетам
- Постановка финансовых целей с отслеживанием прогресса накоплений
- Учет активов с отслеживанием динамики стоимости и правилами переоценки
- Аналитические отчеты по чистому капиталу, доходам и расходам
Если вы работаете с несколькими валютами, сервис подтягивает актуальные курсы через Open Exchange Rates. При создании операции в валюте конвертация пересчитывается на лету. Без указания API-токена система использует базовый курс один к одному и выводит предупреждение в интерфейсе.
Синхронизация с банками
Ручной ввод расходов быстро надоедает. Для автоматизации авторы встроили интеграцию с внешними банковскими шлюзами.
Каждый модуль подключается через переменные окружения в .env:
- SimpleFIN — открытый протокол с доступом только на чтение для американских и международных счетов. Не требует API-ключей, авторизация проходит по одноразовым токенам моста.
- Enable Banking — доступ к европейским банкам по директиве PSD2.
- Pluggy — интеграция для бразильских банковских сервисов.
Если провайдеры не настроены, они остаются неактивными и не занимают память.
Авторизация и корпоративная безопасность
В вопросах защиты доступа разработчики пошли дальше стандартной пары логина и пароля.
Из коробки поддерживаются Passkeys по стандарту WebAuthn. Входить можно по биометрии через Touch ID, Face ID, Windows Hello или аппаратные ключи YubiKey. Стандарт накладывает два ограничения: регистрация не работает на голых IP-адресах и требует обязательного HTTPS везде, кроме localhost.
Для домашней инфраструктуры или небольших команд предусмотрена интеграция с OIDC. Сервер тестировался с Authentik и Pocket ID.
OIDC_ENABLED=true
OIDC_PROVIDER_NAME=Pocket ID
OIDC_DISCOVERY_URL=https://id.example.com/.well-known/openid-configuration
OIDC_CLIENT_ID=securo
OIDC_CLIENT_SECRET=your-client-secret
Если включить параметр LOCAL_AUTH_ENABLED=false, Securo полностью отключает локальную авторизацию по паролям. Регистрация, сброс паролей и локальные токены блокируются на уровне бэкенда. При включенном OIDC_SYNC_ROLES=true система маппит группы из identity provider в локальные роли: администратор, редактор или зритель.
Локальные ИИ-ассистенты через MCP
Одна из самых любопытных деталей проекта — встроенные ИИ-агенты. Они общаются с базой через Model Context Protocol (MCP) и отвечают на вопросы по вашим тратам прямо в боковой панели (вызывается по сочетанию Cmd+J).
Для запуска агентов в Docker Compose активируется отдельный профиль:
AGENTS_ENABLED=true
COMPOSE_PROFILES=agents
Ассистент умеет работать с разными провайдерами:
- Локальная модель через Ollama (данные не покидают домашний контур)
- OpenAI
- Anthropic
- Любой совместимый с OpenAI API шлюз
Сервер MCP поднимается как отдельный сервис на uvicorn. Он дает языковой модели доступ к инструментам поиска по транзакциям и локальной базе знаний RAG. Можно напрямую спросить: «Сколько ушло на кафе в прошлом месяце?» или «Покажи самые крупные подписки за год». Модель выполнит запрос к базе и вернет структурированный ответ.
Технический стек
Архитектура проекта выглядит предсказуемо и понятно:
- Бэкенд: FastAPI, SQLAlchemy, Alembic, Celery
- Очереди и фоновые задачи: Redis и Celery
- База данных: PostgreSQL
- Фронтенд: React, TypeScript, Vite, Tailwind CSS
Код бэкенда покрыт тестами на pytest. Для сборки локального окружения разработчики подготовили конфигурацию под инструмент mise, который ставит нужную версию Python и зависимости одной командой.
Быстрый старт
Развернуть сервис на Linux или macOS можно через установочный скрипт:
curl -fsSL https://usesecuro.com/install.sh | bash
Для ручного запуска через Docker Desktop:
git clone https://github.com/securo-finance/securo.git
cd securo
docker compose up --build
После завершения сборки приложение открывается по адресу http://localhost:3000. Первый зарегистрированный пользователь получает права администратора инстанса.
Кому подойдет проект
Securo пригодится разработчикам, системным администраторам и всем, кто ценит приватность персональных данных. Сервис решает проблему внезапного закрытия облачных стартапов и навязывания платных подписок. Лицензия AGPL-3.0 гарантирует открытость кодовой базы, а поддержка SSO и Passkeys делает использование удобным на всех домашних устройствах.
Если вы давно искали замену закрытым приложениям для учета бюджета, разверните контейнер локально и попробуйте импортировать пару выписок. Проект живой, активно коммитится и легко расширяется собственными интеграциями.
