| 开发者 | nicksull |
|---|---|
| 更新时间 | 2026年11月2日 17:14 |
| PHP版本: | 8.1 及以上 |
| WordPress版本: | 7.1 |
| 版权: | GPLv2 or later |
| 版权网址: | 版权信息 |
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:
wp bonnie purge runs the retention sweep on demand, and wp bonnie import runs the Flamingo / CFDB7 import from a script.the-bonnie-situation folder to /wp-content/plugins/, or install through the Plugins screen.No. Capture runs after mail handling and is wrapped so a storage failure is logged silently rather than breaking the form.
Not by default. IP storage is off out of the box. Bonnie Pro adds the option to anonymise (mask the last octet / last 80 bits) instead of storing the full address.
No. The free core is delete-only: submissions past their retention window are permanently deleted, with no second store to manage. Bonnie Pro adds an optional trash workflow — soft-delete with a restore window and a hard cap that force-deletes trashed entries.
No. Contact Form 7 emails each submission and keeps nothing in the database. To keep a record you need a storage plugin — Bonnie stores every submission, then deletes it when your retention window ends.
Flamingo and CFDB7 save submissions but do not expire them: entries stay in your database until someone deletes them by hand, and neither removes its data when uninstalled. Flamingo also records the sender's IP address and user agent by default. Bonnie stores no IP by default, deletes each submission automatically after the number of days you choose, logs every purge, and supports both the WordPress personal-data exporter and eraser.
Yes. Go to Bonnie → Settings → Import. Bonnie finds Flamingo and CFDB7 data in your database (the plugins can be active or deactivated) and imports it in batches. Imported entries follow your current settings: IP addresses, user agents and referrers are dropped unless you've turned them on, spam is skipped unless you capture spam, and entries already older than your retention window are skipped. Running it again only imports what is new. Nothing in the source plugin is changed — delete the old entries there once you've checked the import.
As short a time as you actually need them. GDPR's storage-limitation principle (and the Australian Privacy Act's equivalent) says personal data shouldn't be kept longer than its purpose requires; for enquiry forms, many sites choose 30 to 90 days. Bonnie enforces whatever window you set. This is not legal advice.
Retention runs daily via WP-Cron. On sites with little traffic, trigger wp-cron.php from a real system cron so the sweep fires on schedule. If no cleanup has succeeded for 48 hours, Bonnie flags it in Site Health and on the dashboard.
You're told. Bonnie records every cleanup run, and if one fails, or none has succeeded for 48 hours, it shows a critical item in Tools → Site Health and a notice on the dashboard and Bonnie's screens. If the daily schedule itself goes missing, Bonnie recreates it. The warning clears on the next successful run. Bonnie Pro can also send the alert by email, Slack or webhook.
bonnie_retention_failed, bonnie_retention_stale and bonnie_retention_recovered actions, and bonnie()->retention_status().do_not_store: true, and submissions where a consent_for:storage checkbox is left unticked, are no longer stored; values of do-not-store form tags (quiz answers, CAPTCHA) are dropped.bonnie.settings.cards JS filter so add-ons can add their own cards to the settings screen.email_hash column supports exact-email lookups, so add-ons can store submissions encrypted. Runs automatically on update.bonnie_email_hash filter; search and the WordPress personal-data export/erase tools find encrypted submissions by exact email.bonnie_submission_display_ip filter so add-ons can annotate the IP shown on a submission's detail view (display only; the stored value is unchanged).