Перейти до основного вмісту
megapromotingПоговорімо

Рішення · Фінансові послуги

Запит надходить онлайн, проходить через потік ухвалення рішення, створює договір і графік платежів — і лишає слід в аудиті, бо хтось попросить його назад.

Застосунок для фінансових послуг оцінюють за тим, що відбувається на його межах: що записується в журнал, що стається, коли клієнт просить повернути свої дані, що видно з переддоговірного інформування і що відбувається, коли запланована задача не запускається. Ми будуємо механіку; кредитна політика залишається за вами.

Вже збудованоO platformă de creditare în producție, verificabilă din exterior azi: partea publică e o aplicație compilată static cu 50 de ecrane, între care patru calculatoare — credit, eligibilitate, refinanțare, grafic de plăți — pagini pe tip de credit, informare precontractuală și o rută prin care clientul își cere datele personale; partea de business e un backend modular în TypeScript cu 16 module și 18 tabele în schema de date, între care contract, plată, jurnal de audit, cerere privind datele personale, document încărcat, instantaneu zilnic de indicatori și rulare de sarcină programată. Harta de site de pe producție listează 227 de adrese, iar rutele românești și cele rusești răspund amândouă — verificate de mine pe 06.09.2026. Rezerva pe care o spunem: dovada e din cod și din răspunsurile publice, nu din comportamentul intern al serverului — nu am verificat pe ce versiune rulează producția și nici că toate cele 16 module sunt active pe live.

Кредитній компанії не потрібен сайт. Їй потрібен повний ланцюг: запит надходить онлайн, проходить через потік ухвалення рішення, створює договір, генерує графік платежів і лишає слід в аудиті. Кожна відсутня ланка в ланцюгу перетворюється на людину, яка копіює дані з одного місця в інше, а у фінансових послугах кожне ручне копіювання — це і проблема відповідності, не лише часу.

Структура, яку ми будуємо, прямо відображає це в даних. У платформі, на яку ми посилаємося, схема має 18 таблиць, і їхній список говорить більше за будь-який архітектурний опис: запит, договір, платіж, одноразовий код, сесія, запит на дзвінок, шаблон сповіщення, журнал сповіщень, щоденний знімок показників, запуск запланованої задачі, стаття, перенаправлення адреси, налаштування видимості, внутрішня нотатка, журнал аудиту, завантажений документ, запит щодо персональних даних. Backend поділено на 16 модулів, серед яких один присвячений виключно правам суб’єкта даних.

Публічна частина — не декорація: чотири калькулятори — кредит, придатність, рефінансування та графік платежів — плюс окремі сторінки за типом кредиту і переддоговірне інформування. У споживчому кредитуванні переддоговірне інформування — не іміджева сторінка: це обов’язок показати умови до того, як людина зобов’яжеться. Ми трактуємо це як вимогу продукту, а не як юридичний текст, приклеєний наприкінці. Румунські маршрути залишаються без префікса, а російські йдуть окремим сегментом, з канонічними мітками та альтернативами, згенерованими з мови активного маршруту.

І межа, яку треба сказати до договору: потік ухвалення рішень щодо запитів — правила, пороги, затвердження — за вами. Ми будуємо механіку, через яку запит рухається, документується і стає договором. Ми не пишемо кредитну політику і не беремо на себе оцінювання заявника; це юридично значущі рішення, які належать уповноваженій установі.

Що входить

Що конкретно змінюється у фінансових послугах

Запит має стан, документ і маршрут, а не лише форму

Запит надходить онлайн і живе як окрема сутність, зі видимим станом і екраном відстеження для клієнта. Завантажені документи мають свою таблицю, договір — свою, платіж — свою. Різниця від форми, яка надсилає e-mail, у тому, що через три місяці можна відповісти з даних на запитання «що сталося із запитом від 12 березня».

Договір і графік платежів, згенеровані з тих самих даних

Договір і графік не складаються вручну в окремому документі: вони виходять із даних схваленого запиту. Це єдиний варіант, за якого цифра в договорі та цифра в графіку не можуть відрізнятися, а клієнт, який телефонує з документом у руці, говорить про те саме, що й оператор, який дивиться в систему.

Чотири публічні калькулятори, включно з графіком платежів

Кредит, придатність, рефінансування і графік платежів — окремі публічні екрани без автентифікації. У споживчому кредитуванні калькулятор — це перша реальна взаємодія: людина хоче побачити платіж до того, як говорити з кимось. А рефінансування — це окремий калькулятор, не той самий, що для кредиту, не з іншими мітками.

Переддоговірне інформування як частина продукту

Власна сторінка, а не абзац у підвалі. Причина практична: якщо інформування не на тому маршруті, яким людина йде перед тим, як підписати, воно не виконує свою роботу ні для неї, ні для установи. Текст належить вам і вашим юристам; ми будуємо місце, момент і простежуваність.

Права суб’єкта персональних даних як маршрути, а не як адреса електронної пошти

Існує публічна сторінка, через яку клієнт запитує свої персональні дані, окремий модуль backend і екран адміністрування для отриманих запитів, а також таблиця, у якій вони зберігаються. Практичний наслідок: законний строк відповіді можна дотримати без того, щоб хтось відкривав базу даних вручну — і можна буде довести, через рік, що його було дотримано.

Журнал аудиту та внутрішні нотатки, окремо

Журнал аудиту — це окрема таблиця, відмінна від внутрішніх нотаток операторів. Розділення важливе під час перевірки: одне — технічний облік того, що сталося, інше — те, що колега написав про справу. Змішані, перше стає нечитабельним, а друге — документом.

Заплановані завдання мають власний журнал

Існує таблиця для запусків запланованих завдань і таблиця для щоденних знімків показників. На фінансовій платформі завдання, яке не запускалося три ночі поспіль, — серйозніша проблема, ніж упала сторінка: цього не видно зовні, але воно змінює цифри. Тому запуск записується, а не передбачається.

Двомовно, з румунськими адресами без префікса

Румунські маршрути залишаються без префікса, російські йдуть окремим сегментом, з канонічними та альтернативними мітками, згенерованими з мови активного маршруту. На карті сайту в продакшені є 227 адрес. Для кредитної компанії в Республіці Молдова російська частина — не переклад із ввічливості, а половина заявників.

Операції виконуються скриптами, а не вручну

Перевірки перед публікацією, міграції бази даних, виконані окремою командою в продакшені, генерація секретів, резервна копія та відновлення бази — усе як скрипти в репозиторії, а не як кроки в документі. У системі, що зберігає контракти та платежі, «відновлення» має бути командою, яку ви вже пробували, а не наміром.

Traseul

Як запит проходить через систему.

01

Ми записуємо правила домену до першого екрана

Що означає подана заявка, схвалена заявка, отриманий платіж; що відбувається із заявкою, на яку не відповіли; що закривається, коли зовнішній сервіс не відповідає. Ми постачаємо документ із словником та інваріантами, тому що на фінансовій платформі термін, ужитий у двох значеннях, пізніше стає двома різними цифрами в двох звітах.

02

Будуємо ядро — заявка, контракт, платіж — із журналом від самого початку

Журнал аудиту та облік документів не додаються наприкінці; вони є частиною першої версії, що працює. Ми постачаємо повний потік від заявки до контракту, з його слідом, на тестових даних — не екрани, які добре виглядають над порожньою базою.

03

Додаємо публічну частину та калькулятори, двома мовами

Публічні екрани, калькулятори, сторінки за типом кредиту та переддоговірне інформування, з румунськими адресами без префікса і російськими на окремому сегменті, з правильними канонічними мітками. Ми постачаємо карту сайту, згенеровану з даних, і перевірку, що обидві версії відповідають.

04

Налаштовуємо операційні процеси на скрипти та передаємо доступи

Перевірка перед публікацією, міграції в продакшені окремою командою, генерація секретів, резервна копія та відновлення — перевірені, а не лише записані. Ми передаємо репозиторій, документ із введення в експлуатацію та доступи. Відновлення бази демонструється під час здачі, один раз, у вашій присутності.

1Ecrane publice și calculatoare (compilate static)2backend modular cu 16 module318 tabelecerere, contract, plată, document încărcat, jurnal de audit, cerere privinddatele personale, rulare de sarcină programată. Operarea, pe scripturi:migrare, secrete, copie de siguranță, restaurare.
3 straturi

Дані

Чого торкаємося, де воно лежить і скільки лишається

Правила відрізняються від однієї галузі до іншої. Це ті, що застосовуються у фінансових послугах.

Які дані зберігає платформа кредитування
Ідентифікаційні дані, контактні дані, завантажені документи — тобто, майже завжди, копії актів — плюс договори, платежі та журнали. Це одна з найчутливіших можливих комбінацій, і наслідок у тому, що кожне рішення щодо доступу ухвалюється явно, а не неявно.
Завантажені документи мають свою таблицю
Вони не змішані з рештою: мають власну сутність, отже власний облік того, що було завантажено і коли. Це мінімальна умова, щоб видалення на вимогу було можливим — не можна видалити те, що не можна перелічити.
Запити щодо персональних даних — це таблиця, а не поштова скринька
Існує модуль backend, екран адміністрування і таблиця. Те, що ви отримуєте, — не декларативна відповідність, а можливість згодом довести: хто запросив, коли, що було відповіді, за який час.
Строки зберігання ви не обираєте самі
У фінансових послугах строки визначаються специфічним законодавством, а не уподобанням оператора. Їх встановлюють разом із вашими юристами, записують у реєстр обробок і лише потім впроваджують. Зворотний порядок створює системи, які видаляють те, що слід було зберегти, а це не виправляється.
Що ми ніколи не публікуємо про клієнта з фінансового сектору
Жодної цифри щодо обсягу, відсотка, кількості запитів чи клієнтів — навіть тих, що показані на його сайті, бо це його твердження, а не наші вимірювання. А перед сторінкою кейсу з назвою компанії ми просимо письмову згоду, навіть коли сайт уже має публічне атрибутування.

Випадок

Вісімнадцять таблиць, які кажуть, що має робити платформа кредитування

Ситуація

Початкова вимога в проєкті кредитування звучить майже завжди однаково: «сайт із формою заявки». Проблема з’являється на другому місяці, коли хтось питає, де договір, хто змінив досьє і як ми відповідаємо на запит доступу до персональних даних у встановлений законом строк.

Що ми збудували

Ми побудували платформу в двох половинах, в одному й тому самому репозиторії. Публічна частина — це статично скомпільований застосунок із 50 екранами: чотири калькулятори — кредиту, відповідності, рефінансування, графіка платежів — сторінки за типом кредиту, переддоговірна інформація, відстеження стану заявки та сторінка, через яку клієнт запитує свої персональні дані. Бізнес-частина — це модульний backend на TypeScript, із 16 модулями — серед яких автентифікація, права за ролями, потік заявок, документи, платежі, сповіщення, заплановані завдання та один, присвячений правам суб’єкта даних — поверх схеми з 18 таблицями: заявка, договір, платіж, одноразовий код, сесія, завантажений документ, журнал аудиту, запит щодо персональних даних, запуск запланованого завдання, щоденний знімок показників і решта.

Що вийшло

Ланцюг повний: заявка надходить, проходить, породжує договір і графік, а кожен крок залишає слід. Запити щодо персональних даних мають власний маршрут, з екраном адміністрування, тож законний строк можна дотримати й довести. Публічну частину можна перевірити ззовні: 227 адрес у мапі сайту, з обома живими мовними версіями.

Чого цей випадок не каже

Доказ — у коді та публічних відповідях, а не у внутрішній поведінці сервера: ми не перевіряли, на якій версії працює production, і чи всі 16 модулів активні на live. Потік ухвалення рішень щодо заявок — правила, пороги, схвалення — належить клієнту; ми побудували механіку, а не кредитну політику.

Питання

Що запитує хтось із фінансових послуг

Хто вирішує, чи схвалюється кредит?

Ви. Правила, пороги та схвалення — це політика уповноваженої установи, а не постачальника програмного забезпечення. Ми будуємо механіку, через яку заявка проходить, документується, стає договором і графіком платежів, і залишає слід. Постачальник, який бере на себе рішення щодо кредиту, продає те, на що не має права.

Що відбувається, коли клієнт просить видалити його дані?

Існує публічна сторінка, через яку він це просить, окремий backend-модуль, екран адміністрування та таблиця, у якій ця заявка живе. Тож можна відповісти в строк і потім це довести. Що не є технічним рішенням: що можна видалити і що треба зберегти відповідно до фінансового законодавства — це встановлюється з вашими юристами, до впровадження.

Договір генерується автоматично?

Із даних схваленої заявки, разом із графіком платежів — обидва з одного джерела, щоб вони не могли відрізнятися. Що залишається вашим, це зміст договору та його умови. Договір, складений вручну в окремому документі, — це класичне місце, де з’являються дві різні цифри для того самого кредиту.

Чому важлива окрема сторінка з переддоговірною інформацією?

Тому що в споживчому кредитуванні інформація має бути на шляху, яким іде людина перед тим, як зобов’язатися, а не в підвалі. Ми розглядаємо її як частину продукту: місце, момент і простежуваність — наші, текст — ваших юристів.

Скільки калькуляторів нам потрібно?

Щонайменше стільки, скільки відповідає різним рішенням. На платформі, яку ми цитуємо, їх чотири — кредит, придатність, рефінансування, графік платежів — тому що рефінансування не є тим самим обчисленням, що й новий кредит, а графік відповідає на інше запитання, ніж ставка. Один калькулятор із багатьма полями важче використовувати, ніж чотири прості.

Чи потрібен вам доступ до наших реальних даних, щоб будувати?

Ні, і це правило, а не перевага: ми будуємо й тестуємо на тестових даних. Доступ до реальних даних, коли він потрібен, надається визначеним особам, на встановлений період і з слідом у журналі. У фінансовій системі «мені треба було подивитися в продакшені» — це речення, яке має з’явитися в журналі, а не в розмові.

Що відбувається, якщо запланована задача не запускається?

Це видно, тому що виконання записуються в окрему таблицю, поряд із щоденними знімками показників. Це важливо саме тому, що задача, яка не запустилася, не дає жодного видимого зовнішнього симптому — сайт відповідає, екрани виглядають добре, але цифри більше не рухаються.

Що ви не скажете нам про роботу іншого фінансового клієнта?

Жодної цифри обсягу, ставки, кількості заявок чи клієнтів, навіть якщо вона публічно показана на його сайті — тому що це його твердження, а не наше вимірювання. Що ми можемо показати — це структуру: скільки модулів, які таблиці, які публічні екрани, що перевіряється під час публікації. Те саме правило застосовуватиметься і до вашої роботи.

Як ми знаємо, що те, що ви тут пишете, є правдою?

Публічну частину можна перевірити зараз: карта сайту має 227 адрес, а румунська та російська версії одного калькулятора обидві відповідають. Backend-частина читається з коду — модулі та схема даних — а не з поведінки сервера: ми не перевіряли, на якій версії працює продакшен, і не перевіряли, що всі модулі активні на live, і ми воліємо написати це, ніж залишити протилежне враження.

Що вам хотілося б налагодити?

Розкажіть про свій процес. Разом визначимо, що варто збудувати, що можна підключити і як перевіримо результат.

Поговорімо