Ballerine

Open-Source Rules & Workflow Engine for User Identity and Risk Decisioning

Stars
1.82K
Forks
145
Open issues
42
Closed issues
389
Last release
4 months ago
Last commit
4 months ago
Watchers
1.82K
Total releases
308
Total commits
1.15K
Open PRs
11
Closed PRs
883
Repo URL
Platform
License
apache-2.0
Category
Usecase
KYC
Offers premium version?
NO
Proprietary?
NO
About

Open-Source Infrastructure for User Risk Decisioning

Slack · Website · Contact · Issues

Ballerine is an open-source user risk decisioning infrastructure that helps companies automate their decisions for customer and business 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.



Our vision for this project

Watch a brief video explaining what we're building.

Watch now


Features

View each component's current state in the roadmap below.

Released - 🎉

  • Back office - Case management dashboard for manual decision-making.

  • Workflow engine - Orchestrates and automates the different system's parts.

In Development/testing - 🔨

  • Plugin system - Integrates with 3rd-party vendors, APIs, and data sources.

  • Rule engine - Leverage various rule types to ensure user compliance with your risk policy.

Planned on roadmap - 📌

  • Frontend headless SDK- Real-time modification of KYC/KYB frontend user journeys.

Community driven building blocks - 🌍

  • User flows UX/UI - KYC/KYB/Document collection flows and UI via mobile & web SDK.

Why Open Source?

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.

Explore What You Can Do With Ballerine

  • 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.

Try Ballerine Now

In the following example you can test a simple form of the following infrastructure capabilities

  1. Document collection flow controlled by our Headless SDK.
  2. A manual review case management Back Office.
  3. Live communication between the parts using a Workflow Engine, that also defines the process steps.
  4. 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:

Demo example video

Watch a video of how the demo works, with explanations: Watch now




Getting started

To set up a local environment, follow these steps:

  1. Install prerequisites:
  2. Clone and install the project:
    1. Clone the project:

    git clone https://github.com/ballerine-io/ballerine.git

    1. Install npm depenencies:

    pnpm install

    1. Initilazie monorepo:

    pnpm monorepo:init
  3. Run the example
    pnpm kyc-manual-review-example

Once the process is complete, 2 tabs will open in your browser:

  1. http://localhost:5173/ - for the document collection flow
  2. http://localhost:5137/ - for the backffice (It's recommended to have them positioned side-by-side).

KYB Manual Review Workflow:

The following command will run the workflow's backend (workflow service API), the backoffice, and UI example using the headless web SDK:

pnpm kyb-manual-review-example

If the tabs have not opened automatically, please use the links provided above.

Steps to go over the flow:

  1. On the KYC UI, click the "Start KYC" button
  2. Go through and complete the flow
  3. Go to the backoffice tab to review the new user that was created
  4. Approve/reject/ask to revision
  5. Get back to the KYC UI to see the result

*Note: some components are currently in beta, if you run into an issue please ping us on Slack

To start using the paid version or if you need any assistance, reach out to us at oss@ballerine.com. Join our Discord Channel and Slack Channel to stay updated and engage with our community.

Contributing

We appreciate all types of contributions and believe that an active community is the secret to a rich and stable oriduct. Here are some of the ways you can contribute:

Roadmap High level roadmap Back office

  • View, approve, rejece pr ask for re-submittion
    • individuals
    • businesses (multiple documents and individuals)
    • Custom documents/information
    • Transactions

  • Process managment

    • Collect audit logs
    • Assign/re-assign agents
    • Decision results and reasons webhooks
    • Analytics
    • Enforce policy rules on approval
    • Show a case's acceptance criteria

Plugin system

  • Trigger a plugin using a workflow
  • Create your own custom plugin API
  • Fetch information and pass to other parts
  • Unified schema
  • Plugins
    • Identity verification providers
    • Business website's context
    • AI multilingual names matching
    • Business data repositories
    • Sanctions screening
    • Fraud check

Workflow engine

  • Orchestrate all parts of the flow
  • Visualize a workflow (using XState)
  • No code/Low code rules managmgnet UI for non technical team members
  • A/B test different vendors/rules/flows

Rule engine

  • Rule-sets in workflows
  • Simple rule types ("if this than that" rules)
  • Advance rule types (Matrix, tables, etc.)
  • JSON configuration ability
  • No code/Low code rules managmgnet UI for non technical team members

Frontend headless SDK

  • Get KYC/KYB steps from workflow
  • Change steps dynamically during a flow
  • Load vendor SDK

User flows UX/UI

  • Mobile and desktop webview flow
  • Collect images
  • Collect selfies
  • Liveliness
  • Forms
  • Re-submission flows ...

We will soon release our full long-term roadmap to the public. Follow this project to stay informed about when we provide updates.

Contact Ballerine

To start using the paid version or if you need any assistance, reach out to us at oss@ballerine.com. Join our Discord Channel and Slack Channel to stay updated and engage with our community.

Alternative Projects
No projects found

Subscribe to Open Source Businees Newsletter

Twice a month we will interview people behind open source businesses. We will talk about how they are building a business on top of open source projects.

We'll never share your email with anyone else.