Skip to content

Releases: checkmarble/marble

0.36.0 : Sanction screening, PATCH, better agregate creation and performance improvements

20 Feb 18:17
Compare
Choose a tag to compare

Sanction screening

We've partnered with our friends at Opensanctions to add to Marble

  • Real time sanction checks, fully self hosted with unlimited checks, or connecting to Opensanction pay as you go API
  • Over 240 lists, available and selectable, updated several times / day, with a warning when the last refresh is older than 24h
  • Configurable sensibility threshold in the settings, driving a state of the art matching algorithm using both fuzzy matching and phonetic matching
  • Capacity to force the outcome of the scenario in case there's a sanction hit
  • Complete case management review interface, with the detail of each hit
  • Whitelisting of counterparts : you can define a unique identifier (account number, phone number...) and decide to whitelist the discarded hits to avoid repeat alerts
  • Refine of the search : an operator can add additional data (after asking the customer for documents for eg) and restart the search for more precise results
    The decision API will be updated in the next release.

See also our documentation for how to deploy a sanction check scenario, and review hits, in our public documentation.

Sanction screening is a separate module sold with a specific licence, reach out to us if you'd like to know more. As part of our commitment, NGO and non profit organisations can obtain a licence key for free.

Cleaner interface for agregate building

The interface for creating agregate has been completely refurbished, clarifying the object selected, and the fields used as filters.

Patch API

A new method is available for the ingestion API : Patch
You can now update a part of the object when using this method instead or resenting the complete payload.
When creating an object, all fields set as required are still mandatory.

Performance increase

We've added agregate persistence during a scenario run. Each agregate is now calculated only once during each decision, removing DB load and accelerating scenarios using several times the same agregates in their rules

Fix

  • Open API specs are now correct when downloaded from the front end
  • Random crash when accessing a test run

Sanction checks screens :
Capture d’écran 2025-02-19 à 14 47 05

Capture d’écran 2025-02-19 à 14 46 49

New agregate creation

Capture d’écran 2025-02-20 à 10 03 11

v0.35.0 : data viewer and fixes

06 Feb 16:57
Compare
Choose a tag to compare

This release contains a new feature that was at the top requests of our users : the data viewer

  • Check if an object has been ingested by typing its ID in the viewer. You'll get the detail of the object as well as the latest ingestion date
  • Navigate your data within the case manager : each link within your decision object gives you a view of the underlying data. You can now easily check the customer profile from a transaction for eg.

The release also include multiple bugfix, including :

  • Fixed an error generated when checking the result page of a test run
  • Removed a cookie linked problem that was preventing the API key generation in the setting menu
  • other minor display fixes

Data viewer screenshots
screen 2
screen 1

Breadcrumbs, bugfixes and performance optimizations

28 Jan 11:19
Compare
Choose a tag to compare

Content

This week's release focuses mostly on bug fixes and some quality of life improvements, while we work on the next big feature in the background.

  • Breadcrumbs for navigation: as the app is getting more complex, navigation was becoming more painful. This should help users navigate different parts of the app, and the pattern will be used everywhere.
  • Performance optimizations for the rule evaluation: branches of a rule that have no impact on the final output of a rule (for example because another branch of the "AND" condition is known to return "false") will no longer be executed. This will allow us to bypass some aggregates calculation, for a better overall performance of the decision creation API.

Bug fixes

  • the pagination function for cases was no longer working
  • the LICENCE_KEY environment variable was required for starting the frontend container, even though it was no longer used by it
  • user creation was broken since the last release for open-source users of Marble
  • user role changes were more restricted than they should be

Breadcrumbs for navigation

Capture d’écran 2025-01-28 à 12 03 28

Filter in the case manager, and new operators

23 Jan 08:54
Compare
Choose a tag to compare

This release contains two new features :

Filters and search in the case manager

  • you can now sort an inbox by case creation date (up and down)
  • a search field has been added to each inbox. You can type any part of a case name to filter the list of the inbox with this value. We added a fuzzy matching to maximise the results.

New operators in agregates

The following operators can now be used within agregates : Is / Is not Null, Start with, End with.
So, for eg you can now make the sum of the transactions where the status is not NULL and the beneficiary account number starts with "GB"

A fix for a requested licence key in OSS version has been posted too.

v0.32 Product discovery & in-depth nesting

15 Jan 21:18
Compare
Choose a tag to compare

v0.32.0 drasticaly improves the way your building complex rules : you are no longer limited to one level of nesting.

Rule builder

You can now create subcalculations without limitations within each rule condition, by adding brackets to each part of the condition and allowing.
The new system is VERY flexible. You can now add multiple subcalculation to each part of a condition, using the new "modeling" menu of the toolbox.
It's now very easy to create rule such as (SUM of past transaction in last 5h ) + current transaction amount > (3x the sum of transaction amount of last month) + 5000

Discoverability & OSS

You can now see all product functionalities, even when your licence does not cover it. You can contact us in a few clicks if you want to upgrade!

Scenario homepage

Minor redesign for better accessibility

0.31.0 - Case name templates

09 Jan 13:47
Compare
Choose a tag to compare

Case name templating

In this first real product release of 2025, we are bringing proper case name templating into Marble.
When using automated workflows for decision to case, you can now template the case name using attributes from the payload or ingested data, in the same way as it's done in the rule builder. Previously, the case name would be composed of the payload object type and the object_id.
For now, this should make case viewing in the case manager inbox much easier, and with this being done, case search by name should be coming very soon.

You can access the case name templating by clicking the case name box in the scenario workflow setup page.
Capture d’écran 2025-01-09 à 14 31 42

New year's bugfixes

03 Jan 10:25
Compare
Choose a tag to compare

This week's near year release is small, and only contains bug fixes. Stay tuned for more product-based work next week !

Bugfixes

  • Fix a display error on the "is round number" operator modale, in french and arabic
  • Fix a bug where the csv file name was incorrectly encoded for the "download list values as csv" feature
  • Fix an error on the POST /decisions/all public API endpoint, that would return an error if any scenario matching the received object has no live version
  • Upgrade a dependency with a reported vulnerability

New operators, lists loaded by CSV and lots of fix

19 Dec 13:00
Compare
Choose a tag to compare

One last one for the road !
As the end of the year is near, here's our 30th release for 2024, packed with usefulness

New operators

  • Start with / end with : makes it easy to check the beginning or the end of a string against another value or list. Very useful for getting the country out of the IBAN, the phone operator suffix or the email domain name
  • Is multiple of : you can now check with ease if a number is round, and set the thresholds.

Load lists by CSV

No more need to enter values manually to update lists : you can now upload CSV up to 9999 values for your lists. And if you need to update those, you can download them

Case manager

We're still chasing the clicks on the road to efficiency in the case manager

  • If a case holds a single decision, it's now displayed by default

Test run

You can now stop an existing test run at any time.

Fixes :

  • Unclickable part in the decision viewer
  • Access to analytics for all roles
  • Adding a description on an object of the data model works again

Documentation 📖

Schematics of Marble technical and functional architecture added to the repo: see the installation/deployment.md page

v0.29.1

18 Dec 14:57
Compare
Choose a tag to compare

What's Changed

  • fix: version typo in docker-compose.yaml by @balzdur in #63

Full Changelog: v0.29.0...v0.29.1

Test run, new date operator and case manager efficiency

13 Dec 08:31
Compare
Choose a tag to compare

Right in time for the holidays, it's one of our largest release yet!

Test run

Modifying a scenario or a rule safely is challenging : you'll want to check the impact on detection volumes and efficiency before pushing to production.
With our test run feature, you can know modify an existing scenario, and run the new version in parallel during a set period.

Marble provides you in realtime the difference between both version, both in scenario outcome and rule by rule.
You are now able to check for abnormalities, wrong checks and volume mismatch before releasing a new version of a scenario in production. And you can keep the test run synthesis as an audit proof for the rationale behind every modification.

The test run allows you to compare a scenario version to a live one and define a maximum duration for the run.
Available for SaaS or under self-hosted licencing

Case manager efficiency

With our latest phase of case manager redesign, we're now reducing context switching with :

  • Alert prioritization : a default activated toggle displays only the rules generating a hit for the case in each decisions
  • Direct to decision display : the decision tab is now set as the default display when opening a case
  • Foldable case history : the case timeline is accessible through a button on the right side of the screen and can be folded to save space for investigations
  • Trigger object display : the trigger object is now easily accessible at the right of each linked decision
  • Pivot accessibility : the pivot value has been moved to the top of each decision trigger object, making it easy to reach and copy in your own back-office.
    Those improvements should significantly reduce the number of clicks needed to overview a case and start the investigation.

We've also added the possibility to upload several files at once to a case.

Hour / Day / Month / Year operator

The builder now allows you to get an extract of a timestamp to use within rules. Based on a timestamp, you can extract the hour, the day of the week (1 = monday), the day of the month, the month of the year or the year.
It's now really easy to check if an operation happened in the middle of the night, or to integrate specific checks during weekends.
You'll need to set the timezone of your instance in the new setting / scenario tab.

Self-hosting

API timeout delays can now be configured

⚠️ API breaking change

We unfortunately had to make a breaking change to the decisions listing API. The GET /decisions endpoint no longer returns the count nested object, the start_index and the end_index of the returned items. Instead, the endpoint now returns a has_next_page boolean field that lets you know if a next pagination page is available. See our documentation page for the up-to-date details.
We absolutely hate to make breaking changes to our public API, but this was one case where the implementation proved fundamentally not scalable, on a feature that we expect was not widely used by API, and where we preferred to make the breaking change now rather than later.

Bugfixes and others

  • data model tables, fields, links can now only be created in lower case alphanumeric and "_", and must start with a letter. Backward compatibility is maintained for older fields and tables, but this will avoid errors in the future
  • The timeout durations for the API endpoints can now be configured, for self-hosted users of Marble. See the .env.example file for examples (use the BATCH_TIMEOUT_SECOND environment variable)
  • Fix a bug where a "required" field in a table could not be added once there were objects ingested into the table. "Requiredness" is now enforced at ingestion time, not in the table itself.

We're not done for this year, stay tuned !