GroupShield Logo GroupShield

Moderating large WhatsApp groups is a nightmare. GroupShield automates it with custom rules, bilingual support, and a self-healing architecture.

Generic & Powerful

One bot to rule them all. Simple for admins, transparent for users.

šŸ¤–

Interactive Setup

No complex dashboards. Configure rules, languages, and enforcement steps through a natural DM conversation.

ā°

Time Windows

Define precise hours when messages are allowed. Perfect for forum-style groups.

🚫

Content Filter

Block forbidden phrases or enforce "Allowed Only" lists. Supports exact matches and regex containment.

šŸ”„

Anti-Spam

Prevent flood attacks with configurable limits for consecutive identical messages and daily volume.

āš–ļø

Gradual Enforcement

Warn, Delete, Remove, Block. You define the escalation path that fits your community culture.

šŸŒ

Bilingual Support

Full support for Hebrew and English out of the box, ensuring every user understands the rules.

🤬

AI Offensive Language Detection

A two-layer filter: a local wordlist catches known violations, then a Groq/Llama LLM catches leet-speak, special-character substitutions, and creative bypass attempts. Prompt injection attempts are blocked before they reach the model. Zero false positives — fails silently on infra errors.

šŸ•Æļø

Shabbat & Holiday Mode

Locks the group before Shabbat and all major Jewish holidays, reopens after. Times are fetched weekly from HebCal API. The group re-locks if someone manually overrides it during Shabbat. If the API fails, a guided recovery flow lets the admin enter times manually.

šŸ“

Group Description Sync

The bot writes the active group rules directly into the WhatsApp group description — automatically on setup, and on demand with a single command. Always in sync with the configured policy.

šŸ‘„

Management Groups

Link a dedicated WhatsApp group as the management hub. Multiple admins can run commands, receive violation reports, and undo enforcement actions — all without accessing the bot directly.

Live Stats

Real data from the running production instance.

—
Groups Managed
—
Violations Handled
—
Users Removed
—
Days Running

Experience GroupShield

A visual simulation of how GroupShield transforms your community management.

1. הגדרת הבוט (מול המנהל)
GroupShield Support
Online
2. הקבוצה הנאכפת
ש
שבת שלום
243 ×—×‘×Ø×™×
3. קבוצת הנהלה
ה
הנהלה - שבת שלום
3 מנהלים
4. הודעה ×¤×Ø×˜×™×Ŗ ×œ×ž×©×Ŗ×ž×©
GroupShield Support
Online

The Logic Engine

šŸ“„ Message

Incoming message is captured directly from the managed group.

🧠 Rule Engine

Cross-references content against regex logic and configured spam limits.

āš–ļø Action

Executes strict enforcement: deletes violation, warns, blocks or removes.

šŸ“£ Report

Delivers transparent logs to the admin group and a private DM to the user.

How We Catch the Uncatchable

A real-time trace of a message engineered to slip through every filter.

"יא ג'חש"
Arabic-origin slur — not in the word list, no spaces or substitutions
1
šŸ“š Word List + Smart Match MISS

The forbidden-word list is checked with normalization, homoglyphs, morphological variants, and fuzzy matching. "ג'חש" is not in the list and no known variant matches it.

2
šŸ“ Cosine Similarity MISS

The message is converted to a bigram vector and compared against all words in the list. Best score: 0.09 — well below the 0.65 suspicious threshold. No match.

3
⚔ Suspicion Score HIT →

The scorer checks 9 heuristic patterns. Pattern 7 fires: "יא" vocative prefix followed by an unknown word — a classic Arabic-origin insult structure. Message is routed to the AI layer.

4
šŸ¤– LLM — Groq / Llama 3.1 VIOLATION

The model receives the message with a zero-tolerance system prompt. It returns YES in under 4 seconds — Arabic-origin insult confirmed. Result is cached to prevent duplicate API calls.

5
āš–ļø Enforcement Pipeline
šŸ—‘ļø Delete šŸ“© Warn 🚫 Remove

The violation triggers the enforcement pipeline: message deleted from the group, private DM warning sent to the user, then removal. Each step is logged with a unique action ID for potential undo.

6
šŸ“¬ Developer Report LOGGED

The full enforcement report is sent to the management group. The LLM catch is flagged — the developer reviews the pattern and decides whether to add "ג'חש" to the permanent word list so future instances are caught instantly, without needing the AI.

Architecture & Tech Stack

Built for high availability, massive scale, and zero-maintenance.

āš™ļø

Node.js & Puppeteer

Reliable WhatsApp Web automation utilizing persistent sessions and a self-healing crash recovery protocol.

šŸ—„ļø

SQLite Multitenant

Local persistent database structured to handle configurations and warnings for thousands of groups efficiently.

⚔

Strict Event Queue

Rate-limited message processing pipeline that prevents connection bans and ensures deterministic rule evaluation.

🐳

Dockerized Architecture

Containerized setup for effortless deployment across any cloud provider with zero dependency conflicts.

🩹

Self-Healing Puppeteer

Advanced crash-recovery system that automatically restores the WhatsApp connection if the browser unexpectedly drops.

šŸ’»

No-Code Management

Configure complex rules, schedules, and immunity groups intuitively inside WhatsApp. No dashboard required.

🧠

Groq API & Llama 3.1

The AI moderation layer runs Llama-3.1-8b-instant via Groq with a 4-second timeout and a monthly usage cap. A suspicion scorer pre-filters messages before any API call. Prompt injection attempts — in Hebrew or English — are blocked instantly without involving the LLM at all. Fails silently on infra errors: zero false positives.

šŸ“…

HebCal API & Shabbat Scheduler

Every Thursday a cron job fetches candle-lighting times (Jerusalem) and Havdalah times (Netanya) from the HebCal API. The bot locks groups 5 minutes before entry and unlocks 5 minutes after exit, re-locking on any manual override. If the fetch fails, a guided recovery flow lets the admin enter times manually.

System Architecture Diagram

graph TD
    A["šŸ“± WhatsApp Group"] -->|"New Message"| B["šŸ¤– Puppeteer Bot\n(Node.js)"]
    B -->|"Enqueue"| C["⚔ Event Queue\n(Rate-Limiter)"]
    C --> D["🧠 Rule Engine\n(Regex / Time / Spam)"]
    D -->|"Clear Violation"| E["āš–ļø Enforcement Pipeline"]
    D -->|"Suspicious / Context Word"| LLM["šŸ¤– AI Layer\n(Groq / Llama 3.1)"]
    LLM -->|"Violation"| E
    LLM -->|"Clean"| F["āœ… Ignore"]
    D -->|"Immune user"| F
    E --> G["šŸ—‘ļø Delete Message"]
    E --> H["šŸ“© DM Warning"]
    E --> I["🚫 Remove User"]
    E --> J["šŸ“£ Report to Mgmt Group"]

    SCHED["šŸ•Æļø Shabbat Scheduler\n(Cron / HebCal API)"] -->|"Friday evening"| LOCK["šŸ”’ Lock Group\n(Admins Only)"]
    SCHED -->|"Saturday night"| UNLOCK["šŸ”“ Unlock Group"]

    B -->|"Read/Write"| K[("šŸ—„ļø SQLite DB\n(Multitenant)")]
    K --- L["Groups Config"]
    K --- M["Warnings Log"]
    K --- N["Immune List"]

    style A fill:#075e54,color:#fff
    style B fill:#128c7e,color:#fff
    style C fill:#1a1a2e,stroke:#00e5ff,color:#fff
    style D fill:#1a1a2e,stroke:#00e5ff,color:#fff
    style E fill:#1a1a2e,stroke:#f59e0b,color:#fff
    style LLM fill:#1a1a2e,stroke:#a855f7,color:#fff
    style SCHED fill:#1a1a2e,stroke:#f59e0b,color:#fff
    style LOCK fill:#1a1a2e,stroke:#ef4444,color:#fff
    style UNLOCK fill:#1a1a2e,stroke:#00ffa3,color:#fff
    style K fill:#1a1a2e,stroke:#00ffa3,color:#fff
            

Deployment Stack

The live production environment and orchestration pipeline.

šŸ–„ļø

VPS Hosting

Deployed on a dedicated Linux VPS ensuring 24/7 uptime and stable network resources for Puppeteer.

šŸ”ƒ

PM2 Process Manager

Daemonized via PM2 for background execution, automatic crash-restarts, and active log monitoring.

šŸš€

CI/CD Pipeline

Version-controlled deployments that seamlessly pull GitHub updates and smoothly reload the bot instances.

šŸ”

Environment Secrets

Sensitive config variables (admin numbers, tokens) managed via .env files and excluded from version control via .gitignore.

šŸ’¾

Automated DB Backups

Daily snapshots of the SQLite database to a remote location, ensuring zero data loss even on full server failure.

ā¤ļø

Health Check System

Active heartbeat monitoring that detects when the bot process goes offline and sends an immediate WhatsApp alert to the admin.

Frequently Asked Questions

Is my privacy protected?

Yes. GroupShield does not save your messages. Message contents are strictly evaluated in memory and discarded immediately unless a violation occurs (for reporting purposes only).

Can I use it on multiple groups?

Absolutely. A single GroupShield instance can seamlessly manage thousands of groups, each with its own independent rule configuration.

What happens if the bot crashes?

GroupShield is built with a self-healing architecture. It automatically detects connection drops and safely restarts the browser session without missing any backend data.

Does it read images or files?

No. GroupShield currently only processes text messages. You can optionally configure it to automatically block all non-text media if you wish.

What's the maximum group size?

GroupShield works flawlessly with WhatsApp's maximum group size (1024 members) and handles high-volume message traffic effortlessly.

Do I need technical knowledge?

Not at all. The entire setup process is done through an intuitive chat interface directly in WhatsApp.

How does offensive language detection work?

It uses a two-layer approach. First, a local wordlist detects known offensive words instantly with no API call. Then, a suspicion scorer decides whether a message is worth escalating. Suspicious messages are passed to a Groq-hosted Llama 3.1 model that catches bypass attempts like letter substitutions (e.g. א replaced by @) and leet-speak. Prompt injection attempts are blocked before they reach the model.

Can I add or remove words from the offensive language list?

Yes. Admins can add custom forbidden phrases or mark specific words as allowed (overriding the default list) using simple commands directly in WhatsApp — no code changes needed.

Does the bot work during Shabbat?

Yes. GroupShield itself runs 24/7 on a VPS — Shabbat mode locks the WhatsApp group, not the bot. The bot stays active and re-locks the group automatically if an admin manually reopens it during Shabbat.

What happens when a user is warned?

Each violation increments the user's warning counter. If warnings are enabled, the bot sends a private DM to the user explaining the violation. Once the warning threshold is reached, the full enforcement pipeline kicks in: delete the message, remove the user, and send a detailed report to the management group.

Can an admin undo a removal?

Yes. Every removal report contains a unique action ID. Admins can reply to the report with "undo" to reverse the action — the bot cancels the removal, resets the user's warnings, and logs the reversal.