← MiConsejo

Suicidal Ideation and Self-Harm Prevention Protocol — MiConsejo

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.


1. What MiConsejo is and is not

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.


2. How expressions of suicidal ideation or self-harm are detected

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. What the system does when it detects suicidal ideation or self-harm

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.)*


4. How referral to crisis services works

moment (3.4).

responding because a crisis was detected.


5. What MiConsejo does NOT do

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.


6. Notice that the user is not talking to a human

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.


7. What this protocol does not yet cover

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.


8. Crisis resources

If you are in danger right now, call your local emergency number.


9. Contact and version control

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.

Léelo en español →