Consortium members only. Heron’s fraud network is available to members of the Heron Fraud Consortium, who report their early defaults to help fight fraudsters. It is not enabled by default - contact your Heron rep to enquire about joining the Consortium.
Both run as enrichers and use the same workflow, results endpoint, and webhook mechanics as the rest of the platform.
How it works
The fraud network is a graph with three kinds of record:- Nodes - a business or a person, returned in separate
businessesandpeoplelists. Node fields use the same vocabulary as the Background Check response: businessnamestypedlegalordba; businessidentifierstypedus_ein; personnamestypedlegal; personnational_idstypedus_ssn; and anaddresswithline_1,line_2,city,region,postcode,country(US). EINs and SSNs are masked to their last four digits (XX-XXX1234,XXX-XX-1234). - Edges - a relationship between two nodes:
owner_of(a person owns a business; always runs person -> business) ortransacts_with(two businesses move money between each other). Shared ownership is expressed as a person node with anowner_ofedge to each business. - Evidence - the reason a node or edge is in the graph. Each piece has a
kind, asourcefixed by the kind, anoccurred_atdate (ornull), and a kind-specificdetail.
Every addition to the network is reviewed by a Heron analyst before it is used for matching.
A match is classified by the shape of the network around it:
lone_actor- one owner behind one or more businesses, with no links to businesses under different ownership.fraud_network- linked businesses under different owners.
match_meta block in the result lists the fields a match was based on.
Scanning a submission
Prerequisites
- An API key (see Authentication). All requests send it in the
x-api-keyheader. - Fraud Detection enabled for your account.
- An end user representing the submission. One is created automatically whenever you send Heron an ISO application, or you can create one directly (Create EndUser).
1. Make sure the submission’s identity has reached Heron
The scan matches on the owner and business information Heron holds for the submission. If you send PDF ISO applications, Heron extracts this automatically. Otherwise supply it withPATCH /end_users/{id}/end_user_information (reference) - the same fields the Background Check uses.
EIN and owner SSN produce the highest-confidence matches. The
input_coverage block in every result shows which fields were available, so you can see how much identity a result was based on.2. Run the scan
If the enricher is in your Heron workflow it runs automatically on every submission, and its result is available to your policy checks so a match can be routed to review or declined in the workflow. To trigger it directly:app.py
202 Accepted as soon as the run is dispatched. Subscribe to the enricher.succeeded webhook topic to be notified when it finishes, or poll.
3. Fetch the result
The result has its own endpoint,GET /end_users/{id}/fraud_detection/fraud_network. It returns 404 until a scan has run.
app.py
Understanding the result
Every result has the same top-level shape whether or not anything matched.A fraud network match
fnn_10) moves money with a business another member reported as a default (fnn_11). fnn_11 and its owner fnn_14 are redacted: you can see they exist, their evidence and how they connect, but not who they are.
A lone actor match
No match
monitoring_until.
Ongoing monitoring
A scan reflects the fraud network at the moment it runs. Heron keeps re-scanning each submission untilmonitoring_until, so a business that is reported by another member or linked into a network after you received it is still surfaced.
New sightings are delivered by the fraud_network.sighting webhook. Add one in the dashboard (Settings -> Webhooks) or via the webhooks API. It fires both when the enricher matches in your workflow and when a later re-scan matches a submission you already hold. The data block is the same object the fraud network endpoint returns.
webhook.json
What you see, and what you don’t
The Consortium exists to fight fraud while always preserving privacy. Each response is filtered to what the requesting account is entitled to see. The rules, applied on every response:- Only the graph around your match is returned - every live node within three hops of any matched node (a scan can match more than one, e.g. the business by EIN and the owner by SSN), and the edges between them. A node that is not eligible to match a new submission still appears, redacted when you have not submitted it.
- Businesses and people you have submitted to Heron are shown using the identity you sent us, never the consortium’s copy. EINs and SSNs are masked to their last four digits. In the fraud network example above,
fnn_10andfnn_13are your applicant and its owner. - Everything else is redacted -
redacted: true,names,identifiers,national_idsandsightingsempty,addressnull. You can see that a node exists, what kind it is, its evidence, and how it connects, but not who it is.fnn_11above is another member’s defaulted merchant: you know it defaulted, received an advance in June, moves money with your applicant, and has two MCA suits. Its name and address are not shown, so it cannot be looked up elsewhere. - Other members are never named. Reports appear as “a consortium member” or a count.
sightingson a node list only your own end users; other lenders appear only as the count insummary.seen_elsewhere. The free-text provenance a member wrote when contributing a record is never returned -sourceis always one of the fixed values above. - Public records are one
is_mcaflag per case, on every node. Case numbers, case names and links are not returned, because a case name identifies the business. - Detection evidence carries
strengthwhen Heron has scored it. Underlyingtransaction_referencesare included only when every transaction behind the detection came from your own submissions.
fnn_, fne_, fnv_, fnw_) are stable, so you can track the same node across submissions and over time.
Broker velocity
Broker velocity is a separate signal for a different pattern: the same merchant being submitted to many funders at once by many distinct brokers. It measures how many brokers have submitted the same merchant in the last 24 hours across the Heron platform, and reports a band. Ahigh signal means the submission is in the top 1% of submissions on the platform by number of distinct brokers working the deal. The next 1% is medium and a further 1-2% is low.
Trigger it with the
broker_velocity enricher and read it from GET /end_users/{id}/fraud_detection/broker_velocity. The response is the band only; the underlying list of brokers or the number of hits is not shared.