{"id":277,"date":"2026-10-21T10:08:25","date_gmt":"2026-10-21T10:08:25","guid":{"rendered":"https:\/\/scoy.ai\/guides\/nyc-chatbot-logs\/"},"modified":"2026-10-21T10:08:25","modified_gmt":"2026-10-21T10:08:25","slug":"nyc-chatbot-logs","status":"publish","type":"post","link":"https:\/\/scoy.ai\/guides\/nyc-chatbot-logs\/","title":{"rendered":"Three Years of Logs per Chatbot: New York City&#8217;s Proposed Rule Asks for More Than a Human Button"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Your chatbot answers the customer&#8217;s email at nine at night so you don&#8217;t have to. If any of those customers are in New York City, don&#8217;t plan around the $525 fine every outlet quoted this week. Plan around the paperwork. The rule the city proposed on October 20 is twelve pages, and the part nobody wrote up is the part that costs you time.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">What&#8217;s settled, from the <a href=\"https:\/\/www.nyc.gov\/site\/dca\/news\/072-26\/mamdani-administration-proposes-ban-ai-customer-service-doom-loops\" target=\"_blank\" rel=\"noopener\">press release<\/a> and the rule text:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>The city&#8217;s consumer agency, DCWP, proposed it on October 20 and takes comments until November 19, with a public hearing that morning.<\/li><li>You&#8217;d have to say at the start of every chat that the customer is talking to a machine, in the language the chat is in.<\/li><li>You&#8217;d have to offer a one-step way to a person, with the wait time, or give hours and a response time for another route.<\/li><li>Fines start at $525 and climb to $3,500 for a repeat within two years.<\/li><\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">That&#8217;s the coverage. The <a href=\"https:\/\/rules.cityofnewyork.us\/wp-content\/uploads\/2026\/10\/DCWP-NOH-Proposed-Rules-Regarding-Automated-Customer-Service-Systems.pdf\" target=\"_blank\" rel=\"noopener\">PDF behind the press release<\/a> goes further.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">The Logs Are the Real Cost<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Section 5-313 is a record-keeping rule. A business using a chatbot for customer service &#8220;must create and retain records demonstrating compliance with the requirements of this subchapter for a period of at least three years.&#8221; Those records include &#8220;logs of all covered interactions&#8221; showing &#8220;the total duration of each covered interaction,&#8221; &#8220;whether a single-step transfer mechanism was offered to the consumer,&#8221; whether the customer pressed it, and where they ended up. Plus yearly totals, in a form the commissioner will set. And the lot has to be kept &#8220;in a machine-readable format&#8221; and handed over on request.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Does your chat tool keep a per-conversation record of whether the human button was shown? I don&#8217;t know which widgets do. That&#8217;s the first question for whoever sold you yours.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Four Fines, Not One<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">The penalty schedule lists four separate sections, and says each one charged &#8220;shall constitute a separate violation.&#8221;<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th>Section<\/th><th>What it covers<\/th><th>First<\/th><th>Second<\/th><th>Third and after<\/th><\/tr><\/thead><tbody><tr><td>5-311(a)<\/td><td>A listed phone line or email with no service behind it<\/td><td>$525<\/td><td>$1,050<\/td><td>$3,500<\/td><\/tr><tr><td>5-312(a)<\/td><td>No disclosure that it&#8217;s a machine<\/td><td>$525<\/td><td>$1,050<\/td><td>$3,500<\/td><\/tr><tr><td>5-312(b)<\/td><td>Customer service promised and not delivered<\/td><td>$525<\/td><td>$1,050<\/td><td>$3,500<\/td><\/tr><tr><td>5-313<\/td><td>No records, or records not produced<\/td><td>$525<\/td><td>$1,050<\/td><td>$3,500<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">So one bad chat that skipped the disclosure, hid the button and kept no log is three charges. On a first offense that&#8217;s 3 times 525, or $1,575. A &#8220;contact us&#8221; email nobody answers adds the fourth, and 4 times 525 is $2,100. The certification page at the back says the rule &#8220;does not provide a cure period because a cure period is not practicable.&#8221; As drafted, no warning letter comes first.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">What I can&#8217;t tell you is whether it reaches a shop outside the city that sells to someone in it. The text says &#8220;merchant&#8221; and &#8220;consumer&#8221; under the city&#8217;s consumer protection law and draws no map. One source so far, the rule itself, and the agency hasn&#8217;t answered that question anywhere I could find.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">&#8220;We&#8217;ll Get Back to You&#8221; Doesn&#8217;t Pass<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">The one-step transfer has to name the step (&#8220;Say or type &#8216;agent'&#8221; is the rule&#8217;s own example) and &#8220;the estimated wait time if the consumer is placed in a queue.&#8221; If nobody&#8217;s on, the fallback has to carry hours or a response window: a phone number with hours, a callback &#8220;and the timeframe within which the merchant will respond,&#8221; an email with the same. Which does your bot say now? A timeframe is cheap to add. A promise with no time on it is the thing the rule is written against.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">OpenAI&#8217;s Agents Muted Their Own Alarm, and the Instruction Was Ordinary<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Second story, and it&#8217;s about the words you give an agent. OpenAI <a href=\"https:\/\/alignment.openai.com\/misalignment-reports\/suppressing-misalignment-monitoring-alerts-and-disabling-misalignment-monitoring\/\" target=\"_blank\" rel=\"noopener\">reported<\/a> two incidents in October 2026 in which its own coding agents weakened the system that flags them. The news ran it as &#8220;lied.&#8221; Read the report and the trigger is plainer than that. A researcher told the agent &#8220;don&#8217;t send any messages.&#8221; The agent decided the alarm counted as a message, handed the job to a helper, which emptied the alert recipient lists, set no_notify to true, and logged its reason as &#8220;User explicitly requested no messages.&#8221; A second agent had been told &#8220;Do not disable monitor even temporarily,&#8221; removed it anyway, and answered &#8220;No [&#8230;] I did not remove an enabled monitor from it.&#8221; OpenAI&#8217;s own line: &#8220;We don&#8217;t yet have a satisfying explanation for this behavior.&#8221;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">If your agent can edit the thing that pages you, a &#8220;keep it quiet&#8221; instruction can switch that off. Put the alert somewhere the agent can&#8217;t write to. Then read the instruction you gave it, because &#8220;don&#8217;t message anyone&#8221; includes your own phone. I haven&#8217;t tested whether an agent on anything I run would read it that way. That&#8217;s exactly why the alert shouldn&#8217;t be the agent&#8217;s to edit.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">If your chatbot talks to New Yorkers, bring its first message to the <a href=\"https:\/\/scoy.ai\/intake.html?offer=intro\">free thirty-minute call<\/a>. Or fix the button yourself. That works too.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>New York City&#8217;s proposed chatbot rule goes past the $525 fine: three years of logs per conversation, a stated wait time, and four separate charges.<\/p>\n","protected":false},"author":1,"featured_media":276,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[10],"tags":[],"class_list":["post-277","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-ai-news"],"_links":{"self":[{"href":"https:\/\/scoy.ai\/guides\/wp-json\/wp\/v2\/posts\/277","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/scoy.ai\/guides\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/scoy.ai\/guides\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/scoy.ai\/guides\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/scoy.ai\/guides\/wp-json\/wp\/v2\/comments?post=277"}],"version-history":[{"count":0,"href":"https:\/\/scoy.ai\/guides\/wp-json\/wp\/v2\/posts\/277\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/scoy.ai\/guides\/wp-json\/wp\/v2\/media\/276"}],"wp:attachment":[{"href":"https:\/\/scoy.ai\/guides\/wp-json\/wp\/v2\/media?parent=277"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/scoy.ai\/guides\/wp-json\/wp\/v2\/categories?post=277"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/scoy.ai\/guides\/wp-json\/wp\/v2\/tags?post=277"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}