Skip to content
Fraud and risk ·  · 5 min read

Fraud controls on a platform already clearing

Nobody installs fraud decisioning on an empty system. The work is proving a new engine on live money without declining anyone it should not.

Fraud controls are rarely part of the first release. They arrive later, on a platform that is already moving money, with customers who expect their payments to go through and a risk team that wants the wrong ones stopped. The engineering problem is not building a decision engine. It is introducing one into a system that cannot stop.

Doing that safely comes down to a small number of habits, and none of them is exotic.

Score in shadow first

The first version of any new engine should decide nothing. It receives the same traffic as production, returns a score, and the score is recorded next to what actually happened. No customer is affected, and within weeks there is evidence rather than a vendor's benchmark.

Shadow mode also finds the integration problems early: the fields that are missing in real data, the rails that send events in a different order, the timeouts that only appear under load. Each of those is cheap to fix while the engine has no authority.

Every rail, in both directions

Inbound and outbound payments carry different risks. Money arriving may be the first sign of an account being used to receive stolen funds. Money leaving may be a customer being deceived into sending it. A control designed for one direction does not protect the other.

The same is true across rails. A platform that decides carefully on cards and waves through account to account transfers has simply moved its exposure. The map of where money can enter and leave, and where a decision can sit on each path, comes before the rules.

A false decline is a loss too

Fraud caught is easy to count. Good customers declined are harder to see, because they rarely complain; they leave. A rollout judged only on fraud prevented will drift towards declining too much.

Measure both sides from the start: what was stopped, what should have been stopped and what was stopped that should not have been. The shadow period gives a baseline for all three before the engine is allowed to act.

Switch over in stages

When the evidence is good enough, the engine gains authority gradually: one rail, one direction, one cohort of customers at a time. Each step has a rollback that is a configuration change rather than a deployment, so reversing a bad decision takes minutes.

Keep the reasons

Every decision should be stored with the inputs it saw and the reasons it gave. An analyst investigating a case, a customer disputing a decline and an auditor reviewing the controls all ask the same question: why did the system do that? The answer should be a lookup, not a reconstruction.

Leave with the approach, the risks and what it would take

Ninety minutes with the engineers who would do the work, on one problem you name: a processor replacement, an onboarding flow, a ledger reconciliation.