How to use Claude to identify user fraud
Hi, this is Vivek, building Contextflo. I share practical notes on getting answers from your data, a couple of times a month.

A customer is earning reward points much faster than their card spend should allow. The fraud analyst can see it on one account. What they can't easily see is whether it's one person gaming a promotion or fifty, which merchant it runs through, and whether the company lost money on it. On fintech teams we work with, that question now goes to Claude, and the first answer comes back while the analyst is still on the account.
This is a playbook, built from how fraud, compliance and support people at a fintech use Claude through Contextflo every week. No customer names or numbers, just the setup that works.
The data Claude needs
Fraud questions cross tables nobody joins on a normal day. These are the sources that came up again and again:
| Source | What it answers |
|---|---|
| Transactions and transaction details | Who moved money, how much, through which processor, to whom |
| KYC and KYB records | Who the customer is, verification status, beneficial owners of a business |
| Users and cards | Account age, which cards a person holds, when each was issued |
| Rewards and points awards | Points earned per transaction, welcome bonuses, the promotion behind each award |
| AML case management | Open cases by scenario, case history, maker and checker decisions |
| Your verification vendor's decisions | Whether the vendor approved someone your own database still shows as pending |
Most of this lives in one warehouse. The vendor and compliance-tool fields often don't, and those are the joins where investigations used to stall.
The context that makes the answers right
Pointing Claude at those tables raw gets you plausible SQL and wrong answers. The schema doesn't say any of this, so it has to be written down once:
- How the tables join. The same customer ID can be stored as a UUID in one table and a string in another. Write down the canonical keys (business to transactions to KYC) and the cast, or every cross-table question fails or silently drops rows.
- What your detection rules mean. "Credits exceed declared annual income over a rolling 365 days" is a rule your compliance team named. Save its definition, so "show me R5 hits this quarter" means the same thing to everyone.
- Which fields are nested. Beneficial owners stored as a JSON array need to be unpacked before they can be matched. Say so in the column description.
- Which views are dead. Legacy views that are being replaced should be marked as such, or Claude will happily build on them.
- The heavy queries, saved. Multi-step AML queries are the ones that time out. Once one works, save it, and the next person reuses it instead of rebuilding it.
Contextflo generates a first pass of table and column descriptions from your schema, code and docs. The fraud-specific rules above are what your team adds, and the answers sharpen as people save corrections.
What an investigation looks like
Here is the shape of a rewards-abuse session, with illustrative prompts:
- Start with one account. "Compare the points issued to this customer with their card spend, by merchant, for the last 90 days."
- Test the obvious explanation. "Did people spend at this merchant before the points promotion existed?"
- Follow the money. "Who receives the payments from these transactions, and did we earn any fee revenue on them?"
- Go wide. "Do a top-down review of the top point earners this month. Were repeated welcome bonuses on the same card or on different cards?" Then the question that matters most: "Are there other cases like this?"
- Write it up. "Give me a cautious draft of what we found and what's still unconfirmed." The analyst edits it, and pushes back when Claude misses something ("you didn't include total spend at the merchant across all customers").
Every number arrives with the query behind it, so the write-up can cite exactly what was run. Ask for totals and breakdowns, not raw award rows: a few thousand rows pasted into a chat is slow, expensive and harder to read than a ten-line summary.
Who focuses on what
| Operators: fraud, compliance, support | Data team |
|---|---|
| Ask the questions, account by account and pattern by pattern | Connect the sources and keep them synced |
| Check the numbers against what they already know about the customer | Write the join keys, nested-field notes and dead-view warnings |
| Turn a finding into a case, a freeze request or a report | Save the detection rules and heavy AML queries as shared definitions |
| Draft the write-up and decide what's confirmed | Set which groups can see which tables, and review the query log |
The data team's work is front-loaded and small: the definitions and access groups above, then upkeep when a rule or table changes. After that, the operators who know what fraud looks like run their own investigations, and the data team stops being the queue every suspicion waits in.
Guardrails worth setting before anyone asks
- Read-only, always. The connection can't change a record, freeze an account or move money. Claude investigates; your systems act.
- Access by table and group. Support might see transactions and KYC status, while beneficial-owner and case tables stay with compliance. Access is set per table, so if analysts may only see their own region's customers, give each group a view.
- An audit log of every lookup. Every question and query is logged with the person who asked it. On customer data, "who looked at this account and why" is a question you will be asked.
- Decisions stay human. Claude finds the pattern and drafts the case. Filing a report or closing an account goes through your compliance process like it always has.
The analyst who spotted the odd points balance still makes the call. They just make it the same afternoon, with every similar account already on the page.
FAQ
Can Claude detect fraud in transaction data? Claude can investigate it. Connected to your transaction, KYC and rewards tables through a governed layer like Contextflo, it can trace one suspicious account, compare points earned against card spend, find other customers with the same pattern, and draft the write-up. The decision to freeze an account or file a report stays with your compliance team.
Is it safe to give Claude access to customer data for fraud investigations? Only through a layer that controls it. Contextflo connects read-only, limits which tables each person or group can query, and logs every question and query with the person who asked it, so you can see who looked up which customer.
See it on your own data.
Connect your warehouse and your team can ask Claude about it the same day, without waiting on a data team. Want a walkthrough first? Grab 20 minutes.
Book a 20-minute callSee how teams use Contextflo
Related posts
Keep reading

Conversational analytics: 5 ways to set it up, compared
7 min read

How to connect Claude to BigQuery? What works and what doesn't in 2026
8 min read

How to connect Claude to Postgres without giving it write access
9 min read

How to build a BI dashboard with Claude that your team can actually trust
8 min read

How to give Claude read-only access to your database (it isn't always the default)
7 min read

You connected your warehouse to Claude, now what?
5 min read

The official Postgres server for Claude is archived. Here's what to use instead.
7 min read

Why is the team missing sprint goals? How to analyze Jira data with AI
8 min read

Are my ads actually profitable? How to analyze Facebook and TikTok ads together with AI
7 min read




