Governance software, Europe
Audit-Ready Risk Register for a Governance SaaS
A European governance platform that lets regulated organisations run their risk register, policies and compliance controls from one audited record instead of scattered spreadsheets.
80%+Test coverage on new code

About the company
- Governance software
- Europe
- Multi-tenant SaaS
- EU-hosted
The client builds governance software for organisations that answer to a regulator, a membership or the public, financial services firms among them. Its platform holds the risk register, policy library and compliance controls in one multi-tenant system, hosted in the EU, so an audit trail is a by-product of daily work rather than a project before each inspection.
The engagement
- Time to hire
- 3 weeks
- Core team
- 1 backend developer, 1 frontend developer, 1 QA engineer, 1 architect / tech lead, 1 BA / PM
- Duration
- 5+ years
- Tech stack
- .NET 10 (C#), ASP.NET Core Web API, EF Core 10 with Npgsql, MediatR (CQRS), FluentValidation, PostgreSQL, Hangfire, Angular 21, TypeScript, PrimeNG, d3, ClosedXML, SendGrid, Azure B2C, Cloud: Azure (App Service, Blob Storage, Key Vault, Application Insights), CI/CD: Azure Pipelines, SonarCloud, Docker, NUnit, Moq, FluentAssertions, Vitest, Playwright
Project Overview
The client wanted to replace spreadsheet-based risk tracking with a live register that runs on its own review schedule and keeps a full history of every assessment. Rather than hire permanent specialist engineers, it chose Intelvision’s Talent as a Service model and added a dedicated team to its product group.
That let the client ship the risk module on its existing multi-tenant platform, reuse its roles and background jobs, and hold its own release cadence while the new module took shape.
Challenges and Pains
Regulated-Domain Skills Shortage
A risk module calls for engineers who understand assessment cycles, inherent and residual scoring and audit evidence. That mix of domain and engineering skill is rare and slow to hire permanently. The client needed the expertise inside its product team without waiting through a long recruitment cycle.
Spreadsheet Risk With No History
Customers tracked risk in spreadsheets with no record of how a score changed or who acted on it. Reviews slipped without a scheduled process, and exposure went stale between audits. Regulators increasingly expect a traceable review trail, which a spreadsheet cannot provide.
Complex Risk Modelling
Each risk needed inherent, residual and target levels, velocity, appetite and linked controls, with every review stored as its own cycle. Generating a risk per entity from a master risk, across many tenants, made consistent scores and schedules a demanding data-model problem.
Solution
Intelvision applied its Talent as a Service model. A dedicated team joined the client’s product team and worked inside its backlog, tools and release process. The team covered backend, frontend, QA, architecture and analysis, so the module moved from requirement to release without the client hiring permanent staff.
The team built on the existing platform rather than beside it. The risk module reuses the platform’s multi-tenant architecture, roles and background job platform, and it shares one data model with policies and controls.
The solution included:
Dedicated Developers
a dedicated team covering backend, frontend, QA, architecture and analysis, embedded in the client’s product group, following its conventions and release flow.
Risk Register and Assessment Engine
a live register with inherent, residual and target levels, scheduled four-step review cycles and a full history of every assessment.
Visibility and Reporting
a filterable heat map, alerts on rising scores, an Excel import wizard and PDF reports for audit.
What to expect
- Client’s request
- NDA
- Review of developers’ CVs
- Interview with developers
- Final proposal
- Signing contract
- Onboarding and Kick-off
How We Solved the Challenges
Embedded Specialist Team
Intelvision placed engineers with governance-domain experience directly in the client’s product team, so the module was built by people who already understood regulated workflows.
Full coverage
backend, frontend, QA, architecture and analysis roles working as one team.
Product-team fit
the engineers followed the client’s own architecture, conventions and release flow instead of building alongside it.
Built-in quality
the service runs automated tests and a SonarCloud gate, with changed code required to reach more than 80% coverage.
No hiring delay
the team started contributing without a permanent recruitment cycle.
A Register That Runs on Schedule
Master risks generate a risk for each entity or entity group, and Hangfire schedules review cycles at any frequency from weekly to every three years. Every review is stored as its own cycle with inherent and residual scores, so the history is complete without anyone keeping notes. Alerts fire when a score worsens, and the Excel import wizard moves an existing spreadsheet register into the system with validation.
One Connected Data Model
Risks were modelled together with policies and controls on the platform’s shared multi-tenant data model, so a risk links to the controls that mitigate it. A history log written through the CQRS pipeline records every status change and action. Every record carries its tenant, which keeps customers’ data separate, and PDF reports give auditors the heat map, a single risk or its full history on demand.
Project Features
- Risk register for inherent, residual and target levels with impact and likelihood
- Master risks for generating a risk per entity or entity group
- Scheduled assessment cycles for reviews from weekly to every three years
- Four-step assessment flow for inherent score, linked controls, residual score and response
- Risk heat map for inherent, residual or combined views filtered by entity
- Response strategies for a default model or the 4Ts with editable names
- Risk actions and assurance notes for mitigation tasks and audit evidence
- Alerts on risk increase for notifying owners when scores worsen
- Excel import wizard for loading an existing register with validation
- PDF reports for the heat map, a single risk and its history
- Risk history log for a traceable record of every change
- Hangfire jobs for task generation, next-run and overdue checks
- Automated tests and a SonarCloud gate for over 80% coverage on new code
- Embedded dedicated team for delivery with zero hiring cost
Results
- 80%+
- Test coverage on new code
- 4
- Assessment steps per cycle
- 3
- Risk levels tracked: inherent, residual, target
- Zero Hiring cost for the client

Hard to find engineers
Specialists your hiring has not found, working inside your repo, Jira and standups.
Engineering talentLet’s talk
We usually start with advice. You get a direct answer on whether we can help and what should happen first.
Talk to an expert
Yurii Kotula
CEO and Engineering Leader
Your first call is with Yurii. Send the form, or pick a time in his calendar.
Book a call with Yurii


