Customer lifecycle
Create customers, edit profiles, lock logins, change roles, reset passwords and move KYC between pending, verified and rejected.
Danube Ops is a standalone FastAPI application with its own login, its own session cookie, and full control over customers, money movement and the MySQL database.
Unlike the customer app, the operator console is intentionally dense. It shows raw state and lets authorised staff act on it.
Create customers, edit profiles, lock logins, change roles, reset passwords and move KYC between pending, verified and rejected.
Open accounts for any customer, freeze or close them, and post audited credit/debit adjustments that become ledger transactions.
Search any reference, inspect every ledger entry, and reverse completed transactions with a reason — the ledger is never edited in place.
Issue cards to any account, reveal the encrypted PAN (audited), freeze or cancel, change limits and reset PINs.
Approve or reject applications, or book a loan on a customer's behalf and disburse it immediately with a generated schedule.
Browse and sort any table, export CSV, run audited SQL with write protection, and download a full SQL backup.
Every business number is a row in the settings table:
opening credit, overdraft, savings rate, card limits, loan bounds and pricing, maintenance mode
and even whether demo logins appear. The customer app picks changes up within ten seconds.
Every login, adjustment, reversal, KYC decision, setting change, export and SQL statement is
written to audit_logs with the operator's email and IP address.
admin.settings_update admin@danube.demo 127.0.0.1 loans.base_rate_bps: 1290 → 1350 transaction.reverse admin@danube.demo 127.0.0.1 TXN-8F2A… reversed — duplicate capture admin.card_reveal admin@danube.demo 127.0.0.1 card •••• 7005 admin.sql admin@danube.demo 127.0.0.1 SELECT email, role FROM customers
ALLOW_ADMIN_SQL_WRITE=1. Schema-destructive statements are blocked outright.Start both apps, sign in as admin@danube.demo and explore the live MySQL data.