Finic releases Kairos, open-source fraud decisioning tuned by coding agents

Finic has published Kairos on GitHub, an open-source risk and fraud decisioning platform under the Apache License 2.0. The README presents it as an alternative to Sardine, Sift, Riskified and SEON, and says it has two things those products lack: a coding agent tunes it, and decision models catch fraud before you have labels to train on.
The core is real-time decisions. You send Kairos what happens in your product (sign-ups, logins, orders, payouts, chargebacks), and one call returns approve, step up, review or block, with a risk score and the reasons. The decision draws on the subject's history, the devices, cards and addresses it shares with others, and the session. Kairos keeps every decision together with the signals behind it. Around that sit workflows (ask a decision model, score with a model, branch, call webhooks, open cases, decide again later) and queues and cases, where review work goes to people and their resolutions become labels.
The distinguishing idea is who tunes the system. Claude Code, Cursor, Codex or any agent connects over an MCP server and, in the README's words, can do the work of a fraud ML engineer. It builds the workflow, defining what to decide, which questions to put to a decision model and which fields to score. It designs experiments, proposing variants such as a decision model alone, logistic regression on your numbers, gradient-boosted trees, a stack of them, or the decision model's answers combined with your numbers in one model. Kairos then runs them: the server trains each variant on your oldest labeled data, chooses on the next slice and tests on the newest, then reports ROC-AUC, PR-AUC, the gain over a baseline with its 95% interval, and precision and recall at your thresholds. The agent picks the winner, explains its choice, applies it as the workflow's next version and comes back when new labels arrive. Every agent action is recorded under its key.
The README shows a sample dialogue. A user says chargebacks went up and asks for a better model for shopify_order, to be published if it wins. The agent designs six variants, creates an experiment, reads the results and reports that logistic regression on the order's numbers plus Grayson's answers wins, with ROC-AUC 0.949 on validation and 0.930 on test, and publishes it as v6. This is an illustration inside the documentation, not a benchmark.
Kairos is built around Grayson, Finic's decision model. You ask it questions in plain language, such as whether a shipping address looks like a reshipper or whether an email is throwaway, and it answers with calibrated probabilities. The README says decision models are strong where traditional ML is weak: they work with few labels (Grayson works on day one, before you have thousands of chargebacks), they read unstructured data such as descriptions, emails, names, addresses, notes and item titles, and they explain themselves, because every answer is a question you wrote. Traditional models are strong where decision models are weak: they learn your own outcomes precisely from your own numbers and cost nothing per decision. Kairos lets you combine both, with Grayson's answers becoming features next to your fields in a logistic regression or gradient-boosted trees (XGBoost-compatible, trained in Kairos or uploaded).
Getting started: sign up at kairos.finic.ai, create a sandbox environment and a secret key, then in the console open Settings > MCP, turn on the tool groups your agent needs and create a key. In Claude Code, a single claude mcp add command with the HTTP transport registers the server; Cursor, Codex and VS Code work the same way. SDKs exist for TypeScript (@finic-ai/kairos) and Python (finic-kairos), along with a CLI and an HTTP API. The TypeScript example defines a withdrawal action with a plain-language hold question, tracks a login event and calls decide, which returns a decision, riskScore and reasons.
To self-host, you need Node.js 22, pnpm 10 and a Grayson API key from portal.finic.ai. There is no database to set up, since the server starts its own Postgres. pnpm kairos dev brings up the API on http://localhost:8787 and the console on http://localhost:5273, and a team deployment uses docker compose up --build. There is also a Shopify integration that decides every order, holds risky ones for review and learns from chargebacks; to get the app for a store, you contact the Finic team on Discord or at support@finic.ai. Inbound webhooks take events from providers such as Stripe. Issues and pull requests are welcome.
Key facts
- Kairos is an Apache-2.0 open-source platform from Finic that returns approve, step up, review or block, with a risk score and reasons, for sign-ups, logins, orders, payments and payouts.
- A coding agent such as Claude Code, Cursor or Codex connects over MCP to build workflows, design model experiments and publish the winner, with every action recorded under its key.
- Experiments train each variant on the oldest labeled data, choose on the next slice and test on the newest, reporting ROC-AUC, PR-AUC, gain over a baseline with a 95% interval, and precision and recall.
- It is built around Grayson, Finic's decision model, which answers plain-language questions with calibrated probabilities and is meant to work with few labels; it can be combined with logistic regression or gradient-boosted trees.
- Self-hosting needs Node.js 22, pnpm 10 and a Grayson API key from portal.finic.ai; SDKs exist for TypeScript and Python, plus a CLI and HTTP API.
Why it matters
Fraud and risk tooling is dominated by commercial products, and Kairos puts an open-source alternative to Sardine, Sift, Riskified and SEON on GitHub under Apache-2.0. Its pitch is a change in who does the tuning: instead of a fraud ML engineer, a coding agent builds workflows, runs experiments and ships the best model. It also targets the cold-start problem, since the decision model is meant to work before a team has enough labeled chargebacks to train a conventional model.
Who it affects
Teams that must decide on sign-ups, logins, orders, payments and payouts, and that already use or are willing to use a coding agent such as Claude Code, Cursor or Codex. Shopify merchants are covered by a dedicated app, obtained through the Finic team. Fraud analysts get queues and cases whose resolutions feed back as labels. Teams with their own models can upload logistic regression or XGBoost-compatible trees instead of training in Kairos.
How to use it
Either sign up at kairos.finic.ai, create a sandbox environment and a secret key, or self-host. For the agent route, open Settings > MCP in the console, enable the tool groups the agent needs, create a key and register the server in Claude Code with claude mcp add, then ask the agent to look at decisions, build a workflow or run an experiment. For code, install @finic-ai/kairos or finic-kairos, define an action, track events and call decide. Local setup needs Node.js 22, pnpm 10 and a Grayson API key from portal.finic.ai; pnpm kairos dev starts the API on port 8787 and the console on port 5273, and docker compose up --build covers a team deployment. The licence is Apache License 2.0.
How solid is it
Everything here comes from the project's own README, so the claims about beating alternatives on agent tuning and cold-start detection are Finic's. No independent benchmark or comparison against Sardine, Sift, Riskified or SEON is given. The ROC-AUC figures of 0.949 on validation and 0.930 on test appear only inside a sample agent dialogue, not as a measured result on real data. No fraud-detection accuracy, latency or throughput figures are given for the real-time decisions, and no release date, Kairos version number or named customers are given.
Risks and caveats
The source does not say how Grayson is built or trained, or how its probabilities were calibrated, so the quality of its answers is something to test on your own data. Setting up locally needs a Grayson API key from portal.finic.ai, and the source does not state whether Grayson can be run without it. No pricing is stated for the hosted service at kairos.finic.ai or for Grayson API usage. The README itself notes that decision models are weaker than traditional models at learning your own outcomes precisely, and that traditional models cost nothing per decision, which is why experiments are meant to decide the right mix. Giving an agent the power to publish workflow versions is a design choice; the README says each action is recorded under the agent's key.
“What makes Kairos different is who tunes it.”
— Kairos README, Finic