OpenWA reference
Ban-risk practices
Why a linked WhatsApp account can be restricted, and the mitigations built into the platform.
No guarantee
WhatsApp does not permit unofficial automation. No setting here removes the risk of a restriction or ban. Treat the linked number as expendable and keep it separate from any number you cannot lose.
What you should do
- Use a dedicated number for each workspace, not a personal or main business line.
- Message only customers who contacted you or opted in. The platform never cold-messages.
- Keep volume low and conversational. Do not use the number for bulk sends.
- Tell customers up front that an assistant answers (the first reply carries the AI disclosure).
- Size the gateway for the number of accounts:
OPENWA_MEM_LIMITdefaults to 2 GB, and each whatsapp-web.js account needs roughly 300 to 500 MB.
What the platform does
| Mitigation | Behavior |
|---|---|
| Lowest-risk engine | whatsapp-web.js drives a real WhatsApp Web client in Chromium. |
| Reply-only | No templates, broadcasts or cold outreach exist in the product. |
| Read receipt and typing | The engine marks each inbound message read and, in private chats, shows typing while the answer is prepared. |
| Human-paced sending | Before sending, the engine shows typing (or recording for voice notes) for about 25 ms per character, clamped to 1.2 to 7 seconds, with random jitter. |
| Groups off by default | Enabled per assistant. The assistant answers only when addressed by a reply to its message or a trigger word, and shows no typing indicator while a group message is pending. |
| Staff takeover | A message sent from the phone itself flips the conversation to human mode so the assistant never talks over a person. |
| Local block only | Blocking a contact in the admin only makes the assistant ignore them. It does not block on WhatsApp, because mass blocking from a linked device is a ban signal. |
Watching for trouble
session.restriction events are stored in channel_event. A session.disconnected event with a reason such as banned or logged out marks the connection disconnected and queued replies are discarded as "channel inactive". See Operations.