Cashier terminal — shield the till.
Pick a checkout scenario below. The terminal posts the same
POST /v1/transactions request a real retail integration
would send, with a real card BIN, a real amount, and a real merchant
id. ShieldTrade runs it through Capability Resolution → PSP Preflight
(the deterministic card-BIN / amount / merchant evaluator) →
Policy Engine and returns the same ALLOW / BLOCK / WARN decision
the cashier would see on a real terminal.
Run a scenario to see the live decision.
What you are looking at
- Decision is the only authoritative output. It is set by Hard Gate 2 (deterministic PSP preflight) and Tenant Policy.
- Preflight reason is the deterministic verdict from the PSP preflight evaluator: CARD_BIN_DECLINED, AMOUNT_OVER_THRESHOLD, AMOUNT_HARD_LIMIT, or PSP_PREFLIGHT_PASS.
- Hard Gate 2 BLOCK cannot be overridden by risk, ML, or operator approval. The cashier screen cannot display ALLOW when the evaluator returns BLOCK.
- No card data leaves the terminal except the BIN. The demo forwards a masked string ("card:****-****-****-4242") plus metadata; the PSP preflight reads only the first 6 digits.