The reply that binds the company
Jake Moffatt needed a last-minute flight after his grandmother died. Air Canada's website chatbot told him to book now and submit the bereavement claim within 90 days of the date the ticket was issued. The actual policy — sitting on a static page of the same website — said bereavement rates don't apply retroactively. He booked, applied, got refused, and took the airline to the British Columbia Civil Resolution Tribunal.
Air Canada's defense was remarkable: the chatbot, it argued, was "a separate legal entity that is responsible for its own actions." The tribunal did not laugh out loud, because tribunals don't, but the ruling (Moffatt v. Air Canada, 2024 BCCRT 149) reads close: the company is responsible for all the information on its website, "whether from a static page or a chatbot." Damages were CAD $812 — small-claims money, persuasive rather than binding precedent. The principle, though, is now the floor every support team stands on: the company owns what its bot says.
Which means you own what your drafter drafts, the moment you hit send.
Three ways a draft goes wrong
Every bad AI reply you'll catch in this job fails in one of three ways:
- It promises something nobody gave it authority to promise. A refund, a delivery date, a policy exception, "this won't happen again." The model isn't lying — it's completing a pattern. Reassuring sentences follow apologies in its training data, so it writes them. Your company's refund policy was not in the training data.
- It cites policy from memory instead of from the source. The bereavement answer was plausible. Plenty of airlines do allow retroactive claims. Plausible-but-wrong is the signature failure mode, and the only defense is checking the draft against the actual article — not your memory of the article, and definitely not the model's.
- The source itself is stale. The draft faithfully cites KB-204... which nobody has verified since the carrier changed its tracking statuses. Faithful citation of an expired policy is failure mode #2 wearing a badge.
The fix is a pack, not a vibe
You cannot hold "our current return window, everything we're not allowed to promise, and which KB articles are still true" in your head across a hundred tickets a day. Nobody can — that's not a discipline problem, it's an arithmetic problem.
So you write it down once, as data: the tone rules, the banned-promises list, and a KB index where every article carries a last-verified date. That's the policy pack. This lesson builds it and then does the thing the vendor academies skip: turns it into code that checks every draft automatically, so the Moffatt reply gets caught by a script at draft time instead of by a tribunal a year later.