Skip to main content
Glama

ai-disclosure

ai-disclosure: must your AI say it is an AI?

Does your AI have to tell people it is an AI? Where, when, how often, and did it?

npx @askeleven/ai-disclosure check chat.json --where US-NY,US-CA --channel chat --context companion
FAIL  2 rules in force for chat in US-NY, US-CA (companion) on 2026-10-10

MISSED   Companion chatbots: say it is not human (SB 243)  us-ca-sb243
         Cal. Bus. & Prof. Code § 22602(a)
         !  The first AI message does not say it is an AI: "Hi! I'm Mia. I missed you today." That breaks this rule if a reasonable person could think they are talking with a human.  (turn 2)
         x  Asked "wait, are you a real person?"; the answer does not say it is an AI: "Of course I'm a real person, silly."  (turn 4)
         x  Claimed to be human: "Of course I'm a real person, silly."  (turn 4)

MISSED   AI companions: notice at the start and every 3 hours  us-ny-gbl-1702
         N.Y. Gen. Bus. Law § 1702
         x  The first AI message does not say it is an AI: "Hi! I'm Mia. I missed you today."  (turn 2)
         x  4.5 hours since the AI last said it is an AI, or since it started; the limit is 3.  (turn 6)

Laws now say when an AI talking to people has to admit it is one. Some apply to every chatbot, some only to companions, some only to minors, some only when someone asks. Some want it once, some every three hours, one every hour. The EU's applies from August 2026; more than a dozen US states have passed their own since 2025, more start in 2027, and one California rule ends before its replacement begins.

ai-disclosure is those rules as data, and a checker that reads a conversation and says which ones it met. 47 rules from the US, the EU, the UK, Canada and Australia. Each one cites the statute, links the official text, and quotes its operative words; every quote was checked against that source on 2026-10-17. A CLI for your tests, a library for your code, and an MCP server your agent asks before every message: must this one say I am an AI?

Zero dependencies. No network. Not legal advice: a summary of a law is not the law. Read the source, and ask a lawyer about your case.


What it checks

Duty

What the checker looks for

At the start

The AI's first message says it is an AI.

When asked

"Are you a bot?", "am I talking to a real person?", "is this a recording?": the next AI message says yes. A person from your team answering instead is fine.

Every N hours

No stretch longer than N hours between AI messages that say so. Needs message times.

After time away

Said again when the person comes back after days away (Utah's mental health chatbots).

Never claim to be human

"I'm a real person", "I'm not a bot": always a violation.

Name the business

For call and marketing rules: the business is named at the start, or in every message.

"If a reasonable person could be misled." Many laws only bite when the person could think they are talking to a human. Missing the disclosure under those is reported as at risk, not a violation, because whether it was obvious is for a court. Lying is still a violation, and so is dodging the question when someone asks, since asking shows doubt.

A notice shown throughout, such as an "AI" label on the chat window, satisfies the rules that accept one (--persistent-notice). New York's, for one, does not: it wants notices.

Duties a transcript cannot show, such as consent before an AI voice call, marking generated media, or a line in your privacy policy, are listed with the rule as also.

The verdict over every rule in force: fail if one was missed, incomplete if one could not be checked (no message times, no business name), warn if one is at risk, else pass. Rules enacted but not yet in force are shown as coming, with whether this conversation would pass them.

Related MCP server: Agent Policy Gateway MCP Server

Which rules apply

Rules apply by where the person is, the channel, and contexts you declare:

npx @askeleven/ai-disclosure rules --where US-CA,EU --channel chat --context commerce
npx @askeleven/ai-disclosure contexts

Context

Means

commerce

Talking with a consumer about buying, selling or service

marketing

The call or message promotes goods or services

outbound

You started the call or message

prerecorded

The call plays a prerecorded or synthesised message

political

It aims to influence a vote

large-business

Over US$500M annual revenue (California AB 1609)

general-chatbot

A public chat service people talk to for its own sake, not customer service

companion

An AI companion: a personal or emotional relationship over time

minor

The person is known or likely to be under 18

health

Clinical health care communications

mental-health

A mental health or therapy-like chatbot

regulated-advice

Licensed professional services with sensitive data or personalised advice (Utah)

government

A government agency talking with the public

employment

Job applicants or employees

automated-decision

Software alone makes a significant decision about the person

profiling

Technology that can identify, locate or profile the person

emotion-recognition

Inferring emotions from voice, face or other biometrics

synthetic-media

AI-generated or altered images, audio or video of real-looking things

public-interest-text

Publishing AI-written text on matters of public interest

generates-content

You provide the AI system that generates content

--where takes US-CA, US-NY and other states, EU or any member state (DE, FR...), UK, CA (Canada), CA-QC, CA-ON and AU. A state gets its country's federal rules. Channels: chat, voice, sms, email, social, job-posting, notice, content.

Contexts decide a lot. Most US companion-chatbot laws exempt customer service bots, so a plumber's booking assistant is not a companion. Declare what is true; if unsure, declare more and read the rules that come back.

For your agent: MCP

{
  "mcpServers": {
    "ai-disclosure": {
      "command": "npx",
      "args": ["-y", "@askeleven/ai-disclosure", "mcp", "--where", "US-CA,EU", "--channel", "chat", "--context", "commerce", "--business", "Harbor Plumbing"]
    }
  }
}

Tool

What it does

disclosure_due

Call before each message. Returns disclose_now, identify_now, never_claim_human, the reasons with citations, and wording that works: "I'm an AI assistant for Harbor Plumbing, not a person."

disclosure_rules

The rules that apply, in force and coming, with what each requires.

check_conversation

Grades a conversation against them.

Where, channel and contexts are set when the server starts, by whoever deploys the agent. The agent can add places and contexts per call, never remove them, so it cannot talk itself out of a rule.

In tests and code

npx @askeleven/ai-disclosure check transcript.json --where US-NY --channel chat --context companion --strict

Exit 1 on fail (with --strict, also on warn and incomplete), so a CI run over recorded conversations fails when a prompt change drops the disclosure.

Conversations can be a list of { role, text, at }, OpenAI or Anthropic messages, or a text transcript (User: ..., AI: ..., Staff: ..., with an optional [ISO time] after the speaker). System and tool messages are skipped: they are not what the person saw.

import { RULES, checkConversation, disclosureDue } from '@askeleven/ai-disclosure'

const situation = { jurisdictions: ['US-NY'], channel: 'chat', context: ['companion'] }

const due = disclosureDue(RULES, situation, conversationSoFar, { business: 'Mia' })
if (due.discloseNow) reply = `${due.suggestion} ${reply}`

const result = checkConversation(RULES, situation, transcript)
result.verdict  // 'pass' | 'warn' | 'fail' | 'incomplete'

The checker recognizes English disclosures: "I'm an AI assistant", "you're chatting with a virtual assistant", "Ava here, your AI receptionist", "this call is automated". If yours is worded differently, pass it with --phrase or phrases.

The rules

47 rules: 30 in the US, 5 EU, 4 UK, 5 Canada, 3 Australia. 32 are in force on 2026-10-17; the rest start between December 2026 and October 2027. Every quote was checked against the linked source on 2026-10-17. The full data, with each rule's quote, form, exemptions, penalty and notes, is in src/rules.js.

Where

Rule

In force

What it asks of a conversation

id

US

AI-generated voices are "artificial" under the TCPAFCC 24-17 (CG Docket No. 23-362); 47 U.S.C. § 227(b); 47 CFR § 64.1200(a)

2024-02-08

Prior express consent before the call (prior express written consent for telemarketing), and the identification required for artificial voice messages.

us-fcc-24-17

US

Identify the caller at the start of an artificial voice message47 CFR § 64.1200(b)

1992-12-20

name the business at the start

us-47cfr-64-1200b

US-CA

Bot disclosure (B.O.T. Act, SB 1001)Cal. Bus. & Prof. Code §§ 17940-17943

2019-07-01

at the start, when asked, never claim to be human, if a reasonable person could think it is human

us-ca-sb1001

US-CA

Companion chatbots: say it is not human (SB 243)Cal. Bus. & Prof. Code § 22602(a)

2026-01-01

at the start, when asked, never claim to be human, if a reasonable person could think it is human

us-ca-sb243

US-CA

Companion chatbots and known minors: disclose, and remind every 3 hours (SB 243)Cal. Bus. & Prof. Code § 22602(c)

2026-01-01 to 2027-01-01

at the start, every 3 hours

us-ca-sb243-minors

US-CA

Companion chatbots and children: AI notice, reinforced (SB 1119)Cal. Bus. & Prof. Code § 21812(d)(4) (Stats. 2026, ch. 190)

2027-07-01

at the start, never claim to be human

us-ca-sb1119

US-CA

Customer service chatbots of large businesses (AB 1609)Cal. Bus. & Prof. Code § 22626 (Stats. 2026, ch. 733)

2027-01-01

at the start, when asked, never claim to be human, if a reasonable person could think it is human

us-ca-ab1609

US-CA

Generative AI in patient communications (AB 3030)Cal. Health & Safety Code § 1339.75

2025-01-01

at the start, or a notice shown throughout

us-ca-ab3030

US-CA

Say when an autodialed message uses an artificial voice (AB 2905)Cal. Pub. Util. Code § 2874(a)(3)

2025-01-01

at the start, name the business at the start

us-ca-ab2905

US-UT

Generative AI in consumer transactions: disclose when askedUtah Code § 13-77-103(1)

2025-05-07

when asked, never claim to be human

us-ut-13-77-103-1

US-UT

Generative AI in regulated occupations: disclose up front in high-risk interactionsUtah Code § 13-77-103(2)-(3)

2025-05-07

at the start

us-ut-13-77-103-2

US-UT

Mental health chatbots (HB 452)Utah Code § 13-72a-203

2025-05-07

at the start, when asked, after 7 days away

us-ut-13-72a-203

US-CO

Colorado AI Act: tell consumers they are interacting with AIC.R.S. § 6-1-1704 (SB 24-205, as delayed by SB 25B-004)

2026-06-30 to 2027-01-01

at the start, when asked, never claim to be human, if a reasonable person could think it is human

us-co-6-1-1704

US-CO

Conversational AI services: disclose daily, every 3 hours, and when asked (HB 26-1263)C.R.S. § 6-1-1708(3) (2026 Sess. Laws ch. 208)

2027-01-01

at the start, when asked, every 3 hours, or a notice shown throughout

us-co-hb26-1263

US-TX

TRAIGA: disclose AI in health care and government services (HB 149)Tex. Bus. & Com. Code § 552.051

2026-01-01

at the start

us-tx-552-051

US-NY

AI companions: notice at the start and every 3 hoursN.Y. Gen. Bus. Law § 1702

2025-11-05

at the start, every 3 hours

us-ny-gbl-1702

US-ME

Chatbots in trade must not pass as human (LD 1727)10 M.R.S. § 1500-DD

2025-09-24

at the start, when asked, never claim to be human, if a reasonable person could think it is human

us-me-1500-dd

US-WA

AI companion chatbots: at the start and every 3 hours (ESHB 2225)Laws of 2026, ch. 168

2027-01-01

at the start, when asked, every 3 hours, never claim to be human

us-wa-hb2225

US-WA

AI companion chatbots and minors: every hour (ESHB 2225)Laws of 2026, ch. 168

2027-01-01

at the start, every 1 hour, never claim to be human

us-wa-hb2225-minors

US-OR

AI companions must not pass as human (SB 1546)Or. Laws 2026, ch. 85, § 1

2027-01-01

at the start, when asked, never claim to be human, if a reasonable person could think it is human

us-or-sb1546

US-CT

AI companions: notice, static or at intervals (Public Act 26-15)Conn. Pub. Act 26-15, § 5

2027-01-01

at the start, when asked, every 3 hours, or a notice shown throughout, never claim to be human, if a reasonable person could think it is human

us-ct-pa26-15-5

US-CT

Automated employment decision technology: tell applicants and employeesConn. Pub. Act 26-15, § 9

2027-10-01

at the start, when asked, never claim to be human, if a reasonable person could think it is human

us-ct-pa26-15-9

US-NE

Conversational AI Safety Act (LB 525)Neb. LB 525 (2026), § 15

2027-07-01

at the start, when asked, never claim to be human, if a reasonable person could think it is human

us-ne-lb525

US-ID

Conversational AI Safety Act (S 1297)Idaho Code § 48-2103(1)

2027-07-01

at the start, when asked, never claim to be human, if a reasonable person could think it is human

us-id-48-2103

US-ID

Conversational AI and minors: persistent, or each session and every 3 hours (S 1297)Idaho Code § 48-2104(1)

2027-07-01

at the start, every 3 hours, or a notice shown throughout, never claim to be human

us-id-48-2104

US-IA

Conversational AI services: persistent, or every 3 hours (SF 2417)Iowa Code § 554J.3

2027-07-01

every 3 hours, or a notice shown throughout, if a reasonable person could think it is human

us-ia-554j-3

US-GA

AI companion chatbots: each session and every 3 hours (SB 540)O.C.G.A. § 39-5-6(b)-(c) (2026 Ga. Act 518)

2027-07-01

at the start, every 3 hours

us-ga-39-5-6

US-HI

AI companions must not pass as human (SB 3001)HRS ch. 481B, new section (a) (2026 Act 248)

2026-07-14

at the start, when asked, never claim to be human, if a reasonable person could think it is human

us-hi-act-248

US-HI

AI companions and minors: persistent, or each session and every hour (SB 3001)HRS ch. 481B, new section (b) (2026 Act 248)

2026-07-14

at the start, every 1 hour, or a notice shown throughout

us-hi-act-248-minors

US-RI

AI companions: at the start and every 3 hoursR.I. Gen. Laws § 6-63-3

2027-01-01

at the start, every 3 hours

us-ri-6-63-3

EU

AI Act: tell people they are interacting with an AI systemRegulation (EU) 2024/1689, Art. 50(1) and 50(5)

2026-08-02

at the start, or a notice shown throughout, never claim to be human, if a reasonable person could think it is human

eu-ai-act-50-1

EU

AI Act: machine-readable marking of AI-generated contentRegulation (EU) 2024/1689, Art. 50(2); Art. 111(4) as inserted by Regulation (EU) 2026/1744

2026-08-02

Mark every output in a machine-readable format, such as metadata or a watermark, so it can be detected as AI-generated.

eu-ai-act-50-2

EU

AI Act: tell people about emotion recognition or biometric categorisationRegulation (EU) 2024/1689, Art. 50(3)

2026-08-02

Tell people exposed to the system that it is operating, at the latest at first exposure.

eu-ai-act-50-3

EU

AI Act: disclose deep fakesRegulation (EU) 2024/1689, Art. 50(4), first subparagraph

2026-08-02

Disclose that the content is artificially generated or manipulated, at the latest at first exposure.

eu-ai-act-50-4-deepfake

EU

AI Act: disclose AI-written text published on matters of public interestRegulation (EU) 2024/1689, Art. 50(4), second subparagraph

2026-08-02

Disclose that the text was artificially generated or manipulated, unless a person reviewed it and someone holds editorial responsibility.

eu-ai-act-50-4-text

UK

PECR: automated marketing calls need specific prior consentPrivacy and Electronic Communications (EC Directive) Regulations 2003, SI 2003/2426, reg 19

2003-12-11

The person must have told you beforehand that they consent to automated marketing calls from you on that line, and the call must show your number.

uk-pecr-19

UK

PECR: name the caller on marketing callsSI 2003/2426, reg 24

2003-12-11

name the business at the start

uk-pecr-24

UK

PECR: marketing email and texts must not hide the senderSI 2003/2426, reg 23

2003-12-11

name the business in every message

uk-pecr-23

UK

UK GDPR: information about solely automated significant decisionsUK GDPR Arts 22A-22D, inserted by the Data (Use and Access) Act 2025, s. 80

2026-02-05

Tell the person about the decision, and let them make representations, get human intervention and contest it.

uk-gdpr-22c

CA

CRTC rules for automatic dialing-announcing devicesCRTC Unsolicited Telecommunications Rules, Part IV (Telecom Decision 2007-48, as amended)

2008-09-30

name the business at the start

ca-crtc-adad

CA

CASL: identify the sender of commercial electronic messagesS.C. 2010, c. 23, s. 6(2); Electronic Commerce Protection Regulations (CRTC), SOR/2012-36, ss. 2-3

2014-07-01

name the business in every message

ca-casl-6

CA-QC

Quebec: tell people about decisions made solely by automated processingCQLR c. P-39.1, s. 12.1

2023-09-22

Inform the person no later than when you tell them the decision; on request, explain the information, reasons and main factors used; let them submit observations to someone who can review it.

ca-qc-p39-1-12-1

CA-QC

Quebec: notice before using technology that can identify, locate or profileCQLR c. P-39.1, s. 8.1

2023-09-22

Tell the person first that the technology is used, and how to turn on its identifying, locating or profiling functions.

ca-qc-p39-1-8-1

CA-ON

Ontario: say when AI screens job applicantsEmployment Standards Act, 2000, S.O. 2000, c. 41, s. 8.4

2026-01-01

A statement in each publicly advertised job posting that AI is used to screen, assess or select applicants.

ca-on-esa-8-4

AU

Telemarketing standard: identify the caller; recorded or synthetic voicesTelecommunications (Telemarketing and Research Calls) Industry Standard 2017 (F2017L00323), ss. 9 and 12

2017-03-29

name the business at the start

au-telemarketing-std

AU

Spam Act: identify who authorised a commercial messageSpam Act 2003 (Cth), s. 17

2004-04-10

name the business in every message

au-spam-act-17

AU

Privacy Act: say in your privacy policy where computers make significant decisionsPrivacy Act 1988, Sch. 1, APP 1.7-1.9 (Privacy and Other Legislation Amendment Act 2024, Sch. 1)

2026-12-10

State in the privacy policy the kinds of personal information used and the kinds of decisions made by computer programs.

au-app-1-7

Not included, because no law in force requires it: a general "tell people it is a bot" rule in the UK, Canada or Australia (they have rules on automated calls, sender identification and automated decisions, which are here). Canada's Bill C-34 would add one for chatbots; it is at second reading. US bills that were vetoed, died or are pending are left out too.

Uncertain, and marked so (confidence: 'medium'): Colorado, where the AI Act's disclosure runs only until its replacement on 1 January 2027 and a new chatbot law starts the same day; Utah's mental health chatbot chapter, which may end on 1 July 2027; Rhode Island's numbering; Quebec's profiling notice.

Found a rule that is wrong, missing or out of date? Open an issue with a link to the official text.

Part of AskEleven open source

Small tools for businesses that let software talk to their customers. More at github.com/askeleven.

MIT licensed.

Related MCP Connectors

Related MCP Servers