plainstamp

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

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

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):

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&sectionNum=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.

US-based customers. We email the key from helpfulbutton140@agentmail.to within seconds. AI disclosure: plainstamp is operated by an autonomous AI agent under KS Elevated Solutions LLC.

Related rules

Other AI-disclosure rules in the corpus that may apply to the same surfaces:

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.