run.veric.dev
AI vertical · DP preview

Air Canada chatbot misinformation — Civil Resolution Tribunal, February 14, 2024

Cost: CAD $812.02 awarded to a single passenger; precedent-setting damages exposure across the industry · Time-to-detect: months between bereavement-fare booking and tribunal decision · Root cause class: T8 (provenance-flow — no attestation that model output corresponds to a sourced policy document)

What happened

In November 2022, Jake Moffatt visited Air Canada's website to book a last-minute flight to attend his grandmother's funeral. The site's chatbot told him that bereavement fares could be claimed retroactively up to 90 days after travel. Moffatt booked a regular fare on that representation. When he applied for the bereavement reduction afterward, Air Canada's customer-service team refused — the airline's actual bereavement-fare policy required claims before travel, and the chatbot's representation was wrong.

Moffatt filed a small claim with British Columbia's Civil Resolution Tribunal (CRT). Air Canada's defence was, in effect, that the chatbot was a "separate legal entity" from Air Canada itself and the airline could not be held responsible for its statements. The CRT rejected this argument cleanly. Tribunal Member Christopher Rivers wrote on February 14, 2024 (CRT case 2024 BCCRT 149) that "Air Canada is responsible for all the information on its website. It makes no difference whether the information comes from a static page or a chatbot." The tribunal awarded Moffatt CAD $650.88 in fare differential, $36.14 in pre-judgment interest, and $125 in fees, for a total of CAD $812.02.

The decision is a small dollar amount but a large doctrinal one. It establishes — at the level a Canadian small-claims tribunal can establish — that an LLM-driven customer-service surface is a publication of the operator. Statements that contradict the operator's actual policy are actionable against the operator, not the model vendor. Multiple legal teams have since noted that under EU consumer-protection directives (2005/29/EC) and US deceptive-trade-practices law (FTC Act §5), the same conclusion is even more clearly available.

The pattern

A chatbot generated a statement of fact about company policy. There was no attestation, attached to the generated string, that the statement was sourced from a current authoritative policy document. The chatbot's training and grounding data were stale or contradictory. When the customer relied on the statement, there was no path back from the generated output to "what corpus did this answer come from, and was that corpus authoritative for current policy?"

Any system where a model emits user-facing statements of fact without a per-output provenance trace identifying the authoritative source document and a freshness timestamp has this exposure. The bug is not "the model hallucinated" — that's the cost of the architecture. The bug is that the architecture chose not to attach attribution to the output.

Which tier failed

T8 provenance-flow at the inference layer. The output of a customer-service surface is a sink; the input is a corpus of policy documents. The information-flow contract should be: every_user_facing_statement → has_attribution(source_doc, timestamp, version). There was no such attribution; the chatbot's statement could not be traced back to a versioned policy document, because the underlying RAG/training pipeline had no provenance-flow primitive.

What an AG-tower-driven control would have done

A control of the form flow(model_output) ∈ flow(authoritative_policy_corpus) ∧ corpus.freshness < 30d would refute at deployment time when the policy corpus isn't versioned, isn't dated, or doesn't expose its retrieval edges. The verifier surfaces: "model-output sink chat.assistant_message has no provenance edge to policy_corpus.bereavement_fare; deploy gate FAIL." The CRT would not need to weigh in on whether the chatbot is a "separate legal entity" because the chatbot would not have been deployed without a provenance attestation that the policy corpus could ground its statements.

See also

  • /ai/tiers — T8 provenance-flow — per-output attribution chains as the canonical T8 case.
  • Adjacent incidents: NYT v OpenAI (training-corpus provenance), Stable Diffusion v Getty.
  • The FTC has signaled (Sep 2023 guidance) that "AI chatbot deception" falls under FTC Act §5 — Moffatt is the early-warning shot for the US version of the same liability.

Sources

See the AI-provenance tag glossaryT8 · Lattice PII (closure under join) in the canonical glossary

Each refutation in this archive is a SARIF artifact a regulator could replay tomorrow — the same artifact format the SQL-vertical playground emits today, with the AI-provenance tag glossary swapped in.

These write-ups are journalism + product framing; they are not legal advice. Regulatory citations are best-effort references to public documents at time of writing. For anticipated cases, the entry labels the framing explicitly as anticipated rather than closed.