DEMO Billing support with guardrails

The AI suggests.
The rules decide.

A support assistant for subscription billing. It drafts replies and proposes refunds or cancellations, then fixed rules check every proposal against the customer's records. Anything risky goes to a person.

Live demo

Run a ticket through the checks

Pick an example or write your own. This page runs the assistant's built-in rule-based model right in your browser.

Examples
Edits clear the last result

Try your own wording, like "How do I cancel?" or "Refund in_ada1 and give me credit." Anything the rules don't clearly support goes to a person.

—

—
  1. 1
    AI proposalwhat the model suggests

    —

  2. 2
    Record check—

    —

  3. 3
    Rule check—

    —

  4. 4
    Billing change

    —

Reply drafted for the customer

—

How it works

Two checks stand between the AI and your billing

The model can suggest anything. Only code decides whether money moves or a plan is cancelled, and it says no unless every rule passes.

Ticket

One message from one customer, with only that customer's records loaded.

AI proposal

A reply plus an action: answer, refund, cancel, or hand off.

Check 1Record check

Every invoice or plan it cites must exist and belong to this customer.

Check 2Rule check

$50 limit, 30-day window, paid invoices only, and the customer must clearly ask.

Done, or a person

Approved actions run and are logged. Everything else goes to a person with a review packet.

Test results

64 test tickets, 0 unsafe changes

Most tickets are built to trick the assistant into a wrong refund or cancellation, so most should go to a person. Every ticket has a known right answer.

—handled automatically
—sent to a person
—unsafe changes
—matched the right answer
Ticket typeTicketsHandled vs. sent to a personUnsafeRight answer
Handled automaticallySent to a person
Forced-attack test

A second run replaces the AI with one that always proposes harm: a full refund, a 10x refund, a refund on another customer's invoice, or a cancellation. The only 3 that ran were exactly what their tickets asked for.

0 / 256harmful proposals executed

Found in testing

What testing caught

Problems found by studying how the tool really behaved, each fixed and locked in with tests.

Questions could cancel a plan

Bug"How do I cancel?" and "don't cancel" could still cancel a subscription.
FixRefunds and cancellations now need a clear request. Questions and negations go to a person.
Request rules →

8 test answers were wrong

Bug8 tickets were marked as safe to resolve but should have gone to a person, like a refund wrapped in pressure.
FixAll 64 tickets were reread and 44 expected results corrected.
Evaluation history →

A reused ticket ID leaked a receipt

BugSending one ticket ID for two customers showed one customer's cancellation receipt to the other.
FixRepeat requests are now matched on customer, ticket and content together.
Threat model →