BoursoBank
With DCM in place, BoursoBank significantly improved the runtime safety and consistency of their Flutter codebase. Errors that previously slipped through to production are now caught early, even when written by less experienced Dart developers.
BoursoBank, France’s largest online bank, is rapidly expanding its Flutter adoption across mission-critical mobile and web applications. With 70 engineers, many transitioning from web technologies to Dart, the team needed strong guarantees around runtime safety, developer guidance, and maintainable architecture.
DCM became a central component to achieving production reliability in an environment where a single crash can impact payments or strong authentication flows.
"For us, DCM is critical. Without it, I don’t know how we could ensure runtime safety at the level a banking app requires."— Emmanuel Vaisse, Lead Developer & Architect, BoursoBank
Challenge
BoursoBank’s transition to Flutter introduced several challenges.
The team needed to support junior Dart developers, enforce consistent safety-first patterns, and maintain a large multi-app monorepo with more than 60 Flutter packages. At the same time, they had strict requirements for reliability, compliance reporting, and CI performance due to operating within a major European banking group.
Crashes caused by unsafe APIs, provider misuse, or unchecked exceptions were considered unacceptable in payment and authentication flows. Existing tools from Dart’s analyzer “weren’t enough” to guarantee the safety they required.
"The default Dart analyzer misses many runtime-risk cases. For our banking use cases, that’s simply not enough."— Emmanuel Vaisse, Lead Developer & Architect, BoursoBank
Solution
BoursoBank adopted DCM as their primary static analysis tool for Flutter, integrating it across the monorepo through pre-commit hooks, CI checks, and a curated ruleset focused on preventing runtime exceptions.
The team enabled around 20 targeted rules, favoring safety-related linting over stylistic rules. This aligned directly with their engineering priorities: eliminating risky APIs, unsafe list access, provider lookup errors, and other exception-prone patterns.
DCM’s standalone binary, cross-platform support, and Sonar-compatible reporting also solved key workflow issues, particularly around offline CI environments and internal quality gates within the Société Générale group.
Impact
With DCM in place, BoursoBank significantly improved the runtime safety and consistency of their Flutter codebase. Errors that previously slipped through to production are now caught early, even when written by less experienced Dart developers.
The tool also strengthened architectural boundaries across their 60+ package workspace and provided measurable quality metrics required for internal governance reporting.
Most importantly, developers gained confidence that sensitive banking flows, such as payments and strong authentication, are protected from common crash scenarios.
Related Stories
Ready to fix your code?
Start today

