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:
- Document Collection Flow:
- KYB: http://localhost:5201/
- KYC: http://localhost:5202
- Back Office: http://localhost:5137/ (It's recommended to position both tabs side-by-side)
Note: If the tabs don't open automatically, use the links above.
-
Access the Back Office
- Sign in using:
Email: [email protected] Password: admin
- Navigate to "KYB with UBOs" under the business menu to view ongoing cases
- Sign in using:
-
Complete the Collection Flow
- Fill out all required fields in each step
- The Back Office case will update as you progress
-
Review & Process
- Once complete, the case status changes to "manual review"
- Assign the case to yourself
- Choose to: Approve, Reject, or Request Resubmission
-
Document Resubmission
- Request a document resubmission
- Return to collection flow to upload new document
- Check Back Office for 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.