Skip to main content

Fraud & Risk Add-on Enablement

This page is how the Fraud & Risk Add-on for Agentic Payments is enabled on a running AxonFlow Enterprise deployment today, and what is planned for packaged delivery. It assumes a working Enterprise deployment; see self-hosted deployment for standing one up.

Enterprise add-on

The Fraud & Risk Add-on for Agentic Payments is a separately priced add-on to AxonFlow Enterprise. It is not included in the base Enterprise license, the Evaluation tier, or the source-available Community edition. It requires platform v9.18.0 or later and is currently available through the early-access program.

What runs where

The add-on has two runtime components with different footprints:

  • The deterministic layer (the FinCrime Policy Pack plus typed context validation) runs inside the AxonFlow enforcement runtime. No additional infrastructure is required for it.
  • The advisory risk scoring layer is a separate service on its own container image, running inside your deployment next to the platform. It loads a model artifact and exposes an internal scoring endpoint plus a health endpoint, and the platform authenticates to it with internal service credentials. Transaction context is evaluated inside your deployment and is not sent to any third-party service.

The scoring service is stateless per request, so it scales horizontally behind its internal endpoint.

Enablement today: early access

During early access, enablement is configuration on your Enterprise deployment, done with your AxonFlow contact as part of onboarding: the policy pack is loaded into your policy store as tunable system policies, and the scoring service is stood up from its image and model artifact. The pack's thresholds and patterns are tuned to your traffic before enforcement rollout; read the pack reference's false-positive surface section first.

Scoring is wired to the platform with two environment variables on the AxonFlow agent runtime:

VariableDefaultMeaning
AXONFLOW_FINCRIME_SCORER_URLemptyThe scoring service's internal base URL. Empty means scoring is disabled, which is the default: a deployment that never sets it runs the deterministic layer only.
AXONFLOW_FINCRIME_SCORER_TIMEOUT_MS100The end-to-end scoring budget in milliseconds. A call that exceeds it is cancelled and the decision proceeds without a score, stamped ml_inference_layer_status: "unavailable".

The platform authenticates to the scoring service with the deployment's internal service secret (AXONFLOW_INTERNAL_SERVICE_SECRET), which must be set to the same real value on the platform services and the scoring service. Scoring stays disabled without a real secret: the scoring service does not accept the local-development fallback credential, because a published default must not authenticate to a service that scores payments.

Verify it is working

The deterministic layer first. The pack is loaded during onboarding rather than by a platform migration, so verify it is actually present and enabled: confirm the fincrime_ policies appear in your policy listing, then send a canary decision request carrying a fincrime transaction context with an amount of 12000 and confirm the verdict is deny, attributed to fincrime_high_value_amount_cap. A deployment that skipped pack loading passes every scoring check below with all of the pack's policies silently absent (only the code-backed malformed-context step-up would remain).

Then the scoring layer. The scoring service's health endpoint (GET /health) is unauthenticated by design. It returns HTTP 503 while no model bundle is loaded, which is the usual first-bring-up failure, and once loaded it reports the model's identity (example response, abridged):

{
"status": "ok",
"model_id": "fincrime-fraud",
"model_version": "0.1.0",
"dataset": "sparkov-credit-card-fraud",
"threshold": 0.011592,
"scored_total": 3182,
"auth_failures_total": 0
}

Then confirm end to end from the audit side: send a decision request carrying a fincrime transaction context and check the resulting decision record for ml_inference_layer_status: "scored" and a structured risk_score object, for example through the Decisions API.

Two operational signals worth alerting on:

  • auth_failures_total climbing on the health endpoint means the platform and the scoring service disagree on the internal service secret. Because scoring failures are advisory-absent by design, this misconfiguration degrades scoring silently from the decision path's point of view: the service is healthy and reachable and scoring nothing. This counter exists to make that visible.
  • ml_inference_layer_status: "unavailable" appearing on decision records means calls are timing out or failing. The decision path is behaving as designed (deterministic controls still apply), but you are not getting scores.

The scoring service also accepts a per-deployment threshold override (AXONFLOW_FINCRIME_SCORER_THRESHOLD, a value in 0 to 1) if your team sets a different operating point than the model artifact's default; choose it from the review-rate table on the risk scoring page.

Planned packaging

Two delivery improvements are planned, with no dates committed here:

  • License-based entitlement: enablement gated end to end by an add-on entitlement carried in your Enterprise license, rather than by configuration during onboarding.
  • Packaged image delivery: the scoring service as an optional image in the standard install flow (a digest line and an optional service alongside the existing image set), versioned and upgraded like the rest of your deployment; see deployment operations for how the existing image set is managed.

Until then, the early-access path above is the supported way to run the add-on.