Find the borrowers who never existed.

DoubleCheck reads 36 months of your own core banking history, on your own machine.

How it works

Your data never leaves the building.

YOUR INSTITUTION Core export five delimited files 36 months Extraction script hashes identifiers salt stays with you DoubleCheck one signed .exe folder in, report out Findings memo pass, review, fail reason codes no network calls, nothing to block YOUR INSTITUTION Core export five delimited files 36 months Extraction script hashes identifiers salt stays with you DoubleCheck one signed .exe folder in, report out Findings memo pass, review, fail reason codes no network calls, nothing to block
Every step runs inside your environment, including the memo itself, which is written to a folder on the machine that ran the review.
  1. Export 36 months of core banking history.

    Delegate provides the file specification and your IT team produces the export from your core. The specification is written against the exports that Jack Henry Symitar, Corelation KeyStone, Fiserv DNA, COCC and FIS already produce. This is compatibility with an export, not an integration: there is no connector, no API key and no access to your core.

    An extraction script hashes customer, account and counterparty identifiers on your side, with a salt that stays in your institution and that Delegate never receives. Your own mapping table, which also never leaves the institution, is what links a hash in the memo back to a real account.

  2. Run DoubleCheck on your own machine.

    A single code-signed Windows executable. A folder goes in, the memo comes out, on the same machine. It makes zero network calls, and it runs on a machine with no network connection at all if you prefer.

    That is meant to be easy for your network team to approve rather than a claim they have to take on faith. We publish the hash of the file you were sent, so you can confirm the binary you have is the binary we shipped. And the simplest verification is to block it at the firewall and run it anyway: the review completes and the memo is identical, because there was never an outbound call to lose.

  3. Read the findings with us inside 30 days.

    Thirty days is the pilot, from kickoff to the readout call, not the length of the run. The run itself finishes in minutes. Every account carries a disposition and the reasons behind it, written so a lender can read them without a key.

Security packet available on request, including the file specification, the published file hash and the data handling detail

What the history shows

Exposure that climbs while the income never does.

0%50%100% utilization of the credit line Inflection fired, month 20 month 0month 31 0%50%100% utilization of the credit line Inflection fired, month 20 month 0month 31
One simulated account. Utilization of its credit line stays under a quarter of the limit for its first 14 months, then climbs to the limit and stays there. Inflection fired in month 20. The axis runs to month 31 rather than 36 because this account was opened after the review window had already started, so its own history is 32 months long. Drawn from the same series the Explorer plots.

Open the Explorer and step through the review month by month

What you get

A findings memo you can hand to a lender.

Each account comes back as pass, review, or fail, with the reason codes that produced it. A disposition is the starting point for a human investigation and never a decision: every fail is reviewed by your team, and nothing is declined, closed or reported because this engine said so.

  • Pass, review, or fail. One disposition per account. No number to defend in an exam, and nothing that reads like a credit score.
  • Plain-language reason codes. Each finding says what the account did, not which model fired.
  • Point-in-time reasoning. The engine replays each account's history in order, so a finding reflects what was visible then, not what is obvious now.
  • The memo is yours. You keep it regardless of what you decide to do next.

What DoubleCheck looks at

Findings memo excerpt
Fail
acct 0041188 No payroll-pattern income in the opening window, inbound funding came from very few sources, and money went back out to the same counterparty at a matching amount within days, more than once. Occasional unmatched money sent back to someone who supports the customer is not this. PROV_FUNDING_CYCLES Spending is thin and optimized: low category variety, almost no recurring merchants, unusually high share of round-dollar amounts. COH_THIN_OPTIMIZED_SPENDING Corroborating. Sits inside a cluster of accounts sharing funding or payee counterparties and clustered openings, where multiple accounts also show cultivation signals. RING_COORDINATED_CLUSTER
Review
acct 0052907 No payroll-pattern income in the opening window, inbound funding came from very few sources, and that funding stopped well before the end of the account's history. A customer who moved their deposits to another institution and left this account open looks the same way. Confirm before acting. PROV_FUNDING_STOPPED
Review
acct 0061204 A sharp regime break on a credit line, following the end of payroll-pattern income. This is also what ordinary credit distress looks like after a job loss. Confirm before acting. INFL_REGIME_BREAK_AFTER_INCOME_LOSS
Pass
acct 0052908 No cultivation signals fired across the review window.
Illustrative excerpt on simulated accounts. The reason codes and their wording are the engine's own, stamped into this page from the engine's export at build time.
Why internal data

A synthetic identity cannot fake 36 months of financial life.

Onboarding checks catch synthetics at the door. They are built for that moment, and they are reasonably good at it.

The ones that get through do not behave like fraud afterward. They cultivate. They hold accounts for months or years, pay on time, and build a file that looks ordinary from any single angle. By the time the credit is drawn down and abandoned, the loss books as a credit loss and no one is assigned to ask whether the customer was ever real.

What a cultivating synthetic cannot do is sustain a genuine 36-month financial footprint. Income that behaves like payroll, spending with a real life behind it, exposure that tracks earnings, counterparties that are not shared with forty other customers. That history already sits in your core. DoubleCheck reads it.

Field notes on how these losses hide

After a fail

A fail is the start of an investigation, not the end of one.

Nothing happens to an account because DoubleCheck flagged it. A fail means two independent findings landed on the same account and a person should now look at it, with the reason codes telling them where to start.

Your team does that review, using what only you can see: the mapping table that turns a hash back into a customer, the notes on the file, the branch that opened it, the person who can pick up the phone. Then your institution decides, under its own policy, and owns the decision.

The argument for looking at all is simple. These losses are already in the book. Finding one yourself, with a dated memo and a method you can explain, is a better position than having the examiner ask first, or than reading about it in a charge-off that was filed as ordinary credit loss two years after the account was abandoned.

How we tested it

On a population we built to be hard, before any institution's data.

Our first reviews with community institutions are the next step. Until they are done, everything we know about this engine comes from a simulator, and we would rather say that plainly than imply a track record we have not earned.

The simulated population is the part worth describing. It is not a clean set of obvious frauds dropped into a clean set of obvious innocents. The honest customers in it were calibrated to published data on how much real income actually varies month to month, and the engine's thresholds were then justified against that population and against published numbers, not against the frauds we planted, and two of them changed when the calibrated population showed they were wrong. It includes the people who look wrong for innocent reasons: seasonal staff, contractors and gig workers, retirees on fixed income, customers who moved their direct deposit elsewhere, households sharing an employer, and people supported by a relative.

Against that we plant synthetic identities in several shapes, from the obvious to the deliberately unreachable: some that bust out early, some that cultivate patiently for years, some that share plumbing with each other, and some built specifically to answer every question the engine knows how to ask. That last group exists to mark the boundary of the method rather than to be caught, and we would rather publish the boundary than pretend there isn't one.

What the engine looks at, and what it cannot reach

Security

The protection is in the data flow, not in a promise.

On premises
The engine runs inside your environment, on a machine you control.
Zero network calls
The executable does not reach the network. There is nothing to block.
Hashed on your side
Identifiers are hashed before analysis, with a salt Delegate never receives.
One signed executable
A single code-signed Windows binary. Folder in, report out.
Your decision
It runs on your data, inside your walls, and your team makes every decision. The output is also structured to avoid consumer-report score formats: no numbers, no dollars.

Read the full security and data handling detail

Who is behind this

Leo Cohen

Delegate exists because these losses are already sitting in community loan books, categorized as ordinary credit losses, and nobody is assigned to ask whether the customer was ever real. The data needed to ask is already in the core. Somebody had to build the thing that reads it and hands the answer back without taking the data anywhere.

Advisors will be listed here as they join.

More about Delegate

The retrospective review is free, and the findings are yours.

Run it against your own book. You keep the memo regardless of the outcome, including the outcome where DoubleCheck finds little and the report says so plainly. The ask is a 15 minute call to see whether your portfolio is a reasonable fit.

Free means free. There is no obligation attached to it, and any ongoing arrangement is a separate conversation we would have later, on its own merits.

Book a 15 minute call Book a call Email us