How jewelhuq/kyc-kyb works
Ballerine’s sampled product surface comprises an operator case-management dashboard and an embeddable KYC/KYB flow SDK. Operators review user cases and make decisions; end users enter a configured flow, move through verification screens, and provide identity information and documents. Configuration, routing, UI packs, and event handling support the SDK experience. The README also describes vendor orchestration and a no-code rule engine as in-progress capabilities, but this tree provides no implementation to map. Some page and service internals were not sampled, so uncertain links are omitted.
Main entry points: App.tsx Dashboard app · App.svelte Flow application · Routes.svelte Flow routing · configuration-manager.ts Config manager
Components 20
Case management
- Dashboard app
apps/backoffice/src/App.tsx - User cases
apps/backoffice/src/pages/users/list.tsx - Case review
apps/backoffice/src/pages/users/components/SubjectContent.tsx - Document viewer
apps/backoffice/src/components/organisms/ImageViewer/ImageViewer.tsx - Access control
apps/backoffice/src/access-control.ts
SDK runtime
- SDK entry
sdks/web-sdk/src/main.ts - Flow application
sdks/web-sdk/src/App.svelte
Verification flow
- Flow routing
sdks/web-sdk/src/Routes.svelte - Verification screens
sdks/web-sdk/src/lib/pages
SDK configuration and UI
- App state
sdks/web-sdk/src/lib/contexts/app-state/stores.ts - Flow events
sdks/web-sdk/src/lib/services/flow-event-bus - Config manager
sdks/web-sdk/src/lib/utils/configuration-manager.ts - Configuration store
sdks/web-sdk/src/lib/contexts/configuration/store.ts - UI packs
sdks/web-sdk/src/lib/ui-packs - HTTP service
sdks/web-sdk/src/lib/services/http
Mock user API
- User handlers
apps/backoffice/src/mock-service-worker/users/users.handler.ts - Sample user data
apps/backoffice/src/mock-service-worker/users/users.data.ts
Other components
- Case operator
- REST API
- End user
Connections 19
- Case operator → Dashboard app: reviews cases
- Dashboard app → User cases: routes users
apps/backoffice/src/App.tsx - Dashboard app → Access control: checks permissions
apps/backoffice/src/App.tsx - Dashboard app → REST API: configures REST
apps/backoffice/src/App.tsx - User cases → Case review: opens review
- Case review → Document viewer: uses viewer
- End user → SDK entry: starts verification
- SDK entry → Config manager: updates configuration
sdks/web-sdk/src/main.ts - SDK entry → Flow application: mounts application
sdks/web-sdk/src/main.ts - Flow application → Flow routing: renders routes
sdks/web-sdk/src/App.svelte - Flow application → Configuration store: reads configuration
sdks/web-sdk/src/App.svelte - Flow application → UI packs: reads theme
sdks/web-sdk/src/App.svelte - Flow routing → Verification screens: renders selected screen
sdks/web-sdk/src/Routes.svelte - Flow routing → App state: reads route state
sdks/web-sdk/src/Routes.svelte - Flow routing → Flow events: emits navigation event
sdks/web-sdk/src/Routes.svelte - Config manager → Configuration store: updates store
sdks/web-sdk/src/lib/utils/configuration-manager.ts - Config manager → UI packs: selects theme
sdks/web-sdk/src/lib/utils/configuration-manager.ts - Config manager → HTTP service: loads remote config
- User handlers → Sample user data: reads and updates
apps/backoffice/src/mock-service-worker/users/users.handler.ts