The Case Portal, Nordby Municipality
- 2 Alert
- 2 Note
Two findings need a decision this month.
Each finding is a step. The trail ends in a question for your supplier.
-
Alert High
A requirement you paid for doesn't appear to be built
- What's wrong
- The requirements specification says decisions must be sent automatically to the citizen's digital mailbox. In the code there is only an empty function with the right name. It does nothing.
- Why it matters
- The requirement is part of a milestone that has been paid. If the function doesn't exist, you have paid for something you haven't received, and caseworkers are still sending letters by hand.
- How sure are we
- High. We looked for the function, and it does nothing.
- Ask the supplier
- “Show me where in the system a decision is sent to the citizen's digital mailbox. Can you demonstrate it with a real case?”
-
Alert New since last delivery High
Passwords are sitting in the open in the code
- What's wrong
- The code contains passwords for the database and for an external service, written directly into the files. Anyone with access to the code can read them.
- Why it matters
- If the code ends up in the wrong hands, others hold the key to citizens' case data. It is a security risk and potentially a personal data breach.
- How sure are we
- High. It's directly readable. Whether the passwords still work, we can't tell.
- Ask the supplier
- “Have those passwords been changed, and how will you store secrets going forward so they aren't in the code?”
-
Note Medium
The system rests on the supplier's own closed toolbox
- What's wrong
- Large parts of the system are built on components that only the supplier has and knows. They are undocumented and not available anywhere else.
- Why it matters
- Another supplier must either learn it all from scratch or rebuild it. Both cost money, and both weaken your negotiating position when the contract is up for renewal.
- How sure are we
- Medium. The picture is clear, but we can't see what has been agreed about rights.
- Ask the supplier
- “Which parts are your own components, and where does the contract say we can get source code and documentation for them?”
-
Note Low to medium
The most sensitive parts are barely tested
- What's wrong
- There are automated tests, but almost none of them touch the part that calculates and pays out benefits. That is exactly where mistakes are most expensive.
- Why it matters
- Every change becomes a lottery. Errors are found by caseworkers or citizens instead of by the supplier, and then the bill is yours.
- How sure are we
- Low to medium. The supplier may test in ways we can't see in the code.
- Ask the supplier
- “How do you make sure a change doesn't break the calculation of benefits? Can you show the test results from the last three deliveries?”
The extended technical report can be downloaded as a file.