https://github.com/ballerine-io/ballerine
Skip to content Toggle navigation
Sign up
* Product
+
Actions
Automate any workflow
+
Packages
Host and manage packages
+
Security
Find and fix vulnerabilities
+
Codespaces
Instant dev environments
+
Copilot
Write better code with AI
+
Code review
Manage code changes
+
Issues
Plan and track work
+
Discussions
Collaborate outside of code
+ Explore
+ All features
+ Documentation
+ GitHub Skills
+ Blog
* Solutions
+ By Plan
+ Enterprise
+ Teams
+ Compare all
+ By Solution
+ CI/CD & Automation
+ DevOps
+ DevSecOps
+ Case Studies
+ Customer Stories
+ Resources
* Open Source
+
GitHub Sponsors
Fund open source developers
+
The ReadME Project
GitHub community articles
+ Repositories
+ Topics
+ Trending
+ Collections
* Pricing
[ ]
*
#
In this repository All GitHub |
Jump to |
* No suggested jump to results
*
#
In this repository All GitHub |
Jump to |
*
#
In this organization All GitHub |
Jump to |
*
#
In this repository All GitHub |
Jump to |
Sign in
Sign up
{{ message }}
ballerine-io / ballerine Public
* Notifications
* Fork 1
* Star 236
Ballerine is an open-source infrastructure for user identity and risk
management
License
Apache-2.0 license
236 stars 1 fork
Star
Notifications
* Code
* Issues 3
* Pull requests 1
* Discussions
* Actions
* Projects 0
* Wiki
* Security
* Insights
More
* Code
* Issues
* Pull requests
* Discussions
* Actions
* Projects
* Wiki
* Security
* Insights
ballerine-io/ballerine
This commit does not belong to any branch on this repository, and may
belong to a fork outside of the repository.
main
Switch branches/tags
[ ]
Branches Tags
Could not load branches
Nothing to show
{{ refName }} default View all branches
Could not load tags
Nothing to show
{{ refName }} default
View all tags
Name already in use
A tag already exists with the provided branch name. Many Git commands
accept both tag and branch names, so creating this branch may cause
unexpected behavior. Are you sure you want to create this branch?
Cancel Create
36 branches 9 tags
Code
*
Clone
HTTPS GitHub CLI
[https://github.com/b]
Use Git or checkout with SVN using the web URL.
[gh repo clone baller]
Work fast with our official CLI. Learn more.
* Open with GitHub Desktop
* Download ZIP
Launching GitHub Desktop
If nothing happens, download GitHub Desktop and try again.
Launching GitHub Desktop
If nothing happens, download GitHub Desktop and try again.
Launching Xcode
If nothing happens, download Xcode and try again.
Launching Visual Studio Code
Your codespace will open once ready.
There was a problem preparing your codespace, please try again.
Latest commit
@alonp99
alonp99 fix(release): bug fixes
...
d825f1f Oct 30, 2022
fix(release): bug fixes
d825f1f
Git stats
* 85 commits
Files
Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
.changeset
chore: release package(s) (#30)
Oct 27, 2022
.github
WIP - GitHub Actions CI (#21)
Oct 27, 2022
.husky
WIP - Commitlint, Editorconfig, ESLint, Prettier with NX (#7)
Oct 27, 2022
apps
Migrating web-sdk to monorepo
Oct 26, 2022
community
add projects to oss monorepo
Oct 3, 2022
packages
WIP - Commitlint, Editorconfig, ESLint, Prettier with NX (#7)
Oct 27, 2022
sdks
fix(release): bug fixes
Oct 30, 2022
services
Migrating web-sdk to monorepo
Oct 26, 2022
.czrc
WIP - Commitlint, Editorconfig, ESLint, Prettier with NX (#7)
Oct 27, 2022
.editorconfig
WIP - Commitlint, Editorconfig, ESLint, Prettier with NX (#7)
Oct 27, 2022
.gitignore
add projects to oss monorepo
Oct 3, 2022
.gitmodules
Migrating web-sdk to monorepo
Oct 26, 2022
.npmrc
CI .npmrc temporary CI setting (#25)
Oct 27, 2022
.prettierrc.cjs
WIP - Commitlint, Editorconfig, ESLint, Prettier with NX (#7)
Oct 27, 2022
.vscode
add projects to oss monorepo
Oct 3, 2022
CODE_OF_CONDUCT.md
Create CODE_OF_CONDUCT.md
Oct 4, 2022
CONTRIBUTING.md
add projects to oss monorepo
Oct 3, 2022
LICENSE
Create LICENSE
Oct 4, 2022
README.md
fix(ui): overlay fix, kyb fixes (#44)
Oct 30, 2022
commitlint.config.cjs
WIP - Commitlint, Editorconfig, ESLint, Prettier with NX (#7)
Oct 27, 2022
nx.json
WIP - Commitlint, Editorconfig, ESLint, Prettier with NX (#7)
Oct 27, 2022
package.json
Release26 (#34)
Oct 28, 2022
pnpm-lock.yaml
CI .npmrc temporary CI setting (#25)
Oct 27, 2022
pnpm-workspace.yaml
Migrating web-sdk to monorepo
Oct 26, 2022
View code
[ ]
Open-source Infrastructure for User Identity and Risk Management
Description What can you find in this project? Why Open Source KYC/
KYB & Risk stack? Table of Contents SDK UI Flows Description Case
management (soon Open Source) Description Workflow builder & Rule
engine (WIP) Description Getting Started with SDK's Flows
Installation Flows API Embedded Flows Standalone/Iframe Flows Native
Mobile apps Customization Flows Configuration FlowsCallbacksConfig:
UI Configuration Translations Backend Configuration Roadmap General
Onboarding Suite (KYC/KYB/General Document Collection) Risk Suite Get
to know when we release more parts
README.md
Ballerine's website
Open-source Infrastructure for User Identity and Risk Management
Description
Ballerine helps any company verify its customers' identity while
providing an amazing user experience by composing verification
processes for any vertical and geography using modular building
blocks, components, and 3rd party integrations.
What can you find in this project?
* KYC/KYB flows and UI in Mobile & web SDK - Open Source! - See
the code | Live demos | Docs
* Case management dashboard for users approval/rejection - Final
stages of Open Sourcing!
* Identity & risk vendors orchestration - [?] Almost done
* No-code rule engine to control Frontend and backend flows - WIP
See Detailed Roadmap
Join our mailing list to you know whenever we release something (like
liveliness or the case management back office).
Ballerine's Early Access
---------------------------------------------------------------------
Why Open Source KYC/KYB & Risk stack?
The goal is to allow any company to manage user identity and risk in
a way that suits them and their unique changing needs. Main Open
Source benefits:
* Future proof - modular and extendable building blocks.
* Global - Multiple vendors accessible in one UI and case
management dashboard.
* White label - Customizable UX and UI.
* Community - Use what others have built, contribute yourself, and
leverage community maintenance.
See some examples of what you can do with it
* Use different vendors for different audiences - all modules are
100% vendor agnostic.
* Create your own low-cost KYC with AWS Rekognition, Google vision,
and other ML tools.
* Collect documents in a KYB flow.
* Implement and modify a case management for user approval/
rejection.
* And more.
If you currently don't have a commercial agreement with KYC vendors,
you can use some of the vendors we already integrated with (Identity
verification, AML check, etc.), to quickly start processing user's
KYC requests. To do so please contacs us at oss@ballerine.io.
---------------------------------------------------------------------
Table of Contents
* SDK UI Flows
* Case management (soon Open Source)
* Workflow builder & Rule engine (WIP)
* Getting Started with SDK's Flows
+ Installation
+ Flows API
+ Embedded Flows
+ Standalone/IFrame Flows
+ Native Mobile apps
o Customization
* Roadmap
SDK UI Flows
Description
With Ballerine's Web & Mobile SDK Flows you can generate custom-made,
branded flows to collect KYC/KYB documents and user information. The
SDK UI is embeddable inside existing apps or deployed as a web app.
[6874747073]
Web SDK Benefits:
* Pre-made KYC/KYB Templates and UI Packs.
* Customizable UI and flow to fit your desired experience and
brand.
* Vendor agnostic, use different vendors in the backend.
* Multi-platform support (Desktop, mobile web, mobile native).
* Edges cases and long-tail devices covered and tested.
* Lightweight and performant, built with Svelte (less than 50kb
gzipped).
Live demos: KYC 1, KYC 2, KYB
Playground: jsfiddle
Getting started Click here
[Note - No data is captured and sent anywhere when using the camera
in the examples]
---------------------------------------------------------------------
Some examples of what you can do with it
* Create a custom flow you can use with any identity verification
vendor.
* Create a custom flow that your customers can receive in an SMS.
* Create different types of flows for different types of customers.
* And more...
Case management (soon Open Source)
Description
Give your operating team Ballerine's case management dashboard so
they can approve or reject users, initiate workflows for document
re-upload or escalate cases to others in the company.
* A case management dashboard to approve, reject or classify users
manually.
* Create workflows operators can trigger from the interface.
* Optimize manual work by customizing the layouts and information
presented.
* Use as a standalone tool or embed in your existing dashboard.
We are working on releasing our case management dashboard as
Open-Source. Join our mailing list in the button below to get an
update once it's out.
Ballerine's Early Access
[6874747073]
---------------------------------------------------------------------
Workflow builder & Rule engine (WIP)
Description
Customize your identity and risk workflows in code or with a low-code
platform non-technical staff can play with.
* Test out different vendors to optimize conversion and costs.
* Utilize data sources and tools contributed by Ballerine or the
community.
* Visualize complex flows to provide observability of how things
work to the rest of the company.
Our rule engine is still in development. Join our mailing list in
the button below to get an update once it's out.
Ballerine's Early Access
[6874747073]
Getting Started with SDK's Flows
Installation
[INS:CDN::INS]
Add this code to your index.html header
[INS:Package Managers::INS]
# NPM
npm install --save @ballerine/web-sdk
# Yarn
yarn add @ballerine/web-sdk
# PNPM
pnpm add @ballerine/web-sdk
Flows API
Config Type Description
Parameter
uiConfig FlowsUIConfig Initilazing flows, preloading needed
assets and ui packs
endUserInfo EndUserInfo Use data like ID, name etc..
backendConfig FlowsBackendConfig Backend endpoint the flows should
interact with
translations FlowsTranslations Change the config after init
function
Embedded Flows
CDN: Add this code to your index.html header
// 1. Add script (see installtion)
// 2. Initialize SDK & flows (see configuration)
BallerineSDK.flows.init({...}).then(() => {
console.log('flows ready');
// 3. Mount selected flow on an element
BallerineSDK.flows.mount('my-kyc-flow', 'flow-host-element', {});
});
// 4. Listen to finish event (see events)
BallerineSDK.flows.on('finish', doSomethingFn)
example folder
Package Manager:
import { flows as ballerineFlows } from '@ballerine/web-sdk';
await ballerineFlows.init({...}).then(() => console.log('flows ready'));
// 3. Mount selected flow on an element
ballerineFlows.mount('my-kyc-flow', 'flow-host-element', {});
// 4. Listen to finish event (see events)
ballerineFlows.on('finish', doSomethingFn)
example folder
Standalone/Iframe Flows
Code example:
Native Mobile apps
All of the native functionalities happen inside Ballerine's native
SDKs (Android & iOS Cameras, Sim checks, Fraud checks) while the
representation layer is still a web app (inside a native webview).
This way we can enjoy both worlds:
* Web UI: Flexible UI that can be changed instantly from the server
(no app deployments or store submissions).
* Native APIs: Native camera, deep behavioral analysis, ekyc and
more...
See Android and iOS repositories for guidance:
Android SDK | iOS SDK
---------------------------------------------------------------------
Customization
Customize the UI, the flow's steps, and the backend.
[6874747073]
Flows Configuration
Flow Initialization:
BallerineSDK.flows.init([CONFIG])
Config Type Description
Parameter
uiConfig FlowsUIConfig Initilazing flows, preloading needed
assets and ui packs
endUserInfo EndUserInfo Use data like ID, name etc..
backendConfig FlowsBackendConfig Backend endpoint the flows should
interact with
translations FlowsTranslations Change the config after init
function
Running a flow:
BallerineSDK.flows.mount('my-flow', elementId, [CONFIG]);
// or
BallerineSDK.flows.openModal('my-flow', [CONFIG]);
Config Type Description
Parameter
callbacks FlowsCallbacksConfig An object contaning callback
methods (see below)
FlowsCallbacksConfig:
Config Parameter Type Description
onFlowComplete IFlowCompletePayload User completed
the flow
User quits the
flow (back button
onFlowExit IFlowExitPayload on the first page
or pressed close
buttons)
onFlowError IFlowErrorPayload Unexpected errors
onFlowNavigationUpdate IFlowNavigationUpdatePayload User moved
between steps
---------------------------------------------------------------------
UI Configuration
Flows UI can be configured in three levels:
1. Theme and theme styles
Config Type Description
Parameter
uiPack string - Name or UI Pack is a complete bundles of
URL styles, assets and translations
theme.general FlowsGeneralTheme General colors, paddings, fonts..
2. General components styles (overrides theme)
Config Parameter Type Description
theme.layout FlowsGeneralTheme Global layout CSS
theme.paragraph FlowsGeneralTheme Global paragraph CSS
theme.button FlowsGeneralTheme Global button CSS
... See more
3. Speceifc step component style (overrides theme & general
component style)
Config Parameter Type Description
theme.flows ICSSProperties Step includes style object and
['FlowName'].step styles for each element
... See more
As the level is lower it will override the upper ones
---------------------------------------------------------------------
Translations
Config Type Description
Parameter
remoteUrl string (URL) Get a full translation json from
remote url
overrides Record translations
---------------------------------------------------------------------
Backend Configuration
Config Parameter Type Description
baseUrl string (URL) Backend base URL
auth BEAuthConfig Auth method and Authorization header
endpoints BEEndpoints List of endpoints for each action
If you currently don't have a commercial agreement with KYC vendors,
you can use some of the vendors we already integrated with (Identity
verification, AML check, etc.), to quickly start processing user's
KYC requests. To do so please contacs us at oss@ballerine.io.
---------------------------------------------------------------------
Roadmap
Click below to tell us what we should work on next by creating
feature requests or upvoting existing one.
Ballerine - feature requests
General
* [ ] Documentation Portal
* [ ] Roadmap Community Voting System
Onboarding Suite (KYC/KYB/General Document Collection)
Please use the voting system if you think we should prioritize higher
a specific chunk
* [ ] SDKs (WIP)
+ [*] [DEL:Open sourcing Web SDK:DEL]
o [*] [DEL:UI Customization:DEL]
o [*] [DEL:Flow Customization:DEL]
o [*] [DEL:Document collection:DEL]
o [*] [DEL:Selfie:DEL]
o [*] [DEL:KYC/B Templates:DEL]
o [*] [DEL:Vendor/Backend Agnostic:DEL]
o [ ] Web liveliness step
+ [*] Open-sourcing Android SDK
o [*] [DEL:Webview Integration:DEL]
o [*] [DEL:Native Camera Option:DEL]
o [ ] Native liveliness (WIP)
+ [ ] Open sourcing iOS SDK (WIP)
o [*] [DEL:Webview Integration:DEL]
o [*] [DEL:Native Camera Option:DEL]
* [ ] Backoffice
+ [ ] Open Sourcing Case Management
o [*] User Approval Queues
o [ ] Operator Collaborations
o [*] Backend Agnostic
o [*] Vendor Agnostic
o [ ] Transaction Approval Queues
* [ ] Dashboard
+ [ ] Data pipelines (Orchestrator) (WIP)
o [ ] Plugin System
o Integrations
# [*] Veriff
# [*] AWS Rekognition
@ [*] Face Match API
@ [*] Document Classification
# [ ] Google Vision
@ [ ] Document Classification
@ [*] Vision OCR
+ [ ] No-Code Flow Builder
Risk Suite
Please use the voting system if you think we should prioritize higher
a specific chunk
* [ ] SDKs (WIP)
+ [*] [DEL:Open sourcing Web SDK:DEL]
o [ ] Behavior data for fraud detection (WIP)
o [ ] Risk-Based KYC/Step-up KYC Templates (WIP)
+ [*] Open-sourcing Android SDK
o [ ] Behavior data for fraud detection (WIP)
+ [ ] Open sourcing iOS SDK (WIP)
o [*] [DEL:Webview Integration:DEL]
o [*] [DEL:Native Camera Option:DEL]
* [ ] Backoffice
+ [ ] Open Sourcing Case Management
o [ ] Operator Collaborations
o [ ] Transaction Approval Queues
* [ ] Dashboard
+ [ ] Data pipelines (Orchestrator) (WIP)
o Integrations
# [ ] AWS
@ Fraud Detection
- [ ] Account Take Over
+ [ ] Rule/Risk Engine (WIP)
Get to know when we release more parts
Leave us your email on our mailing list and we'll let you know
whenever we release a feature or improvement (like liveliness on the
camera or the case management back office).
Ballerine's Early Access
Or join our community channels:
Ballerine's Discord Channel
Ballerine's Slack Channel
---------------------------------------------------------------------
As you can see, most apps and packages are still private git
submodules. We are working on migrating them to this monorepo.
If you already want to start using them or want to get involved -
reach out to us at oss@ballerine.io.
About
Ballerine is an open-source infrastructure for user identity and risk
management
Resources
Readme
License
Apache-2.0 license
Code of conduct
Code of conduct
Stars
236 stars
Watchers
6 watching
Forks
1 fork
Releases 9
@ballerine/web-sdk@1.1.31 Latest
Oct 30, 2022
+ 8 releases
Packages 0
No packages published
Contributors 6
* @alonp99
* @Omri-Levy
* @nitzanballerine
* @sFiFty
* @github-actions[bot]
* @dependabot[bot]
Languages
* Svelte 50.6%
* TypeScript 45.1%
* HTML 2.7%
* JavaScript 1.5%
* Shell 0.1%
Footer
(c) 2022 GitHub, Inc.
Footer navigation
* Terms
* Privacy
* Security
* Status
* Docs
* Contact GitHub
* Pricing
* API
* Training
* Blog
* About
You can't perform that action at this time.
You signed in with another tab or window. Reload to refresh your
session. You signed out in another tab or window. Reload to refresh
your session.