Ballerine is an Open-Source Risk Management Infrastructure that helps global payment companies, marketplaces and Fintechs to automate their decisions for merchant, sellers and users throughout the customer lifecycle. From account-opening (KYC, KYB), underwriting, and transaction monitoring, using a flexible rules & workflow engine, 3rd party plugin system, manual review back office, and document & information collection frontend flows.
- Back Office - Case management dashboard for manual decision-making.
- Workflow Engine - Orchestrates and automates the different system's parts.
- KYB Collection Flow - Real-time modification of KYC/KYB frontend user journeys.
- Rule Engine - Leverage various rule types to ensure user compliance with your risk policy.
- Plugin System - Integrates with 3rd-party vendors, APIs, and databases. see plugins.
- No-Code Builder - Leverage various rule types to ensure user compliance with your risk policy - 🚧 WIP.
We believe in enabling companies to manage user identity and risk according to their unique and evolving requirements. Ballerine empowers you to create decisioning processes that are right for you. It is flexible, future-proof, easy to implement, secure, and supported by a robust community.
- Dynamic Experience: Adaptive user journeys that modify in real-time based on the user's risk.
- Data Ownership: Self-host on-premise to keep sensitive data within your infrastructure.
- Global Orchestration: Add/change vendors and data sources to cater to users from multiple countries.
- Cost Reduction: Retain control over vendor relationships, costs, and communication.
- And More.
In the following example you can test a simple form of the following infrastructure capabilities
- Document collection flow.
- A manual review case management Back Office.
- Live communication between the parts using a Workflow Engine, that also defines the process steps.
- A simple JSON containing Risk Rules that are checked during the flow.
Parts of the system you might look for but are not in THIS demo:
- Our Rule Engine is still under construction and will soon be released.
Getting started To set up a local environment, follow these steps:
-
- Node.js (Install NVM, then install node "nvm install --lts")
- Latest PNPM version (Install PNPM)
- Docker and docker compose (Docker, Docker Compose)
-
Clone the project:
git clone https://github.com/ballerine-io/ballerine.git
- Install npm dependencies:
pnpm install
- Initialize monorepo:
pnpm monorepo:init
-
- KYB
pnpm kyb-manual-review-example
- KYC
pnpm kyc-manual-review-example
Once the process is complete, 2 tabs will open in your browser:
-
http://localhost:5201/ - for the KYB document collection flow OR http://localhost:5202 - for the KYC document collection flow
-
http://localhost:5137/ - for the backoffice (See username/password below, It's recommended to have them positioned side-by-side).
If the required tabs have not opened automatically, please use the links we have provided above.
Steps to go over the flow:
-
Go to the Backoffice tab to review the new user that was created 1.1. Sign-in with the following credentials:
- Email:
[email protected]
- Password:
admin
1.2. Under the business menu, choose "KYB with UBOs" to view the list of cases currently undergoing.
- Email:
-
On the Collection flow, fill in the required fields on each step.
-
Go through and complete the flow. As you go through the collection flow, you should see the progress in the Backoffice case.
-
Once the collection flow is finished, you can see the new state is "manual review," Assign the case to yourself, and then you will be able to choose to Approve, Reject, or Ask to Resubmit.
-
Ask to resubmit a document, go back to the collection flow to re-upload, then go back to the Backoffice to see the updated information.
- Note: some components are currently in beta, if you run into an issue please ping us on Slack
We appreciate all types of contributions and believe that an active community is the secret to a rich and stable product. Here are some of the ways you can contribute:
- Give us feedback in our Slack community
- Help with bugs and features on our Issues page
- Submit a feature request or bug report
To start using the paid version or if you need any assistance, reach out to us at [email protected]. Join our Discord Channel and Slack Channel to stay updated and engage with our community.