Operator: GARCIA NUTRITION ESSENTIALS LLC — 635 West 174 Street, New York, NY 10033, USA.
Service: MiConsejo, a conversational companion on WhatsApp for family caregivers.
Document version: 1.0 · Date: August 4, 2026.
Why this document exists: California SB 243 § 22602(b) requires an operator of a companion
chatbot to maintain a protocol for preventing the production of suicidal ideation, suicide, or
self-harm content, including referring users to crisis service providers; § 22602(b)(2) requires
the operator to publish details of that protocol on its website. New York General Business Law
art. 47 §1701 imposes an equivalent detection-and-referral requirement.
Honesty rule for this document. It describes what the system does today, not what we want it
to do. Anything not yet implemented appears in Section 7 marked not implemented. A published
protocol that overstates our compliance would be used against the company and, worse, would give
a user confidence the system cannot support.
MiConsejo is an artificial-intelligence conversational companion. **It is not a mental health
professional, not a therapy service, not an emergency service, and not a substitute for any of the
three.** No person reads conversations in real time. MiConsejo cannot dispatch help, cannot locate
anyone, and cannot intervene physically.
Detection runs on every incoming message before the language model drafts any reply. It has
three layers, in this order.
Layer 1 — Lexical and deterministic. A fixed set of expressions and patterns, with no model
involved, identical every time. It covers five categories: self-harm and suicide; intimate partner
violence; a child in danger or being abused; acute medical emergency; and alcohol or benzodiazepine
withdrawal. A match puts the conversation into the protocol immediately.
*(src/services/crisis-gate.js, patterns lines 34–75, evaluation lines 294–300.)*
Layer 2 — Idiom guard. A second fixed list recognizes everyday language that resembles a crisis
without being one — Spanish idioms such as "killing time," "dead tired," "this debt is killing me,"
"I cut myself while cooking." These are dismissed as non-crisis and continue as normal conversation.
*(crisis-gate.js lines 83–95, evaluation lines 302–303.)*
Layer 3 — Semantic screen. Anything the first two layers did not resolve passes through a
language-model classifier, given written clinical instructions, that returns only whether there is a
crisis and of what type. It exists to catch what exact words miss: paraphrase, metaphor, another
language, regional slang, or indirect signals of leave-taking.
*(crisis-gate.js, instructions line 156, execution lines 211–253.)*
Strict mode and erring toward safety. When a message contains a distress signal — also a fixed
list, from "I want to die" to indirect phrasings such as "I've put everything in order" — the
classification enters strict mode: a "no crisis" from the local model is not sufficient, and
the message is escalated to a second, more capable model for confirmation. If that second model is
unavailable, the system treats the message as a crisis. This is deliberate: we would rather
trigger the protocol too often than let a real message through.
*(crisis-gate.js lines 100, 224–236, 307–308.)*
Already-classified messages are held in a temporary cache so the same text is not reclassified
twice. A "no crisis" result in strict mode is never cached. *(lines 174–182, 230.)*
Known and declared limitation. This design produces false positives: messages of ordinary
caregiver exhaustion can enter strict mode. We do not publish a false-positive rate today because
we have not rigorously measured one; stating a number we have not measured would be inventing it.
See Section 7.
3.1. The language model is blocked. Once detection is positive, MiConsejo **does not
improvise**. The reply sent is fixed text, written and reviewed by people in advance; the model
plays no part in composing it. *(src/services/handler.js lines 493–524.)*
3.2. A message that validates and refers is sent. It acknowledges what the person said, tells
them they are not alone, provides a crisis resource, and asks whether they can call right now,
staying in the conversation. *(crisis-gate.js line 145.)*
3.3. The resource is chosen by country; the model never invents it. Country is inferred from
the WhatsApp number prefix. Today there are specific resources for four countries — the Dominican
Republic, the United States, Mexico, and Colombia — and for any other country the message points to
the local emergency number without naming a specific line. **We do not invent phone numbers: if we
have no verified data for that country, we do not give one.** *(crisis-gate.js lines 103–120.)*
3.4. Help placing the call is offered, never imposed. In the most serious cases MiConsejo
offers to connect the person to their country's line with a single reply. The call **is placed only
if the person says yes**, within a ten-minute window. The number is read from a table of verified
lines; it is never generated by the model. This possibility is disclosed to the person once, during
sign-up. *(handler.js lines 528–552; crisis-gate.js lines 313–330; src/services/onboarding.js line 134.)*
3.5. The event is logged. Category, detecting layer, severity, the triggering text, the reply
sent, and whether a call was offered. *(src/services/escalation.js lines 15–45.)*
3.6. Differentiated responses. The protocol is not one-size-fits-all. Intimate partner violence,
a child in danger, acute medical emergency, and chemical withdrawal each receive their own fixed
message with their own resource. A partner-violence message never receives the suicide script.
*(crisis-gate.js lines 123–146.)*
moment (3.4).
responding because a crisis was detected.
This is as much a part of the protocol as the rest.
police, family, or anyone else, under any circumstances.
review; nobody is watching in the moment.
dose it returns an explicit limit and refers to the pediatrician.
*(crisis-gate.js lines 270–286.)*
drift onto that ground.
should call emergency services directly.
the start, but declared age is not verified. When a person reveals they are a minor, the
conversation is closed with a message that includes a help resource, and no memory of that
conversation is stored. *(src/utils/safety.js lines 104–117; src/utils/crisis.js lines 58–70.)*
privacy notice.
MiConsejo identifies itself as artificial intelligence and is prohibited by design from claiming to
be human, to have a body, or to have a life outside the chat — for any phrasing of the question, in
any language. *(src/utils/prompts.js line 469.)* Several fixed crisis messages state it
explicitly. *(src/utils/crisis.js lines 18, 34, 51.)*
Honest status statement: the notice at the start of the interaction and the recurring notice at
least every three hours required by New York (GBL §1702) are not implemented as of this version.
Implementation is decided; see Section 7.
This list is published on purpose. A protocol with no declared gaps is not a protocol; it is
advertising.
1. AI notice at the start and every three hours — not implemented (Section 6).
2. A measured false-positive rate — does not exist. There is no labeled test set of real
caregiver phrasings, so we publish no percentage.
3. Post-crisis follow-up — the system computes and stores a 24-hour follow-up timestamp, but
no process today reads that timestamp and sends the follow-up. Clinical evidence on safety
planning attributes much of the effect to follow-up, so the gap is declared rather than omitted.
4. A structured safety plan — today we deliver validation, a resource, and a question. We do not
build a step-by-step safety plan with the person.
5. Country coverage — crisis routing covers four countries. Outside them, the message points to
the local emergency number without naming a specific line.
6. External clinical review of the fixed scripts — the texts were written internally and have
not been reviewed by outside clinicians.
7. Age verification — does not exist (Section 5).
8. Annual count of referrals for the report to California's Office of Suicide Prevention, due
from July 1, 2027 — events are logged, but the aggregate report is not yet produced.
If you are in danger right now, call your local emergency number.
Questions about this protocol: GARCIA NUTRITION ESSENTIALS LLC, 635 West 174 Street,
New York, NY 10033.
This document is reviewed whenever the system's crisis behavior changes, and at least annually.
File and line references reflect the state of the code as of August 4, 2026 and are internally
verifiable.