Introduction
Building financial crimes software for expert users requires understanding of the specific needs as well as tasks and roles in a larger team of investigators. The goal is to create uniquely tailored solutions to those users’ needs — not create a simple report or dashboard. Shrink wrapped soft-ware and standard BI tools typically are in the mix but will not suffice as a stand alone application. Custom-built software usually takes 30–40% longer to develop and requires a high level
of graph technology expertise. How can you provide reusable software solutions that solve the primary problem patterns but also make “finish-to-order” customizations possible?Your answer: Expero Financial Crimes Workbench & Software Development Kit.

The Expero SDK allows customers to configure and build anti-fraud applications in financial crimes for all types of use cases, including: AML, transaction fraud, compliance and sanctions, cybersecurity, embezzlement, internal bad actor, audit and compliance, and prosecution for global investigatory teams. The goal is to create a flexible solution utilizing the power of Expero with easy to use visualization for explainable ML.
Why Expero Fraud Workbench?
No two financial crime use cases and customer requirements are exactly the same, and most expert business users expect or desire that their tools adhere to how they work. That leaves the software tool builders with a couple of options. Today’s fraud application reality is much more than just graph widgets — useful, yes but the goal is to have users interact with a vast amount of data, including graph data connections. Expero recognizes that most financial crime investigations have some common patterns and general approaches, but the specifics of how each customer approaches the problem and perhaps the sequence of steps may vary. What customers are requesting is a full set of reusable graph components + UI templates + Expero built-in connectivity that can perform core investigation functions and features. In addition, they allow users the ability to compose the final solution by rearranging the components with little effort. This is the design motivation and paradigm for Expero Fraud Workbench:
- Flexible & Configurable: Role-based UI screens: Dashboards,Investigations, & Teams
- Graph & Investigation Widgets: Combination of key fraud graph visualizations & core data views
- Extensible | On Prem or Cloud: Build your own widgets with the tool for custom development
- Graph & Fraud Specific: Performance-tuned, key ML functions in Expero: accumulators, algorithms, etc
- Fraud Data Models: Extendable starting data models:AML, Credit Card, Cyber, Audit, etc
- Integration with ML Tools: Configuration to integrate withPython and Jupyter notebook for custom development
Who are your users?
The financial crimes space has an incredibly diverse set of use cases and types of users.The features are directly focused on these investigation teams’ set of incredibly diverse sets of investigation and notification tasks. Each group of users has a very different potential role in the process. The data and interactions may be similar, yet the UI may be very different on how to access and interact with the data. The Toolkit allows for this diverse set of users to have different views and interactions and their different types of roles via the UI.
- Use Case Differentiation: AML, Credit Card, Transaction Fraud,Cyber, Audit & Prosecution
- Security: Data provenance, RBAC & access for teams, individuals and audit & compliance
- Roles: Management, line of business, KYC teams, Investigators & prosecutors
- Teams: The ability to share findings, collaborate with core members or external teams

What modules are part of the Fraud Workbench?
Expero Fraud Workbench is a React-based library of components used to help customers design and develop graph based custom data visualization tools quickly and easily. Expero Fraud Workbench consists of a series of connector/helper widgets and graph visualizations, design patterns, and examples used to aid in creating cohesive, data-driven apps. Data synchronization and complex visualization synchronization is at the heart of Expero Fraud Work-bench, both with Expero Fraud Workbench-based widgets as well as 3rd party widgets.Simply register each visualization to sync up with filters driven by Expero Fraud Workbench to allow your UI to work seamlessly and each visualization in concert with others on the page. Here are just a few of the visualizations that are available

- Fraud Dashboard
- Alert Management
- Alert Builder
- Case Management
- Connection Explorer
- Role & Field Security
- LDAP Integration
- Algorithm Linkage
- Data Enrichment
- SDK Extensibility
Sample Visualizations





MORE THAN ‘GRAPH WIDGETS’
One likely misconception about Expero Fraud Workbench is that it’s simply a composition of ‘graphy’ visualizations that are appropriate for web application building. These visualizations are required to be sure. However, thinking in terms of simple visualizations misses the primary point. Creation of investigation workbenches for technical and non-technical team members requires much more than just a network visualization set widget(s).
<images>
In the diagram above, neither the node network view ‘bad’ transaction hierarchy, nor the trans-action risk score detail pane tell the story — it’s the composite of them that does so. Highlight-ing a subset of transactions with the ability to simply toggle to an alternative view illustrates the flow of ‘select’ transactions through the sankey chart while concurrently viewing the risky transactions as reflected by flow colors shows why and how money is flowing across a global corporation. Any conversation focusing simply on charts and types of visualizations misses this point. The key to this approach is the composite patterns built up from several different customer implementations along with the flexibility to assemble and reassemble the
individual components to address this customer’s unique requirements.

VISUALIZATION COMPOSITION
As previously discussed, the individual visualization components are necessary but not sufficient. The true value of Expero Fraud Workbench lies in the composition of visualizations to address a complex business problem or flow.

In the application above, a user may wish to see different component charts, over different time periods. By moving the time slider at the bottom of the page, each of the charts updates itself per the time period selected. This cross component communication means that any component may “publish” changes made to itself for consumption by any or all of the other controls on the page. Each component is responsible for keeping itself current. This includes many other components besides just Graph visualization.
- Dashboard Configuration: Ability to have multiple widgets like reports, KPI, etc.
- Time: Timeline sliders, date panels, connected graph, and non-graph widgets
- Filters & Dynamic GSQL: No code filters, panels, and selection panes for clickable data presentation
- Alerts & Search: Extendable alerts & search for Expero and other data including source systems
Building a Single Page App with Expero Fraud Software Development
At its most basic, a single-page app (SPA) consists of three files: an index.html file, a Java Script file, and a stylesheet. However, in reality (unfortunately) there is more to it than that. Three major choices need to be made up front: the programming language, the Expero Fraud application framework, and a build process.
WHY DO YOU NEED A SINGLE-PAGE APP (SPA)?
Single-page apps are a must when a responsive and interactive in-browser user experience is required. The heavy visualization and multiple simultaneous users in a graph analytics application make an SPA a great fit. The classic server-based approach to updating a page in response to a user interaction is painfully slow by today’s standards. Each change to the view requires a complete page reload, which incurs a lot of overhead. The single-page app only pays the page load penalty one time, and further changes are incremental modifications to the live document.The separation between front end and back end also tends to lead to a clean REST API that can be reused for native mobile applications. In many cases, the single-page app itself can be repackaged as the mobile application.
PROGRAMMING LANGUAGE
The choice of REACT as a programming language may seem obvious when writing a client-side web application: It’s JavaScript, right? JavaScript is what will ultimately run in the browser, but many languages can be compiled to JavaScript. Today, even JavaScript is compiled to JavaScript, if you want to use the latest and greatest features of the language before they are supported in all browsers. Other popular choices are TypeScript, Clojure Script, CoffeeScript, and Elm. However, chances are that if you have a preferred programming language, then there will be a compiler for it that targets JavaScript.
EXPERO APPLICATION DEVELOPMENT FRAMEWORK — DETAILS
Framework is an overused term that can have many meanings today. It could refer to a Java-Script framework, a style framework, server framework, a testing framework, etc. For the SPA, you need a client-side JavaScript framework like React. The purpose of a JavaScript framework is to manage application state, events, and updates to the view. React can also be paired withRedux for state management.
ON PREMISE OR CLOUD ARCHITECTURE
The Expero toolkit can be configured as either a cloud delivered architecture on any of the cloud vendors or can easily be set up as on-premise.

CONNECTING TO EXPERO
Similarly to how the front end application needs flexibility, the data sources also will vary. Expero Fraud Workbench has hooks built in for data collection - these may be direct REST calls from the browser or REST/GraphQL calls through a middle tier API facade depending on scaling and security requirements.

FLEXIBLE DEPLOYMENT
SPAs are very flexible when it comes to deploying to a server. As long as the server can deliver a collection of static files, then it can host a single-page application. This is important because it means you can cleanly decouple your back end from the client’s view and architect the backend any way you choose. You may want to keep things simple and host the front end on the same server that handles requests for data or you might have a large ecosystem of load-balanced microservices and choose to serve the front end from a highly available CDN. It makes little difference to the overall architecture and design of the client-side application.

In this model, the concerns of serving www.foo.com are completely separate from any requests for data through an API server. Both can be managed and optimized for their intended purpose.In the case of the file server, S3 buckets can be configured for website hosting and serve all the static files that make up the SPA. As mentioned earlier, aggressive caching headers can
be set to further speed up client load times and reduce server load if unique hashes (or some other cache break technique) were implemented as part of the build process. This separation completely eliminates a chunk of work for the back end. Pure data services typically should not allow the client to perform any caching in order for client applications to always receive fresh data. Furthermore, the scaling and division of responsibilities among services is not mixed up with the concerns of serving the client-facing URL.
This is all made possible thanks to Cross-Origin Resource Sharing (CORS) mechanisms, now commonly available in all browsers, which enable the browser to make requests to different domains from the one that originally served the web application files. Before CORS, the browser only allowed non-GET requests to the original domain that served the JavaScript file making the request. CORS is a mechanism to safely permit requests to trusted domains while still maintaining the same origin policy for all other domains.
EXPERO SOFTWARE DEVELOPMENT KIT (SDK) DOCUMENTATION
The Expero Financial Crimes Workbench comes with the SDK to allow for custom configuration and extension. The example below is part of the online comprehensive documentation.

Conclusion
The modern Financial Crimes investigation single-page application has evolved from a simple set of MS XLS sheets and has now become an intersection of Human-in-the-loop + MachineLearning + Expero + Visualization. The goal and purpose of the Expero Financial Crimes FraudWorkbench is to accelerate the configuration and development of tools that can be supported and maintained by our end customers.