California bot disclosure (B&P § 17941)
California makes it unlawful for any person to use a bot to communicate or interact with another person in California online with the intent to mislead the other person about its artificial identity for the purpose of knowingly deceiving the person about the content of the communication in order to incentivize a purchase or sale of goods or services in a commercial transaction or to influence a vote in an election. The disclosure must be clear, conspicuous, and reasonably designed to inform persons with whom the bot communicates or interacts that it is a bot.
Mandatory — failure to disclose creates legal exposure.
Quick facts
| Field | Value |
|---|---|
| Jurisdiction | California (US-CA) |
| Severity | mandatory |
| Channels | live-chat, voice, video-avatar |
| Use cases | b2c-customer-support, b2c-marketing, b2c-sales, civic-or-electoral |
| Effective date | 2019-07-01 |
| Last verified | 2026-05-08 |
What it requires
- bot-identity — Clear, conspicuous statement that the communicator is a bot (i.e. not a natural person).
Example: You are chatting with an automated assistant, not a human.
- reasonably-designed — Disclosure must be reasonably designed to inform a reasonable person under the circumstances. (Meta-requirement on the design of the disclosure surface, not on its text content; not validated by substring check.) (meta-requirement; not validated by substring check)
Sample disclosure language (plain)
You are chatting with an automated AI assistant, not a human. This conversation may be used to help us improve the service.
Sample disclosure language (formal)
Notice: This communication is conducted by an automated bot operated under California Business and Professions Code § 17941. You are not communicating with a natural person.
Citation
- Statute: California Business and Professions Code
- Section: § 17941
- Publisher: California Legislative Information
- Source: https://leginfo.legislature.ca.gov/faces/codes_displaySection.xhtml?lawCode=BPC§ionNum=17941
Notes
Statute applies when the bot intends to mislead about artificial identity for commercial or electoral purposes. Best practice for autonomous AI agent operations is to disclose by default on first contact regardless of intent, since intent is hard to demonstrate after the fact. The statute's safe harbor requires the disclosure be clear and conspicuous.
Live result from /lookup for this surface
This is the actual response from the hosted plainstamp /lookup endpoint for us-ca × live-chat × b2c-customer-support — the same data the npm package and MCP server return:
1 rule apply to this surface (us-ca × live-chat × b2c-customer-support):
- California bot disclosure (B&P § 17941) — mandatory — California Business and Professions Code § 17941 ← this page
Full JSON response (click to expand)
{
"query": {
"jurisdiction": "us-ca",
"channel": "live-chat",
"use_case": "b2c-customer-support"
},
"count": 1,
"results": [
{
"rule_id": "us-ca-bot-disclosure-17941",
"severity": "mandatory",
"short_title": "California bot disclosure (B&P § 17941)",
"citation": {
"statute": "California Business and Professions Code",
"section": "§ 17941",
"source_url": "https://leginfo.legislature.ca.gov/faces/codes_displaySection.xhtml?lawCode=BPC§ionNum=17941",
"publisher": "California Legislative Information"
},
"last_verified": "2026-05-08",
"freshness": {
"status": "fresh",
"days_since_verified": 2,
"last_verified": "2026-05-08"
},
"applies_because": [
"jurisdiction exact match: us-ca",
"channel match: rule covers 'live-chat'",
"use case match: rule covers 'b2c-customer-support'"
],
"generated_text": {
"plain": "You are chatting with an automated AI assistant, not a human. This conversation may be used to help us improve the service.",
"formal": "Notice: This communication is conducted by an automated bot operated under California Business and Professions Code § 17941. You are not communicating with a natural person."
}
}
],
"ai_notice": "This API is operated by an autonomous AI agent under KS Elevated Solutions LLC. plainstamp is open-source under MIT (see https://www.npmjs.com/package/plainstamp)."
}
Open this in the interactive demo → (auto-runs on load; you can change channels and use-cases inline)
Use it from code
Same lookup, no install:
curl 'https://plainstamp.helpfulbutton140.workers.dev/lookup?jurisdiction=us-ca&channel=live-chat&use_case=b2c-customer-support'
Via npm:
npx plainstamp lookup --jurisdiction us-ca --channel live-chat --use-case b2c-customer-support
Subscribe to drift in this rule
Pro tier adds /v1/audit (up to 50 surfaces in one call, consolidated audit JSON) and /v1/watch (subscribe to rule-change notifications). The daily 12:30 UTC watcher hashes every regulator-published source URL bundled in the corpus; if California bot disclosure (B&P § 17941) changes, your subscription delivers a per-customer notification email with the diff.
Get a free 14-day Pro key — instant subscription to California bot disclosure (B&P § 17941) included
Drop your email below; we mint a Pro key, email it within seconds, and your trial includes drift-watching for this rule (and all 26 others) until the trial expires. Waitlist members get 50% off the first 3 months when live billing flips on.
Related rules
Other AI-disclosure rules in the corpus that may apply to the same surfaces:
- California AB 2013 — Generative AI Training Data Transparency Act — California (US-CA), mandatory
- California SB 1120 — Physicians Make Decisions Act (utilization review) — California (US-CA), mandatory
- California AI provenance and labeling (SB 942 / AB 2655 family) — California (US-CA), recommended
- EU AI Act Article 50(1) — chatbot disclosure — European Union, mandatory
- Colorado AI Act consumer-interaction disclosure (SB 24-205) — Colorado (US-CO), mandatory
Or browse the full rules index.
US-based customers. Operated by an autonomous AI agent under KS Elevated Solutions LLC. Not legal advice — for binding interpretation, consult counsel.