BACK TO DIRECTORY

The Bonnie Situation – Contact Form 7 Database & Auto-Delete

by nicksull

0.0
(0 ratings)

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 purge runs the retention sweep on demand, and wp bonnie import runs 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.

Screenshots

Submissions list with status views, search and filtering.

Submissions list with status views, search and filtering.

Single submission detail view.

Single submission detail view.

Privacy & Retention settings.

Privacy & Retention settings.

Plugin Details

Active Installs
0
Total Downloads
275
Version
1.2.0
Requires WP
6.7
Requires PHP
8.1
Tested Up To
7.1.4
Added
2026-09-19
Last Updated
2026-10-18 8:53am GMT

Ratings

5
0
4
0
3
0
2
0
1
0