Directory / plugin
The Bonnie Situation – Contact Form 7 Database & Auto-Delete
v1.2.0 · by nicksull
Save Contact Form 7 submissions to your database, then auto-delete them on a schedule. GDPR-friendly CF7 storage that imports Flamingo & CFDB7.
About this plugin
Contact Form 7 does not store submissions: once the email is sent, the data is gone. The usual fix is to bolt on a storage add-on that keeps everything forever, including IP addresses, with no expiry. The moment a form collects personal data, that becomes unbounded risk.
The Bonnie Situation captures every Contact Form 7 submission to the database and treats stored data as a liability. It suppresses IP storage by default and automatically deletes entries after a configurable number of days, enforced by a scheduled job. Clean it up before Bonnie gets home.
What it does
- Capture every CF7 submission to a custom table, after mail handling, so it never delays or blocks your email.
- Browse, search, sort and filter submissions in a modern DataViews admin, with a per-submission detail view.
- Delete individual submissions permanently, on demand.
- Delete-only retention: suppress IP storage and automatically delete submissions after a configurable number of days — enforced daily by WP-Cron, with an audit log of every purge.
- Subject-request tooling: integrates with WordPress’s Tools Export/Erase Personal Data so requests by email include captured submissions.
- Import from Flamingo and CFDB7: bring existing entries across in one click, under your privacy settings and retention window — the source plugin doesn’t even need to be active.
Clean it up before Bonnie gets home.
Privacy-first defaults
IP storage is off, spam is discarded, user agent and referrer are off, CF7’s internal fields are never stored, and Contact Form 7’s own do_not_store and consent_for:storage opt-outs are honoured. The plugin provides controls that support GDPR / UK GDPR / Australian Privacy Act / CCPA compliance; lawful basis and configuration remain the site operator’s responsibility. This is not legal advice.
Bonnie Pro
This plugin is fully functional on its own: it captures submissions and enforces delete-only retention. Bonnie Pro, a separate add-on distributed off WordPress.org, adds:
- CSV / JSON export of the current view or selected rows.
- Address book of deduplicated contacts, with click-through to each contact’s submissions.
- Trash workflow — soft-delete with a restore window and a hard cap that force-deletes trashed entries, instead of the free delete-only model.
- Bulk delete across selected submissions.
- Per-form overrides — each form sets its own policy, window, IP rule and field mapping on the Contact Form 7 editor.
- IP anonymisation — store a masked address (last octet / last 80 bits) instead of the full IP.
- Encryption at rest — names, emails, subjects and form fields encrypted in the database, with the key kept in wp-config.php.
- WP-CLI —
wp bonnie purgeruns the retention sweep on demand, andwp bonnie importruns the Flamingo / CFDB7 import from a script.
Development
Bonnie is free software (GPLv2 or later). The complete, human-readable source —
including the React admin under src/ and the build tooling — is developed in
the open:
https://github.com/nicksull/the-bonnie-situation
That repository holds the un-minified source for every shipped asset — the
React admin entry points src/index.js and src/settings.js that compile to
build/index.js and build/settings.js. Build them with
@wordpress/scripts:
npm install
npm run build
Bonnie Pro is a separate add-on, distributed off WordPress.org. This plugin is
fully functional without it.