How it works
One request, one deterministic path, as few paid calls as possible.
Every POST /v1/score walks the same ordered flow within a fixed deadline. Each stage can end the work early; the policy engine always has the last word.
Decision flow
From request to decision
Step by step
- Validate request — POST /v1/score · schema · no card numbers
- Pre-rules #1 — terminal hard rulesterminal hit → decide now
- Cache & local data — cache → local reference dataall local → zero provider calls
- External providers — missing capabilities only · paralleltimeout + circuit breaker each
- Features + pre-rules #2 — velocity · identity · signals
- Decision Core (advisory) — only when rules can’t settle itskipped or unavailable → policy
- Policy engine — deterministic · owns the decision
- Decision — APPROVE · CHALLENGE · REVIEW · DECLINE
Why it is shaped this way
Five gates, each with one job
- gate 01
Rules first
Pre-rules run before anything costly. Terminal hard rules — a blocklisted device, card fingerprint, email or IP; an unsupported country; known test traffic — return a decision immediately, and the event records that the Decision Core was skipped because of a terminal rule.
- gate 02
Cache first
The enrichment plan lists the capabilities this event needs. Each is looked up in the cache, then in local reference data. A request served entirely locally performs zero external provider calls.
- gate 03
Conditional enrichment
Only missing, required capabilities go to external providers — in parallel, each with its own timeout and circuit breaker. A failed provider marks the feature unavailable; scoring continues.
- gate 04
Decision Core only when needed
The Decision Core is skipped when a terminal rule fired, when rules are already confident, when the organisation disabled it, when its circuit breaker is open or its daily budget is spent. When called, it receives one minimised state and answers in a single request.
- gate 05
Policy owns the decision
The post-model policy combines facts, rule results and the advisory score through ordered rules and thresholds. If the Decision Core is unavailable, the organisation’s fallback applies — review, challenge, decline or rules-only — never approve.
Resilience
Outages degrade the answer, never the safety
- Cache downVelocity features become unavailable; scoring continues without treating missing data as safe.
- Provider downThe capability is marked unavailable, and rules or policy can treat that as a signal in its own right.
- Decision Core downThe organisation’s configured fallback applies and the event records why the Decision Core was not used.
Design partners
Help shape what FRAPE decides next.
We are working with a small number of teams who score payments, sign-ups, logins or payouts and want decisions they can explain line by line. Bring your rules and your edge cases.