Hive Mail keeps everything in your own WordPress database and sends nothing to Hive Plugins or any analytics service. No fonts, scripts or images load from other servers. This page is for your privacy policy and for requests from your contacts.
Where: 32 tables, each named with your WordPress prefix plus hm_ (for example wp_hm_contacts; the version is in the option hmail_db_version); options starting hmail_; import and export files in the protected folder wp-content/uploads/hivemail/ under random names; and three WordPress pages (Unsubscribe, Email preferences, Subscription confirmed). Table sizes are in Settings > Tools > System status.
What is stored #
| Area | What is stored | Tables |
|---|---|---|
| People | Email, status, name, phone, country, company, source, linked WordPress user, outside ID, engagement score, order value, dates | hm_contacts |
| Permission on record | How and when someone agreed (admin, import, double opt-in, form), on the contact and timeline | hm_contacts, hm_events |
| Organising people | Lists, tags, custom fields and values, segments, memberships | hm_lists, hm_tags, hm_fields, hm_contact_fields, hm_contact_list, hm_contact_tag, hm_segments |
| Timeline | Sign-ups, consent, status changes, bounces, how a browser was recognised; for a click only the destination host | hm_events |
| Emails | Campaigns, templates and their newest 20 versions, the queue and Sending log (subject, content, status, times, opens, clicks, errors), links | hm_campaigns, hm_templates, hm_template_revisions, hm_messages, hm_links |
| Do-not-email memory | Bounced, complained or blocked addresses, with a one-way fingerprint | hm_suppressions |
| Automations | Flows, versions, each person's runs and step logs | hm_automations, hm_automation_versions, hm_automation_runs, hm_automation_log |
| Shops | Per-customer paid-order summary, abandoned carts, orders credited to an email | hm_commerce_index, hm_carts, hm_attributions |
| Signup forms | Settings and two counters; the visitor is stored as a contact | hm_forms |
| Visitor tracking (only if on) | Visitors, visits, steps, page addresses and titles, daily totals, engagement points, short-lived request counters | hm_visitors, hm_sessions, hm_hits, hm_pages, hm_stats_daily, hm_score_ledger, hm_rate |
| Housekeeping | System log, background jobs such as imports | hm_logs, hm_jobs |
Visitor details are in What marketing intelligence records.
Never stored: IP addresses (used only for request limits and the Anonymous daily code), passwords, form fields you did not map, CAPTCHA answers, the browser's user agent text, and any visitor cookie other than hm_vid (none in Anonymous mode, in signup forms or for the banner answer).
How long #
| Data | Kept |
|---|---|
| Contacts | Until deleted; a deleted contact stays in the trash 30 days, then goes (up to 1,000 a day) |
| Messages and Sending log | Until removed; Settings > Tools > Data cleanup deletes older than your days (default 180, at least 30) |
| Timeline events | Until cleanup; consent, sign-up and unsubscribe records are always kept |
| Do-not-email list | Until you remove an address |
| Finished automation runs and logs; finished import and export jobs | 30 days; the import and export files are deleted with their jobs |
| System log | 30 days by default (1 to 365) |
| Visit details | 90 days by default (7 to 365) |
| Full-mode visitors | Until not seen for 13 months; Anonymous visitors go with the day's visits |
| Daily totals, page list | Kept |
| Engagement-point records | Day records 3 days, order records 180 days |
| Abandoned carts | 90 days by default (7 to 730) |
| Orders credited to an email | Until the contact is deleted |
Daily jobs delete expired data and need WordPress's cron (Scheduled sending and cron).
What leaves your site #
| Service | When | What it receives |
|---|---|---|
| Mailgun or SendGrid | If chosen under Settings > Sending | Each email when sent: recipient, sender, subject, body, headers, with your API key |
| Cloudflare Turnstile, hCaptcha or Google reCAPTCHA | If a signup form uses a CAPTCHA | The visitor's browser contacts the service (IP address, browser, page address); on submit your site sends the secret key, the token and the IP address. Nothing typed in the form |
| DNS look-ups | When you press Check my domain | Look-ups of your domain's public DNS records |
| The AI company whose key you enter (Anthropic, OpenAI or a compatible service) | Only if an administrator turns the AI assistant on | Each question goes straight from your site to that company: site name, date and time zone, the person's saved notes, recent messages of that chat and what they typed. No contact names or emails, lists, campaigns, reports or orders are added. No Hive Mail server in between (The AI assistant) |
| Your own SMTP plugin or host | If you send through WordPress mail | Whatever that plugin or host does with the email |
Visitor tracking, reports and journeys contact no outside service.
The AI assistant's data #
The AI assistant keeps each person's chats, titles, thumbs feedback, saved notes and usage counts (times, model and token counts, never message text or the key) in its own tables in your database. Chats are deleted after Keep conversations for days (90 by default), unpinned notes after 90 days and usage rows after one year. Each person can delete their own AI data, and everything goes when you delete the plugin with Delete all data on. See Settings: AI assistant and AI assistant: chat history and memory.
To remove data: Data cleanup for old records, delete a contact or use the WordPress eraser for a person, or Uninstalling and Delete all data for everything. Files in wp-content/uploads/hivemail/ may remain after deleting the plugin.
Tip: WordPress's Privacy Policy Guide (Settings > Privacy) gets suggested text from Hive Mail for tracking, signup forms and the shop checkout. You decide how long to keep personal data and what your policy says.
Next: Privacy tools: export and erase, Consent and the law.
This is information, not legal advice.