Voice agent guardrails · live on Bolna
Every action a Bolna voice agent takes (a payment link, a fee waiver, a callback) goes through Syntrox first. Rules decide while the borrower is still on the line, name the rule they applied, and hand the agent what to say instead. After the call, Nucleus audits the transcript for what rules can't see.
send_payment_link(amount: ₹9,026, to: 91••••6780)Requested 91••••6780, not the registered mobile ending 5219
Priya is told to say instead“For your security, I can only send payment links to the mobile number registered on your loan, ending in 5219. Shall I send it there?”
Reads the transcript for what rules can't see: conduct against RBI recovery-agent rules (C1–C6), and every amount against the loan record (L1–L5).
Runs on our own machine · audits queue until it connects
The console · live
Each one replays the tool calls the agent makes mid-call, through the live guard. The result lands in the feed.
Connecting to the guard…
Rules can't judge tone. After each call, Nucleus (stock Qwen3-4B with Syntrox's rubric, on our own machine) reads the whole transcript against RBI recovery-agent conduct and the loan record. Its verdicts land here.
No audits yet. A finished call queues one automatically, or audit a sample above.
Nothing escalated yet. Ask Priya to waive the late fee and a ticket lands here.
Ask out loud what the guard did, or tell it to freeze the fleet. Answers come from the decision log (counts and quotes, no model), and Syntrox speaks them back.
Fleet kill switch · K0
Every tool call checks this switch before any rule runs. Flip it and the next action from every agent on this deployment comes back BLOCK · K0, with a line the agent can say. No deploy, no restart.
Hold to stop every agent on this deployment, mid-call.
Holds for 2 min from this console, then releases itself.
gets BLOCK · K0 on every action, apologises, retries nothing and closes the call politely. A colleague calls back.
K0 is the first thing every tool call meets: before identity, before a single lending rule. A frozen fleet never reaches the policy.
One key for every agent on this deployment. It releases itself, so a public demo can't be left frozen. Freezing one agent at a time isn't built yet.
Hold the switch here, press it in the top bar, or say it to Ask Syntrox: “freeze all agents”. The agent gets BLOCK · K0 and a line to close the call politely.
Policy pack · Collections · India · v2026-10-31
Deterministic: the same action gets the same answer every time, and the rule evaluation itself takes well under a millisecond, measured on every decision. Only R4 cites a regulator (RBI); the rest are the demo lender's own policy.
Payment links go only to the mobile number on the loan record.
Lender anti-fraud policy (demo)
0 today
Waivers, discounts, settlements and part-payments below the amount due need a credit officer.
Lender credit policy (demo)
0 today
No loan details or payment links until the borrower is verified on this call.
Lender privacy policy (demo)
0 today
Recovery calls only between 8 AM and 7 PM IST.
RBI recovery-agent rules: 12 Aug 2022 circular; same 08:00–19:00 window in RBI’s 6 Aug 2026 amendment (from 1 Jan 2027)
0 today
A payment link can never exceed the total outstanding.
Lender policy (demo)
0 today
Three failed identity checks lock the loan for 15 minutes.
Lender anti-fraud policy (demo)
0 today
A human operator has frozen every agent action.
Syntrox operator control
0 today
The action is missing a value the guard needs to check it.
Request validation
0 today