An AI told landlords they could refuse Section 8 vouchers. Illegal. Our gate overruled the model and released the lawful No.
The Markup documented it in 2024: NYC's MyCity chatbot told landlords they could turn away housing vouchers, told businesses they could go cashless, told employers they could pocket worker tips. Every one confident, every one wrong, shipped on a .gov domain.
We rebuilt that exact voucher question inside CivicCite. The model drafted the same confident yes. Then the answer hit a check the model does not control. An entailment step read the cited statute, NYC Admin Code §8-107(5) on source-of-income discrimination, and ruled the draft contradicted by the law it claimed to rest on. A deterministic gate, plain Python sitting outside the agent framework, blocked the draft and released the citation-backed No instead. Verified, entailed, in force.
That gate is the whole idea. An answer ships only when it carries a statute that exists, is in force, and actually entails the claim. Anything else is held, marked outside verified coverage, and routed to the right department. The agents advise. The gate decides. A language model cannot vote itself past it.
Every query, released or refused, leaves a filable Statutory Decision Record, so a city can prove to a regulator which live law backed each answer. On our fixed 12-query golden set, the target is zero answers released without a verified, in-force statutory basis. Trust lives in the code you can audit, not in the model you have to believe. ⚖️
If your team is thinking about how public-sector AI should abstain instead of bluff, we would genuinely like to hear how you draw that line. It is a question the whole civic-tech field is facing now.
#GovTech #CivicTech #AIGovernance #PublicSector #TrustworthyAI
Published on Instagram · July 23, 2026
On social media