TLDR: A blunt AI gate doesn't protect the product — it wrecks the funnel. The fix is a short block list and a generous allow list, not a wall.

The Setup

I was building a patient-matching chat tool for a cancer education business — a chat tool that helps patients find oncology treatment centers that match their situation.

The business had one clear goal: capture a lead before handing over contact details.

Reasonable. So I wrote a gate.

The Gate That Became a Wall

The AI's first job, in any conversation where we didn't have lead info yet, was to hold the line.

The line it said — literally, verbatim, over and over — was:

"Once you share your details below, I can help you book a consultation."

Done. Bullet-proof. Nothing gets through without a form fill.

And that's exactly what killed it.

The Numbers That Forced a Rethink

We hit real users. Then we pulled the analytics.

207 of 291 conversations — 71% — bounced right on that sentence.

Nine leads. Three consultations. Across 291 sessions.

The AI wasn't a helper. It was a doorman.

And these were cancer patients. People looking for treatment options for the hardest thing they'd ever face. They asked a question, got a velvet rope, and left.

What I Got Wrong

The scope of the gate was wrong.

I'd defined it as: block everything until we have a lead. That sounds like protection. What it actually is is a blunt instrument that treats "can you tell me about this clinic" the same as "what's the phone number."

Those are not the same thing.

The block list I needed was SHORT — not a default-deny.

The Fix (commit c8cccf4)

I rewrote the prompt around a tight, explicit matrix:

AI MAY share freely:

  • Facility names
  • Treatments offered
  • Doctor names and philosophy of care
  • What patients say they love about the center
  • City and state

AI STILL BLOCKS:

  • Phone numbers
  • Full websites
  • Email addresses
  • Full street addresses
  • Direct booking links

AI actively declines non-cancer queries — out of scope is out of scope.

And one more rule, bolded in the system prompt: DO NOT reference the form. Do not say "share your details below." Lead with value. Let the form stand on its own.

The new first response looked like:

"A holistic cancer treatment center is known for blending gentle, holistic therapies with advanced cancer treatments… Happy to help connect you whenever you're ready."

Warm. Specific. Useful. Doesn't point at the form. Doesn't withhold everything.

Why It Matters

The mistake wasn't having a gate. The gate was right — the product needs leads before it can route patients to real contact info.

The mistake was scoping the gate too broadly.

When your block list is "everything," the AI can't do its job. When your block list is precise — phone, email, full address, booking link — the AI stays in scope AND stays helpful.

Short block list. Generous allow list. That's the lesson.

A blunt gate doesn't protect your product. It just runs users off before they ever see the value.