-
Notifications
You must be signed in to change notification settings - Fork 201
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Create system_overview.md #2554
base: dev
Are you sure you want to change the base?
Changes from 20 commits
c6c026a
804d2e5
f63c870
880e180
14a04a9
931b683
b5dcec3
5884af0
42bf8c5
ccba781
1ad8fd3
da1d3b5
4de4bff
75b4ae0
abb4b26
87321fa
4df649f
d3ccd71
543235c
6f51432
538f612
452d433
308fe36
45056d9
3afb051
4918646
96464d8
d3821bb
016bb84
a8a36bc
f6ac385
b56592d
4d4faea
992ca90
a83dba8
e600b15
0ded653
580363a
8c7016c
68e32a0
9e2f715
8f7c2a0
346ff1b
5b51279
49137b7
d4f8923
a489018
a488ef6
e131e8d
4726c0c
3c20d0d
e3b2e8e
8f85c78
989e4dc
c2e3746
cdc4671
7180bbd
bf1e129
464500b
51f4515
09e19d3
fd358f2
478484b
eecb3db
73b9231
e61945d
1cbbafa
ebe10e8
2e933a5
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change | ||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
@@ -0,0 +1,106 @@ | ||||||||||||||||||||||||||||||
# System Overview | ||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||
Ballerine is a risk management platform for performing all types of risk flows and processes. To do so, Ballerine provides the risk modules needed to build custom risk flows. You can use all modules, combinations of some modules, or just one module to perform a desired risk process. | ||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||
For example: | ||||||||||||||||||||||||||||||
- **Build a full KYB flow** using data collection flow, 3rd party vendors, risk rules, and the case management. | ||||||||||||||||||||||||||||||
- **Build a simple KYC** using 3rd party vendors, risk rules, and the case management. | ||||||||||||||||||||||||||||||
- **Build a simple digital form** using data collection flow. | ||||||||||||||||||||||||||||||
- **Manually review documents** using the case management. | ||||||||||||||||||||||||||||||
- Etc. | ||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||
### Example flow using Ballerine's modules | ||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||
<img title="Example workflow" alt="Example workflow" src="https://uploads-ssl.webflow.com/62a3bad46800eb4715b2faf1/669ea9cfe853bf03be6dcbc3_Workflow%20example.png"> | ||||||||||||||||||||||||||||||
Comment on lines
+16
to
+18
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Fix heading level. The heading level should be adjusted to increment by one level at a time. - ### Example flow using Ballerine's modules
+ ## Example flow using Ballerine's modules Committable suggestion
Suggested change
ToolsMarkdownlint
|
||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||
## Workflows | ||||||||||||||||||||||||||||||
A workflow is the engine that orchestrates the different steps of a risk flow, and how they should interact with each other. | ||||||||||||||||||||||||||||||
Every workflow is a definition of a flow, made out of Ballerine's different modules. | ||||||||||||||||||||||||||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Fix wordiness. The phrase "made out of" is wordy. Consider using "composed of" instead. - made out of Ballerine's different modules.
+ composed of Ballerine's different modules. Committable suggestion
Suggested change
ToolsLanguageTool
Comment on lines
+22
to
+24
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Fix wordiness. The phrase "made out of" is wordy. Consider using "composed of" instead. - made out of Ballerine's different modules.
+ composed of Ballerine's different modules. Committable suggestion
Suggested change
ToolsLanguageTool
|
||||||||||||||||||||||||||||||
Whenever a risk flow ("Customer Onboarding" for example) starts, the workflow that is assigned to that risk flow initiates and controls which module should be in use and when. | ||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||
**Learn more about workflows** | ||||||||||||||||||||||||||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Use heading instead of emphasis. Emphasis is used instead of a heading. Consider using a proper heading. - **Learn more about workflows**
+ ### Learn more about workflows Committable suggestion
Suggested change
ToolsMarkdownlint
Comment on lines
+22
to
+27
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Fix wordiness and use heading instead of emphasis. The phrase "made out of" is wordy. Consider using "composed of" instead. Also, emphasis is used instead of a heading. - made out of Ballerine's different modules.
+ composed of Ballerine's different modules.
- **Learn more about workflows**
+ ### Learn more about workflows Committable suggestion
Suggested change
ToolsLanguageTool
Markdownlint
|
||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||
[Understanding workflows technology](websites/docs/src/content/docs/en/learn/workflows_technology.md) | ||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||
[Creating a workflow](websites/docs/src/content/docs/en/learn/creating_a_workflow.md) | ||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||
[Configuring workflow steps](websites/docs/src/content/docs/en/learn/configuring_workflow_steps.md) | ||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||
## Collection Flows | ||||||||||||||||||||||||||||||
Ballerine's collection flow module enables you to collect information and documents from you end users, using customizable, white-label digital forms. | ||||||||||||||||||||||||||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Fix grammatical error. "you end users" should be "your end users". - collect information and documents from you end users, using customizable, white-label digital forms.
+ collect information and documents from your end users, using customizable, white-label digital forms. Committable suggestion
Suggested change
ToolsLanguageTool
|
||||||||||||||||||||||||||||||
All of the steps and inputs are fully customizable, to enable building different types of flows. | ||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||
**Learn more about collection flows** | ||||||||||||||||||||||||||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Use heading instead of emphasis. Emphasis is used instead of a heading. Consider using a proper heading. - **Learn more about collection flows**
+ ### Learn more about collection flows Committable suggestion
Suggested change
ToolsMarkdownlint
|
||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||
Comment on lines
+38
to
+43
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Fix grammatical error and use heading instead of emphasis. "you end users" should be "your end users". Also, emphasis is used instead of a heading. - collect information and documents from you end users, using customizable, white-label digital forms.
+ collect information and documents from your end users, using customizable, white-label digital forms.
- **Learn more about collection flows**
+ ### Learn more about collection flows Committable suggestion
Suggested change
ToolsLanguageTool
Markdownlint
|
||||||||||||||||||||||||||||||
[Creating a collection flow](websites/docs/src/content/docs/en/learn/creating_a_collection_flow) | ||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||
[Configuring a collection flow](websites/docs/src/content/docs/en/learn/configuring_a_collection_flow.md) | ||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||
[Changing the collection flow design](websites/docs/src/content/docs/en/learn/changing the_collection_flow_design.md) | ||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||
<img title="Collection Flow" alt="Collection Flow" src="https://uploads-ssl.webflow.com/62a3bad46800eb4715b2faf1/669eacfd54f5c71e9c9edb85_Collection%20flow%20example.png"> | ||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||
## Rules Engine | ||||||||||||||||||||||||||||||
The Rules Engine applies risk rules to assign risk scores, present risk indicators, and automate decisions within workflows. It encompasses transition rules, risk calculation, and alerting mechanisms. | ||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||
**Learn more about the rule engine** | ||||||||||||||||||||||||||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Use heading instead of emphasis. Emphasis is used instead of a heading. Consider using a proper heading. - **Learn more about the rule engine**
+ ### Learn more about the rule engine Committable suggestion
Suggested change
ToolsMarkdownlint
Comment on lines
+54
to
+57
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Use heading instead of emphasis. Emphasis is used instead of a heading. Consider using a proper heading. - **Learn more about the rule engine**
+ ### Learn more about the rule engine Committable suggestion
Suggested change
ToolsMarkdownlint
|
||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||
[Adding rules step to the workflow](websites/docs/src/content/docs/en/learn/adding rules_step_to_the_workflow.md) | ||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||
[Adding/configuring a rule](websites/docs/src/content/docs/en/learn/adding_or_configuring_a_rule.md) | ||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||
[Making a rule affect a workflow state](websites/docs/src/content/docs/en/learn/making_a_rule_affect_a_workflow_state.md) | ||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||
## Case Managment | ||||||||||||||||||||||||||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Fix typo in heading. "Managment" should be "Management". - ## Case Managment
+ ## Case Management Committable suggestion
Suggested change
|
||||||||||||||||||||||||||||||
The Case Management module provides a user interface for manual decision-making processes, such as approving, rejecting, or requesting re-submission of cases. It offers customizable layouts and information presentation, allowing users to efficiently handle and review cases. | ||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||
**Learn more about case management** | ||||||||||||||||||||||||||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Use heading instead of emphasis. Emphasis is used instead of a heading. Consider using a proper heading. - **Learn more about case management**
+ ### Learn more about case management Committable suggestion
Suggested change
ToolsMarkdownlint
Comment on lines
+63
to
+66
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Fix typo in heading and use heading instead of emphasis. "Managment" should be "Management". Also, emphasis is used instead of a heading. - ## Case Managment
+ ## Case Management
- **Learn more about case management**
+ ### Learn more about case management Committable suggestion
Suggested change
ToolsMarkdownlint
|
||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||
[Overview of case management](websites/docs/src/content/docs/en/learn/overview_of_case_management.md) | ||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||
[Using the case management dashboard](websites/docs/src/content/docs/en/learn/using_the_case_management_dashboard.md) | ||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||
[Customizing case management workflows](websites/docs/src/content/docs/en/learn/customizing_case_management_workflows.md) | ||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||
<img title="Case Management" alt="Case Management" src="https://uploads-ssl.webflow.com/62a3bad46800eb4715b2faf1/669eb373c7708310d2b4ac61_Case%20managment%20example.png"> | ||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||
## Unified API | ||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||
Ballerine's unified API is integrated with third-party vendors, APIs, and data sources to enhance functionality and capabilities. | ||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||
**Learn more about the unified API** | ||||||||||||||||||||||||||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Use heading instead of emphasis. Emphasis is used instead of a heading. Consider using a proper heading. - **Learn more about the unified API**
+ ### Learn more about the unified API Committable suggestion
Suggested change
ToolsMarkdownlint
|
||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||
[Adding a 3rd Party check to a workflow]() | ||||||||||||||||||||||||||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Fix empty link. Empty link should be populated with the correct URL or removed. - [Adding a 3rd Party check to a workflow]()
+ [Adding a 3rd Party check to a workflow](URL) Committable suggestion
Suggested change
ToolsMarkdownlint
|
||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||
## Child Workflows | ||||||||||||||||||||||||||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Fix duplicated phrase. "Child Workflows" is repeated. Use it only once. - ## Child Workflows
- Child workflows allow for the generation and activation of extra side workflows (for example: generating multiple KYC flows for the UBOs provided mid-flow, or an extra KYB process for a parent company) and enable complex, nested processes within the main workflows.
+ ## Child Workflows
+ Child workflows allow for the generation and activation of extra side workflows (for example: generating multiple KYC flows for the UBOs provided mid-flow, or an extra KYB process for a parent company) and enable complex, nested processes within the main workflows.
ToolsLanguageTool
|
||||||||||||||||||||||||||||||
Child workflows allow for the generation and activation of extra side workflows (for example: generating multiple KYC flows for the UBOs provided mid-flow, or an extra KYB process for a parent company) and enable complex, nested processes within the main workflows. | ||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||
**Learn more about child workflows** | ||||||||||||||||||||||||||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Use heading instead of emphasis. Emphasis is used instead of a heading. Consider using a proper heading. - **Learn more about child workflows**
+ ### Learn more about child workflows Committable suggestion
Suggested change
ToolsMarkdownlint
|
||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||
[Adding a child workflow to your workflow](websites/docs/src/content/docs/en/learn/adding_a_3rd_party_check_to_a_workflow.md) | ||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||
## Plugins | ||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||
Ballerine's plugins enables deep integration with your existing systems, allowing for functionalities such as triggering flows through your CRM, integrating with pre-existing vendors, and displaying their information within Ballerine's platform. | ||||||||||||||||||||||||||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Fix grammatical error. "Ballerine's plugins enables deep integration" should be "Ballerine's plugins enable deep integration". - Ballerine's plugins enables deep integration with your existing systems, allowing for functionalities such as triggering flows through your CRM, integrating with pre-existing vendors, and displaying their information within Ballerine's platform.
+ Ballerine's plugins enable deep integration with your existing systems, allowing for functionalities such as triggering flows through your CRM, integrating with pre-existing vendors, and displaying their information within Ballerine's platform. Committable suggestion
Suggested change
|
||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||
**Learn more about plugins** | ||||||||||||||||||||||||||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Use heading instead of emphasis. Emphasis is used instead of a heading. Consider using a proper heading. - **Learn more about plugins**
+ ### Learn more about plugins Committable suggestion
Suggested change
ToolsMarkdownlint
|
||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||
[Adding a plugin to your workflow](websites/docs/src/content/docs/en/learn/adding_a_plugin_to_your_workflow.md) | ||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||
## Webhooks | ||||||||||||||||||||||||||||||
Webhooks in Ballerine allow for real-time communication and integration with external systems. They enable the system to send automated messages or information to other systems as events occur within Ballerine. | ||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||
**Learn more about webhooks** | ||||||||||||||||||||||||||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Use heading instead of emphasis. Emphasis is used instead of a heading. Consider using a proper heading. - **Learn more about webhooks**
+ ### Learn more about webhooks Committable suggestion
Suggested change
ToolsMarkdownlint
|
||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||
[How to use webhooks](websites/docs/src/content/docs/en/learn/how_to_use_webhooks.md) | ||||||||||||||||||||||||||||||
|
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
# Adding rules step to the workflow |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
# Adding a 3rd Party check to a workflow |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
# Adding a child workflow to your workflow |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
# Adding a plugin to your workflow |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
# Adding/configuring a rule |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
# Changing the collection flow design |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
# Configuring a collection flow |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
# Configuring workflow steps |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
# Creating a collection flow |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,2 @@ | ||
# Creating a workflow | ||
|
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
# Customizing case management workflows |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
# How to use webhooks |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
# Making a rule affect a workflow state |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
# Overview of case management |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
# Using the case management dashboard |
Original file line number | Diff line number | Diff line change | ||||
---|---|---|---|---|---|---|
@@ -0,0 +1,9 @@ | ||||||
# Understanding workflows technology | ||||||
|
||||||
Workflows in our system are built on top of state machines, specifically using the [XState library](https://xstate.js.org/docs/). These workflows orchestrate flows within the system, both on the backend and frontend. They are designed with an integrated plugin system, customizable templates, and durable executions. | ||||||
|
||||||
### Why state machines? | ||||||
|
||||||
In our system, workflows are defined using a State Machine model, specifically statecharts, which is implemented using the [XState library](https://xstate.js.org/docs/). In the realm of state machines, a system can be in only one state at a time. From that state, certain actions or events can lead the system to transition to other states. | ||||||
|
||||||
Statecharts allow the definition of complex behavior using states, sub-states, and transitions between states. It's a robust way to manage and visualize the different stages of a process and the conditions that lead to state changes. | ||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Fix the misspelling of "sub-states". The word "sub-states" should be spelled as one word. - Statecharts allow the definition of complex behavior using states, sub-states, and transitions between states. It's a robust way to manage and visualize the different stages of a process and the conditions that lead to state changes.
+ Statecharts allow the definition of complex behavior using states, substates, and transitions between states. It's a robust way to manage and visualize the different stages of a process and the conditions that lead to state changes. Committable suggestion
Suggested change
ToolsLanguageTool
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Fix heading level.
Expected: h2; Actual: h3. Heading levels should only increment by one level at a time.
Committable suggestion
Tools
Markdownlint