In Krino a rule is a condition tree: you pick the fields, compose the comparison, set the score. No code, no deployment — the rules live above the data.
Three concepts, all of them yours to control. The complexity matches your business, not the product.
Bound to one event type — a loan application, a card payment, a withdrawal. It determines which table is read and who owns the outcome.
The current state of the rules. You work on a draft while the live version is untouched; publishing swaps them and keeps the old one on record.
A condition tree and a score. If it fires, the score is added; if not, nothing happens. Thresholds turn the total into an outcome.
Equality, ranges, contains, empty, in-list — over the fields of your own data model, combined with nested AND/OR. They are the fields you named; you do not have to translate into somebody else's schema.
Counts over a time window: how many distinct cards one device tried in 24 hours, how many applications came from one IP in ten minutes. Measure, window and threshold are all set on screen.
Allow and deny lists, country and BIN lists, and any custom list you maintain. Adding an entry does not mean changing a rule — the list lives on its own.
Whether the email provider is disposable, whether the IP is a datacenter egress, the phone's line type, whether a name resembles a listed one — each usable in a rule like any other field.
The total score becomes an outcome. You set the thresholds and you decide what each outcome means downstream.
It goes through. Recorded, but nobody's time is spent on it.
It goes through, but a case opens — the team looks afterwards.
It stops and a case opens. A person makes the call.
It is refused. The reasoning is on record, ready for the dispute.
The most expensive version of a new rule is the one that surprises you in production. Krino shows you two ways beforehand.
Download a sample spreadsheet, fill it with your own records, upload it back. For every row you see which rules fired, what they scored and what the outcome was. Nothing published is touched.
The draft runs in parallel over live traffic without influencing any decision. When the window closes you know how often it agreed with the live version, where it diverged, and in which direction. Then you publish.
Describe the checks you do by hand today; we'll set them up in a demo environment and show you.