WaSecure β Complete Feature Guide
Reference for demo videos, user guides, and training materials. Every user-facing feature is listed.
1. Getting Started
Login & Registration
- Email + password registration
- Email + password login
- Session-based auth (cookie)
WhatsApp Pairing
- Phone number entry (international format)
- 8-digit pairing code displayed (enter on phone: Settings > Linked Devices > Link with phone number)
- Auto-reconnects on page reload if session is valid
- Auth state persisted server-side (survives restarts)
Connection Status (visible in Icon Rail)
| Indicator | Meaning |
| Green dot | Connected to WhatsApp |
| Blue pulsing dot | Connecting |
| Yellow dot | Pairing in progress |
| Red dot | Disconnected |
Hover shows phone number and state text.
2. Navigation β Icon Rail
56px vertical bar on the left edge of the screen.
Section 1: User & Panel Toggles
| Icon | Action |
| User | Opens Settings / profile |
| Panel Left | Show/hide Contact List sidebar |
| Panel Right | Show/hide CRM sidebar |
Section 2: Main Navigation
| Icon | Page | Description |
| MessageSquare | Chats | Your WhatsApp conversations |
| GalleryHorizontal | Media Browser | Photos, videos, files per contact |
| ImagePlus | Media Library | Saved files to send to any chat |
| ListChecks | Actions | Follow-ups, reminders, birthdays red badge with count |
| MapPin | Contact Map | Interactive map of contacts |
| Plane | Trip Planner | Plan visits, map contacts, manage areas |
| LayoutDashboard | Dashboard | Portfolio overview and analytics |
| DatabaseBackup | Import & Export | Backup, transfer, restore data |
Section 3: Bottom Tools
| Icon | Action |
| Bot | AI Personalities page |
| Cpu | AI Settings page |
| BookOpen | Safety Guide (12-chapter scam awareness) |
| Voicemail | Away Mode toggle (amber fill when ON) |
| Settings | Settings page |
| HelpCircle | Toggle hover tooltips (green=on, gray=off) |
| MessageSquarePlus | Feedback modal (always amber) |
Section 4: Status
| Element | Description |
| Token counter | AI tokens used today (e.g. "1.2k", "X calls today") |
| Reset Connection | Visible only when disconnected (amber) |
| Status dot | Green/blue/yellow/red β shows phone on hover |
| Logout | Visible only when connected (red) β ends WhatsApp session |
3. Contact List β Left Panel
View Tabs
| Tab | Shows |
| Contacts | Active (non-archived) chats |
| Archived | Archived chats only (lazy-loaded on first click) |
| All | Both active and archived |
Search
- Simple search β filters by name, phone number, or WhatsApp ID (real-time, local)
- Advanced search β
Ctrl+Shift+F β searches across all message content
- Escape clears search text
Label Filter
- Toggle checkbox enables label filtering
- Multi-select dropdown with color indicators
- Shows label name + chat count
- OR logic (matches any selected label)
- "Clear all" button
Sort Order (automatic, not configurable)
- Pinned contacts first (oldest pin to newest)
- Then by last message timestamp (newest first)
Contact Row (each 72px tall)
| Element | Position | Details |
| Avatar | Left (68px) | Profile picture or initials fallback |
| Presence dot | On avatar | Green when contact is online |
| Contact name | Top-left | Truncated, falls back to phone/WA ID |
| Scam warning icon | After name | Red/orange/yellow shield by tier |
| Mute icon | After name | BellOff if chat muted |
| Action due icon | After name | Bell if pending follow-up |
| AI personality | After name | Emoji badge if assigned (not paused) |
| Unread dot | After name | Small green dot |
| Last message | Bottom-left | "typing..." (green), "recording audio..." (green), "You: text", or message body |
| Timestamp | Bottom-right | HH:MM today, "Yesterday", or "Jan 5" format |
| Label pills | Below message | Up to 3 colored label badges |
| Context menu | Hover right | Chevron, visible on hover |
Context Menu (right-click or chevron)
- Archive / Unarchive
- Mute / Unmute
- Pin / Unpin
- Mark as read / Mark as unread
- Labels (submenu with checkmarks)
- Block / Unblock (1:1 chats only)
- Clear chat
- Exit group (groups only)
- Delete
Zoom Controls
Plus/minus buttons with percentage display. Persisted across sessions.
4. Conversation View β Center Panel
Message Types Supported
| Type | Display |
| Text | Word-wrap, line breaks, mention highlighting |
| Image | Inline preview (lazy shimmer), click opens new window |
| Video | Inline preview with play overlay; GIFs auto-loop with badge |
| Audio / Voice (PTT) | Player with play/pause, progress bar, seek, duration (mm:ss) |
| Document | Icon + color-coded extension badge (PDF=red, Word=blue, Excel=green, PPT=orange, ZIP=yellow, TXT=gray) + filename + download |
| Location | Map thumbnail, coordinates, clickable Google Maps link, location name |
| Contact Card | User icon, contact name, "Shared contact" label |
| Sticker | Full-width WebP image |
| Poll | Question, option circles, "Vote on your phone" note |
| Deleted | Red "Deleted by sender" banner with trash icon |
| View-once | Orange "View-once β check your phone" banner |
Special Message Labels
- Imported β amber badge with archive icon
- AI β blue badge with bot icon
- Forwarded β italic text, "Forwarded" or "Forwarded many times"
Message Actions (hover chevron menu)
| Action | Available On | Details |
| Reply | All | Quote message, auto-focus composer |
| Edit | Own text messages | Inline textarea, Enter=confirm, Esc=cancel |
| React | All | 6 quick emoji picker |
| Star | All | Toggle star (yellow fill) |
| Forward | All | Modal to pick recipient |
| Download | Media only | Save to device |
| Save to Library | Media only | CAS dedup, duplicate detection |
| Copy | Text messages | Clipboard copy |
| Label | All | Apply/remove WhatsApp Business labels |
| Delete for me | All | Removes from your view |
| Delete for everyone | Own recent messages | Removes for all participants |
Delivery Status (own messages)
| Icon | Meaning |
| Clock | Sending |
| Single check (gray) | Sent to WhatsApp |
| Double check (gray) | Delivered to recipient |
| Double check (blue) | Read by recipient |
Other Indicators
- Edited β "Edited" label on modified messages
- Starred β Yellow star icon
- Reactions β Emoji pills below message with counts
Date Separators
"Today", "Yesterday", or full date ("Monday, 15th January 2025"). Inserted when date changes.
Scroll & Navigation
- Scroll position memory β restores per chat across navigation
- "Go to latest" button β floating button when scrolled >150px up
- "Load earlier messages" β button at top for older history
- "Load newer messages" β button at bottom in date-browsing mode
- Jump to date β calendar picker + quick buttons: 1 wk, 1 mo, 3 mo, Start
Group Chat Features
- Colored sender names β 8 colors (salmon, gold, green, cyan, pink, purple, orange, teal) assigned by hash
- Consecutive collapsing β reduced spacing when same sender sends multiple messages
Translation
- Per-message toggle β switch between original and translated text
- Auto-translate incoming β shows translated version by default (configurable per contact)
- Manual translate β click button on specific message, stored in DB
Header Controls
| Control | Description |
| Disappearing messages | Dropdown: Off, 24h, 7d, 90d |
| Labels | Show/add/remove labels on chat |
| Import Chat | Opens import modal (.txt/.zip) |
| Maintenance Tools | Selection mode, date browse, refresh, delete |
| Zoom | +/- with percentage |
| Typing indicator | "typing..." or "recording audio..." (green, pulsing) |
Reminder Banner
Yellow/amber bar at top when a reminder is due. Shows reminder text + how long ago created. "DONE" button to mark complete.
Selection Mode (via Maintenance)
- Checkbox per message, amber highlight
- Bulk delete selected messages
- Selection count in modal header
5. Message Composer
Toolbar Row (above text input)
| Button | Icon | Function |
| Save phrase | BookmarkPlus | Save current text as a quick phrase |
| Phrases panel | MessageSquare | Toggle panel showing saved phrases (count badge) |
| Rewrite style | Dropdown | Professional, Casual, Friendly, Formal, Flirty, Concise |
| Rewrite | Wand2 | Rewrite message with AI in selected style |
| Undo | Undo2 | Restore original text (after rewrite or translate) |
| Translate language | Dropdown | Select target language |
| Translate | Globe | Translate with DeepL |
Quick Phrases Panel
- Shows all saved CRM phrases + WhatsApp quick replies
- Click to paste into composer
- Hover actions: move up/down, edit (inline), delete
Setup Wizards (triggered automatically)
No DeepL key? Clicking translate opens the DeepL Setup Wizard.
No AI key? Clicking rewrite opens the AI Setup Wizard.
Out of credits? Shows buy top-up or use own key options.
Attachment Menu (+ button)
| Option | Input Type |
| Camera | Device camera (image, environment) |
| Photos & Videos | File browser (image/*, video/*) |
| File | Any file type |
| Location | Location picker modal |
| Contact Card | Contact picker modal |
| Sticker | .webp file browser (auto-sends) |
| Library | Library picker modal (saved media) |
Slash Commands
- Type
/ at start of message to trigger autocomplete
- Matches CRM phrases and WhatsApp quick replies
- Keyboard: Arrow Up/Down navigate, Enter/Tab select, Escape close
- Live sync via SSE when WA quick replies change
Text Input
- Auto-resizes with content (1 line up to ~10 lines / 240px)
- Spellcheck enabled
- Enter = send message
- Shift+Enter = new line
- Escape = close slash autocomplete
- Resets to 1 line after sending
Reply-to Display
Green-bordered quote card above textarea. Shows "You" or sender name + quoted message text. Cancel button (X) to dismiss. Auto-focuses textarea when reply initiated.
Typing Indicators
Sends "composing" signal on first keystroke, "paused" after 3 seconds of silence.
6. CRM Panel β Right Panel (4 Tabs)
Hero Section (persists across all tabs)
| Element | Details |
| Avatar | Click for full-size lightbox |
| Contact name | Primary display name |
| Pushname | WhatsApp name (prefixed with ~) if different |
| Phone number | Formatted with + prefix |
| Labels | Color-coded badges from WhatsApp Business labels |
| AI Personality | Emoji + name or Bot icon (shows pause state) |
| Reminder count | Bell icon, red if reminders exist |
| Block status | Ban icon, red if blocked |
| City / Location | Search-based geocoding picker |
Tab: Main
Scam Warning Banner
- Tiers: none, small (<$10), medium ($10-20), large ($20-100), major ($100+)
- Display: Confidence %, factual summary, colored by severity
- Actions: File report, Retract report, Dismiss auto-warning, Block contact
Red Flag Alert (banner on all tabs when level ≥ 2)
- Levels: 0 (none) to 3 (high concern)
- Categories: Money Requests, Location Probing, Pet Names, Guilt Manipulation, Secrecy, Video Evasion, Occupation Claims, Financial, Isolation, Premature Intimacy, Investment, Promise Deferral, Financial Test
- Actions: Full Scan, Report, Dismiss/Undismiss, Share (clipboard)
Contact Cycle
Input: "Contact every N days" (1-365). Auto-saves.
Reciprocity Tracking
- Period selector: 30d, 90d, All
- Who starts: You vs Them ratio bar + session count
- Response: Your/their response rate (%) + average response time
- Volume balance: Messages ratio + Words ratio (your vs them), media counts
- Engagement: Your/their question ratio (%), average message length
Behavioural Analysis
- Composite Warning Score: 0-100% gauge (green/yellow/orange/red), signal list
- Timing Heatmap: 7 days x 24 hours grid, estimated timezone, peak day/hour
- Endearments: From them / From you counts + density %, top 5 terms with category
Notes
- Freeform textarea (auto-save after 500ms)
- Summarise button: AI-generated conversation summary
- Summary actions: Append to notes, Replace notes, Refresh, Dismiss
Media Preview
8-thumbnail grid (4 columns). "+N more" indicator. Click to open Media Browser.
Tab: Flags
| Section | Features |
| Red Flag Panel | Full expanded version |
| Contact Cycle | Same as Main tab |
| Reciprocity | Full panel |
| Behavioural | Full panel |
| Fact Checker | Contradiction detection (see below) |
| Privacy: Data Inhibit | Toggle to opt contact out of AI analysis, tracking, scam reporting |
Fact Checker (Contradiction Detection)
- Analyze button β scans conversation for facts and contradictions (costs credits)
- Full refresh β re-analyze all messages
- Credit cost estimate shown before running
- Contradictions: Red box with confidence % (color-coded), "Earlier" vs "Later" fact comparison
- Extracted Facts: Collapsible cards with category badges (age, location, job, family, finances, education, relationship, other)
Tab: Info
| Section | Features |
| Birthday | Date picker |
| Anniversary | Date picker |
| Group Info | Member count, ephemeral setting, member list (admin badges), description, refresh |
| Relationship Stage | 7 stages: New, Talking, Dating, Committed, Long-term, Friend, Inactive. History timeline |
| Gift Tracker | Given/Received totals ($), add form (description, cost, occasion, direction), delete |
| Significant Dates | Label + date pairs, recurring indicator, add/delete |
| Talking Points | Topics with last-used date, add/delete, click to mark used |
| AI Dossier | Generate (costs credits): summary, personality traits, interests, communication style, key facts by category |
| Contact Trips | Associated trips list, add contact to trip, link to Trip Planner |
Tab: AI
| Section | Features |
| Reminders | Add (text + date), mark complete, delete. Color-coded: red=overdue, yellow=today, gray=future |
| AI Personality | Assign personality, configure mode (instant/delayed/paused), set delay |
| AI Credits | Balance bar (green/yellow/red), tier badge, buy top-up packs ($2.99/50, $4.99/100, $9.99/250), usage history |
7. Dashboard
| Element | Details |
| Stats grid (5 cards) | Contacts (total + 30d active), Messages (7d + 30d), Credits (balance/quota + tier), AI Calls (7d), Storage (used/quota %) |
| Warnings | Red: "N contacts with contradictions". Yellow: "N awaiting analysis" |
| Stage chart | Horizontal bar showing contact distribution across relationship stages |
| Recent contacts | 3-column grid: name, unread badge, warning triangle, stage, last message time. Click opens conversation |
8. Media Browser
| Feature | Details |
| Left sidebar | Chat list (filtered contacts) |
| Tab bar | Photos, Videos, Docs, Audio, Links |
| Sync button | Fetches latest media from WhatsApp |
| File grid | Thumbnails with hover: Download, Delete, Save to Library |
| Lightbox | Large preview, keyboard nav (left/right/Esc), Download, Delete |
| Select mode | Checkbox per file, Select All/None, Bulk Delete (originals/subsamples/both) |
| Duplicates panel | Files with same MD5 hash, keep-one option |
| Storage stats | Total size by type per contact, file details on hover |
| Purge modal | Shows where file is used (chats, message count), confirm |
9. Media Library
| Feature | Details |
| Filter tabs | All, Images, Videos, Docs, Audio |
| Upload | File input to add media |
| Grid | Thumbnails with type indicators (play/music/file icons) |
| Lightbox | Full preview, Previous/Next, Download, Send, Delete |
| Send modal | Search contacts, select recipient, optional caption, send |
| Purge modal | Shows ref count (chats + messages), confirm |
10. Actions Page
Action Types
| Type | Icon Color | Display |
| Overdue | Red | "N days overdue (cycle: Xd, last: Yd ago)" |
| Due Soon | Amber | "Due in N days (cycle: Xd)" |
| Birthday | Blue | "In N days β turns X" or "Today!" |
| Anniversary | Pink | "In N days" or "Today!" |
| Reminder Due | Purple | Reminder text |
| Upcoming Reminder | Light purple | Reminder text |
Action Card Buttons
- Chat β opens conversation
- Where Were We β AI summary of last conversation (overdue/due soon only)
- Snooze β dropdown: 1d, 3d, 7d, 14d, 30d
- Dismiss β removes until next cycle
11. Contact Map
| Feature | Details |
| Leaflet map | Interactive map with contact pins (names shown) |
| My location | Marker for your set location |
| Click contact pin | Opens conversation |
| Google Maps link | "Open in Google Maps" button |
| Contact count | "N contacts with locations" |
12. Trip Planner
Create Trip
- Name input
- Destination search (geocoding with debounce) + Map pin-drop
- City/Country (auto-filled or manual)
- Contact search radius slider (10-500 km)
- Start date / End date pickers
Trip Cards
Trip name + status badge (Planned/Confirmed/Traveling/Completed/Cancelled). Location, dates, days until (if within 30d), contact count.
Trip Detail View
- Status dropdown, destination, dates, budget, radius, notes
- Map with trip marker + radius circle
- Manual contacts (added by user, delete on hover)
- "Find people nearby" button: searchable list of contacts within radius showing name, city, distance (km), "Add" button
Area Manager
- Create Area: Name, search/pin-drop location, city/country, radius slider
- Area Cards: Name, coordinates, radius, contact count, Edit/Delete, expand to see contacts
13. AI Personalities
Personality Cards
Large emoji + name. Yellow star for default. Edit, Delete, Star buttons. System prompt preview (3 lines).
Create / Edit Modal
Emoji input (max 4 chars), name input, system prompt textarea (large), save button.
Assignments Table
| Column | Details |
| Contact WA ID | Phone number |
| Personality | Emoji + name |
| Mode | instant / delayed / paused |
| Delay | Minutes (if delayed) |
| Action | Delete assignment |
14. Safety Guide
- 12-chapter interactive HTML guide ("The Expat's Guide to Staying Safe")
- Covers scam pattern recognition and WaSecure alert explanations
- Accessible from Icon Rail (BookOpen) and onboarding
15. Import & Export
Export
- Tier selector (Base/Plus controls feature set)
- Date range picker
- Contact multi-select
- Media subsample toggle
- Export history log
- Download as .zip
Import
- Drag-and-drop .zip or .txt files
- WhatsApp chat import (Android/iOS .txt format)
- WaSecure round-trip import (re-import previously exported data)
- MD5 fingerprinting for dedup
16. Settings (8 Tabs)
General
| Setting | Details |
| Connection status | State + phone number display |
| Photos backfill days | 1-365 (how far back to sync photos) |
| Contacts backfill count | 1-500 (how many contacts to sync) |
| Send typing indicators | Toggle |
| Disconnect WhatsApp | Red button |
| Destroy All Data | Red button, 2-step confirmation |
Profile
| Setting | Details |
| Profile picture | Upload/change/remove |
| Display name | Text input, saves on blur |
| About / Status | Text input, saves on blur |
| Last Seen privacy | Everyone / My Contacts / Nobody |
| Online privacy | Everyone / My Contacts / Nobody |
| Profile Photo privacy | Everyone / My Contacts / Nobody |
| About privacy | Everyone / My Contacts / Nobody |
| Read Receipts | Toggle |
| Groups privacy | Everyone / My Contacts / My Contacts Except... |
| My Location | City, latitude, longitude, "Use my current location" button |
Media
Storage usage display and cleanup options.
Contacts
Import/export contact list.
CRM
| Setting | Details |
| Default cycle days | 1-365 |
| Warning window days | 1-30 |
| Birthday lookahead | 1-60 days |
| Anniversary lookahead | 1-60 days |
| Auto re-engagement | Toggle, personality selector, delay hours (1-720) |
| Quick Phrases | List with shortcut + text, add/edit/delete. Type /shortcut in composer |
Labels
- Label list: color square, name, "built-in" badge, chat count
- Edit: name + 10 color options
- Add new label: name + color
- Delete (non-predefined only)
- Reminder rules per label: toggle + days before reminder
Data
Export/Import panel (same as Import & Export page).
Billing
Subscription status, storage meter (used/quota with warning levels), plan selector (Base $9.95/mo, Plus $14.95/mo).
17. AI Settings (4 Tabs)
Provider
| Element | Details |
| Presets | Together AI (recommended), Mistral, OpenAI, Groq |
| Base URL | Editable, auto-filled by preset |
| API Key | Password field with show/hide, preview of saved key |
| Model | Editable, auto-filled by preset |
| Max Tokens | Number input (default 300) |
| Temperature | 0-2, step 0.1 (default 0.7) |
| Test AI | Input message + Send, shows reply + tokens + response time |
Translate
| Element | Details |
| Auto-translate incoming | Toggle β translates messages from contacts with a language set |
| DeepL API Key | Password field + Save |
| Usage bar | Characters used / limit (blue bar) |
| My Language | Dropdown β language to translate incoming messages to |
| Composer Languages | Multi-select grid β only checked appear in composer dropdown |
Rewrite
| Element | Details |
| Global Override | Textarea appended to every rewrite (e.g. "Always use British English") |
| Per-style prompts | 6 textareas: Professional, Casual, Friendly, Formal, Flirty, Concise. Saves on blur |
Log
Auto-reply history: contact phone, personality emoji + name, tokens, response time, incoming preview (80 chars), AI response preview (120 chars), timestamp. Refresh button.
18. Setup Wizards
DeepL Setup Wizard (triggered when translate clicked with no key)
| Step | Content |
| 1. Why DeepL? | Explains DeepL, free 500k chars/month, translate outgoing, auto-translate incoming, 30+ languages |
| 2. Get Your Free Key | Step-by-step: go to deepl.com/pro-api, choose Free plan, go to Account > API Keys, copy key |
| 3. Enter & Test | Paste key, Test button (verifies via usage API), success/error feedback, Save |
AI Setup Wizard (triggered when any AI feature used with no key)
| Step | Content |
| 1. AI Features | Explains: Auto-Reply, Rewrite, Dossier, Contradiction Detection. Mentions free monthly credits |
| 2. Choose Provider | Together AI (recommended, free tier), OpenAI, Groq, Mistral β with signup links |
| 3. Enter & Test | Provider info, API key input, Test Connection button, success/error, Done |
Credits Exhaustion Flow (triggered when credits run out)
| Option | Details |
| Buy more credits | Top-up packs: 50 ($2.99), 100 ($4.99), 250 ($9.99). Added on top of monthly allowance |
| Use your own AI key | Opens provider selection + key entry flow |
19. Admin Dashboard (7 Tabs)
Admin-only. 30-second auto-refresh on most tabs.
Overview Tab
| Section | Details |
| Stats bar | Total users, sockets (connected/connecting/disconnected), SSE clients, process RSS, uptime, CPU load |
| Resource bars | RAM (used/total MB), Disk (GB) β yellow >70%, red >90% |
| Connection summary | Connected, Needs Re-Auth, Paid Not Connected, Idle |
| Alerts banner | From Baileys health check (danger/warning/info) |
Users Tab
| Feature | Details |
| Search | By email, phone, or user ID |
| Filter chips | All, Connected, Disconnected, Suspended, Needs Re-Auth |
| Sortable columns | Email, subscription, WA state, phone, SSE clients, sessions, last login, created |
| Status badges | Suspended (red), Zombie (orange), High reconnects (yellow) |
| Click row | Opens User Detail Modal |
Connections Tab
| Section | Details |
| Disconnect codes (24h) | Color-coded grid: Red (403/405 ban risk), Yellow (401/409/412 reauth), Gray (other) |
| Connected sockets | User ID, phone, socket age, reconnects/hr, sent/received, zombie badge |
| Zombies | Connected but no messages >30min |
| High reconnection rate | Users >5 reconnects/hr |
| Ban risk (7d) | Users with 403/405 codes |
Telemetry Tab
| Chart | Type | Details |
| RAM Usage | Area | Blue used, gray dashed total |
| CPU Load | Line | Orange, 0-100% |
| Process Memory | Area | Purple RSS, blue heap |
| Users | Line | Green active, gray total |
| Messages/Hour | Stacked bar | Green sent, blue received |
Range selector: 1h, 6h, 24h, 7d. Capacity estimates: Peak RAM, Peak RSS, Avg CPU, RAM headroom.
Events Tab
Filterable audit log: event type dropdown, user search, date range (1h/6h/24h/7d). Paginated 50 per page.
Scam Reports Tab
| Section | Details |
| Stats bar | Total reports, unique phones, by infraction level (1/2/3) |
| Reports table | Phone (clickable), reporter, level badge, notes, date, edit/delete |
| Phone detail panel | Warning tier, report count, media hashes, cross-phone matches |
| Corpus section | Entry count, unique phones, languages, recent submissions |
Feedback Tab
Summary bar (5 severity cards). Filters: severity buttons + area dropdown. Table with screenshot lightbox. Delete entries.
User Detail Modal
Info grid: Email, phone, subscription, WA state, SSE clients, schema, last login, socket age, reconnects/hr.
Data counts: Contacts, chats, messages. Message stats (24h): Sent, received.
Sessions: Token IDs, expiry, Revoke per session, "Revoke All".
Recent events: 20 entries, scrollable.
Connections Dialog (5 actions, each with inline confirm)
| Action | Effect |
| Disconnect WhatsApp | Close WebSocket, preserve auth |
| Reconnect WhatsApp | Disconnect + immediate reconnect |
| Re-pair WhatsApp | Deregister device, delete auth, user re-scans code |
| Suspend | Block login, flag account (optional reason) |
| Unsuspend | Remove suspension |
Destroy Dialog (4 checkboxes, cascading)
| Checkbox | Effect |
| Clear WhatsApp data | Delete messages, contacts, chats, labels, media |
| Unpair WhatsApp | Deregister device, delete auth |
| Delete browser sessions | Force logout all browsers |
| Delete user account | Remove user, drop DB schema |
Must type "YES" to enable execute button.