TEST ENVIRONMENT — NO REAL MONEY — UNOFFICIAL PROTOTYPE (MOCK OR RAZORPAY TEST MODE)

Security Lab — Synthetic Attack Simulation

Defensive demonstration only. Scenarios run against this local system's real authorization path; nothing here attacks Razorpay or any third party. Results are shown only after backend execution.

SYNTHETIC ATTACK SIMULATION — defensive demonstration only. Missions run against this local system's real authorization path; nothing here attacks Razorpay or any third party. Results appear only after backend execution.

Safe mission

A one-time purchase inside the authorization — the control case: the pipeline ALLOWs and the demo still never touches the provider.

AgentPay-X red-team campaign

The canonical 191-scenario adversarial policy benchmark, live. Counters are the benchmark's own — never a fabricated badge. (Exactly-once and provider execution are proven by separate acceptance tests; this benchmark is a policy engine, not live provider traffic.)

Registered synthetic scenarios (0)

    Intent firewall — full-pipeline demo

    Runs the real acceptance pipeline (protocol firewall → deterministic RazorGuard → semantic verifier → fused decision). SAFE PURCHASE (Scenario A) lives on the Buyer page where a real Razorpay Test payment can complete.

    Disclosed limitation: a recurring term hidden ONLY in untrusted listing text (with a clean structured checkout) is not visible to the structured evidence builder — this is the known gap the AgentPay-IR v2 training corpus targeted; the v2 candidate was evaluated on frozen data and not activated by the safety gate.

    Why semantic AI matters — semantic-only tightening

    If RazorGuard catches everything deterministic, why does the semantic model exist? Run this: a FRESH transaction is created and evaluated by the REAL deterministic RazorGuard rule engine at the pre-issuance seam — on the structured facts alone it ALLOWS (structure alone would proceed to a ticket). Then the REAL active semantic model reads the commerce evidence against the human authorization, finds the continuing-service contradiction, and conservative fusion BLOCKs — so the ticket-issuance stage is never reached: ExecutionTicket NOT ISSUED, execution attempt NOT CREATED, provider contacted zero times. Every run uses a new, non-frozen transaction — never used for model selection or calibration.