HIFQA Fraud Detector scores every WooCommerce order against 17 weighted
fraud signals (disposable emails, address mismatches, card testing
patterns, and more) the moment it is placed. The local scoring engine
is pure PHP, requires no setup, and sends no data anywhere — it works
immediately after activation.
Each order gets a score from 0 to 100 and one of three decisions:
For stores that want deeper protection, two optional layers can be
enabled separately — each stays off until you enter that service’s
API key in Settings:
The local score is the baseline, and an AI reply is treated as
untrusted input:
The optional layers contact the external service while the order is
being placed, so checkout waits for the reply. A slow provider means
a slower checkout, and the AI layer can make several requests for one
order. If a service fails or times out, the order is scored by the
local rules alone. After three failures in a row a layer pauses itself
for ten minutes. With both layers off, no external request is made at
all.
The admin dashboard is built from the unminified source in the src/
folder of this plugin. The full development repository, including the
build tooling, is at
https://github.com/dilrubaummer/hifqa-fraud-detector
HIFQA Fraud Detector can connect to the services below. Every one of
them is off by default. Nothing is sent until you save that
service’s API key (or, for Ollama, its host URL) in
HIFQA Settings, and removing the key turns the layer off again. If
no optional layer is configured, no order data leaves your site.
Customer names, full email addresses, IP addresses, phone numbers,
street addresses and order items are never sent to any of these
services.
What “order data” means below. When the AI reasoning layer is on,
the following is sent to the AI provider you selected, once for each
new order:
example.com —stripe or cod)If vector memory is also on, the closest matches found in your
Pinecone index are included (pattern type, similarity and the stored
description of the pattern).
With OpenAI and Anthropic, the plugin also sends the results of its
own checks when the model asks for them: the local risk score with the
reasons behind it, and how many recent orders came from the same IP
address and from the same email (the numbers only — not the IP address
or the email).
What “pattern text” means below. When the vector memory layer is
on, the order is reduced to a short line of text made of the names of
the signals that fired, the payment method ID and the country pair —
for example disposable_email address_mismatch cod_payment NG_to_US.
Used for AI reasoning when OpenAI is the selected provider, and to
turn pattern text into an embedding when vector memory is on with
OpenAI selected.
Used for AI reasoning when Anthropic (Claude) is the selected provider.
Used for AI reasoning when Google Gemini is the selected provider, and
to turn pattern text into an embedding when vector memory is on with
Gemini selected.
Anthropic does not offer an embedding model, so vector memory with
Anthropic selected uses Voyage AI and needs its own Voyage AI key.
Without that key, vector memory stays off for Anthropic — the pattern
text is not sent to any other provider in its place.
Stores and searches fraud patterns for the vector memory layer, in an
index in your own Pinecone account.
Ollama is software you run on your own server. When Ollama is the
selected provider, the plugin sends requests to the host URL you enter
in Settings. Nothing is sent to ollama.com by this plugin. The data
stays on your own infrastructure only if that host is a server you
control.