What the plugin stores and sends
On this page
What CRM-NG SMTP keeps in your database, what leaves your server and where it goes, how secrets are protected, and how long data is kept.
This article lists the data CRM-NG SMTP stores on your site, the data it sends anywhere, and the controls you have over both. It is for site owners, privacy officers and anyone filling in a data-processing record or a privacy policy.
What leaves your server
- Your email, to the mail service you chose. That is the plugin's job. Each message, with its recipients, subject, body and attachments, goes to the mailer you configured (SendLayer, Google, Microsoft 365, an SMTP server and so on). That service is a data processor for you; check its own terms and data-processing agreement.
- Alerts, only if you set them up. Failure alerts can go to email addresses, a webhook, Slack, Discord, Microsoft Teams, Twilio SMS or WhatsApp. They contain the site address, the failed email's subject and the error text. See Email failure alerts.
- DNS lookups. The domain check after a test email asks the normal DNS system for your domain's SPF, DMARC and DKIM records, from your own server.
What never leaves your server
- No telemetry. The plugin does not collect usage statistics, does not phone home, and has no notification feed.
- No calls to Catalyst Group. Help links in the plugin open our documentation in your browser only when you click them. Nothing is sent to us.
- No vendor relays. Your email is never routed through a third-party sign-up or "connect" service. Google sign-in, for example, returns directly to your own WordPress site.
What is stored in your database
| Data | Where | Notes |
|---|---|---|
| Settings | The crmng_smtp option |
Sender, mailer and its settings. |
| Encryption key | The crmng_smtp_mail_key option |
Generated on first use, unless you set CRMNG_SMTP_CRYPTO_KEY in wp-config.php. |
| Email log | The crmng_smtp_local_logs table |
Date, status, mailer, sender, recipients (To, CC, BCC), subject, error text, delivery status, open and click counts. |
| Stored bodies and headers | Same table, encrypted | Only if you tick Store email bodies and headers. Off by default. |
| Open and click events | The crmng_smtp_local_events table |
Only if tracking is on. Each event records the time, the link clicked and the reader's browser user agent. No IP address is stored. |
| Attachments for resend | A protected crm-ng-smtp-local folder in uploads |
Only if you tick Store attachments for resend. Removed with the log entry. |
| Debug events | The crmng_smtp_debug_events table |
Sending errors, plus detailed traces while Debug Email Sending is on. |
| Queued email | Plugin tables and Action Scheduler | Only while Optimize Email Sending or rate limiting holds messages back. |
| Alert and backup settings | Plugin options | Tokens and the backup SMTP password are encrypted. |
How secrets are protected
- The SMTP password (Other SMTP) and the backup SMTP password are encrypted at rest with the plugin's key, using PHP's built-in libsodium.
- Stored email bodies, headers and the attachment list are encrypted with the same key.
- API keys and OAuth tokens are stored in the settings option in your database. For the strongest protection, define them in
wp-config.phpinstead so they never touch the database. See Securing settings with wp-config constants. - Moving the key: if you migrate the site without the
crmng_smtp_mail_keyoption, encrypted values cannot be read and you need to re-enter them. SettingCRMNG_SMTP_CRYPTO_KEYin wp-config.php keeps the key with your configuration.
Retention
- Email log: kept for the number of days set in Retention on CRM-NG SMTP → Settings → Email Log. The default is 30 days, and you can choose from 1 to 365. Older entries are removed by a daily clean-up.
- Debug events: kept for the Events Retention Period you choose on CRM-NG SMTP → Tools → Debug Events: 1 week, 1 month, 3 months, 6 months, 1 year or Forever.
- Delete now: on the Email Log tab you can Delete selected entries or use Erase all local email data.
See Retention and deleting log entries.
GDPR and privacy notes
- Logging is optional. If you do not need a record of sent mail, untick Enable local email logging on the Email Log tab.
- Store less. Leave Store email bodies and headers off unless you need to resend emails. Bodies can contain password-reset links and other personal data; the screen warns you of this.
- Tracking needs a basis. Open and click tracking is off by default. If you turn on Track HTML email opens or Track clicks in HTML email links, mention it in your privacy policy and check whether you need consent where you operate.
- Subject access and erasure requests. The email log is not connected to WordPress's Export Personal Data and Erase Personal Data tools. To find a person's entries, search the log by their address on the Email Log tab, export them with Export CSV, or select and delete them.
- Your mail service keeps its own logs. Deleting entries in WordPress does not delete them at the provider. Use the provider's dashboard for that.
Removing everything
Deactivating the plugin keeps all data. To remove it on deletion, go to CRM-NG SMTP → Settings → Misc, tick Remove ALL CRM-NG SMTP data upon plugin deletion under Uninstall CRM-NG SMTP, save, and then delete the plugin from Plugins. All settings will be unrecoverable. The clean-up removes only CRM-NG SMTP's own options, tables and files, never another plugin's. On a multisite network it runs for every site where the box is ticked.
