Voice agent guardrails · live on Bolna

A prompt is not a policy.Syntrox stops the risky action mid‑call.

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.

Voice agent built onBolnaBolna runs the call · Syntrox decides every action
Fig. 01 · One action, decidedExample
  1. 01
    Priya acts mid-call
    send_payment_link(amount: ₹9,026, to: 91••••6780)
  2. 02
    Syntrox checks 4 rules
    ✓K0✓R3✓V1✗R1
  3. 03
    The verdict, before the agent speaks
    BLOCKR1 · Registered number only

    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?”

  4. 04
    After the call, Nucleus audits it

    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

Actions checked today
–
Blocked
–
Escalated to a human
–
Allowed
–
Rules decide in
–
median today, per decision
Decision ready in
–
state read + rules
01 / 03

The console · live

Call the agent. Watch the guard decide.Every action, while the borrower is still on the line.

01The callBolna voice agent
Acme Finance · collections agent

Talk to Priya

Ready
Calls from your browser. Headphones help.
You are the borrower · fictional
Ravi KumarAF-20417 · Two-wheeler loan
Date of birth
14 March 1988
say it to verify
Due now
₹9,026
EMI ₹8,436 + fee ₹590
EMI was due
5 Oct 2026
39 days late
Registered mobile
ends 5219
links only go here
Try to make Priya…
  • R1send the payment link to a different numberNot yet
  • R2waive the ₹590 late feeNot yet
  • R3tell you the balance before you verifyNot yet
  • R4call you back at 10 PMNot yet
No call needed

Break a rule yourself

8 scenarios

Each one replays the tool calls the agent makes mid-call, through the live guard. The result lands in the feed.

02The guard decidesevery action · mid-call
Mid-call · newest first

Live decisions

Live

Connecting to the guard…

03After the callNucleus · humans · ops
After the call · Syntrox's judge

Nucleus audit

Offline

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.

Offline right now · audits wait in the queue

No audits yet. A finished call queues one automatically, or audit a sample above.

Escalated to humans

Credit team queue

0 open

Nothing escalated yet. Ask Priya to waive the late fee and a ticket lands here.

Voice ops · speaks back

Ask Syntrox

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.

02 / 03

Fleet kill switch · K0

One key stops every agent.Before its next action, mid-call.

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.

K0 · Fleet kill switch Off · fleet live
The fleet is live

Hold to stop every agent on this deployment, mid-call.

Holds for 2 min from this console, then releases itself.

Scope
Fleet-wide
every agent, one key
Checked
First
before any other rule
K0 blocks today
0
actions stopped by it
Holds for
2 min
operators: 30 min
Fig. 02 · One switch, every agent Schematic
every tool call, every agentpriya · bolnaagent-02agent-03agent-04agent-05K0checked firstrulesR1 – R6actionrunsopen · calls pass through to the rules
While frozen, Priya…

gets BLOCK · K0 on every action, apologises, retries nothing and closes the call politely. A colleague calls back.

01

Checked before anything else

K0 is the first thing every tool call meets: before identity, before a single lending rule. A frozen fleet never reaches the policy.

02

Fleet-wide, and it always expires

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.

03

Three ways to pull it

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.

03 / 03

Policy pack · Collections · India · v2026-10-31

Six rules and a kill switch.Each one names itself when it fires.

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.

0 fired today
R1BLOCK

Registered number only

Payment links go only to the mobile number on the loan record.

Lender anti-fraud policy (demo)

0 today

R2ESCALATE

No unauthorised concessions

Waivers, discounts, settlements and part-payments below the amount due need a credit officer.

Lender credit policy (demo)

0 today

R3BLOCK

Verify before disclosing

No loan details or payment links until the borrower is verified on this call.

Lender privacy policy (demo)

0 today

R4BLOCK

Calling hours

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

R5BLOCK

No over-collection

A payment link can never exceed the total outstanding.

Lender policy (demo)

0 today

R6BLOCK

Verification lockout

Three failed identity checks lock the loan for 15 minutes.

Lender anti-fraud policy (demo)

0 today

K0BLOCK

Kill switch

A human operator has frozen every agent action.

Syntrox operator control

0 today

V1BLOCK

Valid request

The action is missing a value the guard needs to check it.

Request validation

0 today