{"id":300207,"date":"2026-04-22T15:16:56","date_gmt":"2026-04-22T15:16:56","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/foxry-vault\/"},"modified":"2026-04-22T15:16:05","modified_gmt":"2026-04-22T15:16:05","slug":"foxry-vault","status":"publish","type":"plugin","link":"https:\/\/ky.wordpress.org\/plugins\/foxry-vault\/","author":23480567,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_crdt_document":"","version":"1.2.0","stable_tag":"1.2.0","tested":"6.9.4","requires":"6.0","requires_php":"7.4","requires_plugins":null,"header_name":"Foxry Vault","header_author":"Foxry","header_description":"Save and manage Contact Form 7 submissions in your database. Never lose a message again.","assets_banners_color":"fbb566","last_updated":"2026-04-22 15:16:05","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"","header_author_uri":"","rating":0,"author_block_rating":0,"active_installs":0,"downloads":83,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.2.0":{"tag":"1.2.0","author":"foxry","date":"2026-04-22 15:16:05"}},"upgrade_notice":[],"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3512972,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3512972,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3512972,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.2.0"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3512972,"resolution":"1","location":"assets","locale":"","width":1346,"height":679},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3512972,"resolution":"2","location":"assets","locale":"","width":1365,"height":682},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3512972,"resolution":"3","location":"assets","locale":"","width":1364,"height":676},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3512972,"resolution":"4","location":"assets","locale":"","width":1353,"height":672},"screenshot-5.png":{"filename":"screenshot-5.png","revision":3512972,"resolution":"5","location":"assets","locale":"","width":1346,"height":682},"screenshot-6.png":{"filename":"screenshot-6.png","revision":3512972,"resolution":"6","location":"assets","locale":"","width":1355,"height":681},"screenshot-7.png":{"filename":"screenshot-7.png","revision":3512972,"resolution":"7","location":"assets","locale":"","width":1361,"height":680},"screenshot-8.png":{"filename":"screenshot-8.png","revision":3512972,"resolution":"8","location":"assets","locale":"","width":1353,"height":683}},"screenshots":{"1":"Entry list \u2014 sortable columns, form filter, bulk actions, CSV export, and unread badges (English)","2":"Entry detail \u2014 all submitted fields with metadata and edit\/delete actions (English)","3":"Settings \u2014 auto-delete schedule for GDPR compliance and IP address privacy toggle (English)","4":"Dashboard widget \u2014 today \/ this week \/ unread counts with latest entries at a glance (English)","5":"Entry list \u2014 Japanese translation with full i18n support (\u65e5\u672c\u8a9e)","6":"Entry detail \u2014 Japanese translation (\u65e5\u672c\u8a9e)","7":"Settings \u2014 Japanese translation (\u65e5\u672c\u8a9e)","8":"Dashboard widget \u2014 Japanese translation (\u65e5\u672c\u8a9e)"},"jetpack_post_was_ever_published":false},"plugin_section":[262246],"plugin_tags":[5445,1152,153,187790,202777],"plugin_category":[42,59],"plugin_contributors":[260835],"plugin_business_model":[],"class_list":["post-300207","plugin","type-plugin","status-publish","hentry","plugin_section-dashboard-widgets","plugin_tags-cf7","plugin_tags-contact-form-7","plugin_tags-database","plugin_tags-form-entries","plugin_tags-form-submissions","plugin_category-contact-forms","plugin_category-utilities-and-tools","plugin_contributors-foxry","plugin_committers-foxry"],"banners":[],"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/foxry-vault\/assets\/icon-128x128.png?rev=3512972","icon_2x":"https:\/\/ps.w.org\/foxry-vault\/assets\/icon-256x256.png?rev=3512972","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/foxry-vault\/assets\/screenshot-1.png?rev=3512972","caption":"Entry list \u2014 sortable columns, form filter, bulk actions, CSV export, and unread badges (English)"},{"src":"https:\/\/ps.w.org\/foxry-vault\/assets\/screenshot-2.png?rev=3512972","caption":"Entry detail \u2014 all submitted fields with metadata and edit\/delete actions (English)"},{"src":"https:\/\/ps.w.org\/foxry-vault\/assets\/screenshot-3.png?rev=3512972","caption":"Settings \u2014 auto-delete schedule for GDPR compliance and IP address privacy toggle (English)"},{"src":"https:\/\/ps.w.org\/foxry-vault\/assets\/screenshot-4.png?rev=3512972","caption":"Dashboard widget \u2014 today \/ this week \/ unread counts with latest entries at a glance (English)"},{"src":"https:\/\/ps.w.org\/foxry-vault\/assets\/screenshot-5.png?rev=3512972","caption":"Entry list \u2014 Japanese translation with full i18n support (\u65e5\u672c\u8a9e)"},{"src":"https:\/\/ps.w.org\/foxry-vault\/assets\/screenshot-6.png?rev=3512972","caption":"Entry detail \u2014 Japanese translation (\u65e5\u672c\u8a9e)"},{"src":"https:\/\/ps.w.org\/foxry-vault\/assets\/screenshot-7.png?rev=3512972","caption":"Settings \u2014 Japanese translation (\u65e5\u672c\u8a9e)"},{"src":"https:\/\/ps.w.org\/foxry-vault\/assets\/screenshot-8.png?rev=3512972","caption":"Dashboard widget \u2014 Japanese translation (\u65e5\u672c\u8a9e)"}],"raw_content":"<!--section=description-->\n<p><strong>Never lose a Contact Form 7 submission again.<\/strong><\/p>\n\n<p>Foxry Vault is a lightweight database backup for Contact Form 7. Every submission is automatically saved to a dedicated database table \u2014 so you have a permanent record even if email delivery fails, your SMTP breaks, or a message lands in spam.<\/p>\n\n<p>Features include entry editing, GDPR-friendly auto-deletion, CSV export, and a dashboard widget.<\/p>\n\n<p><strong>Key Features<\/strong><\/p>\n\n<ul>\n<li>\ud83d\udce5 Automatic saving of every CF7 submission to a dedicated DB table<\/li>\n<li>\u270f\ufe0f <strong>Edit entries<\/strong> after submission<\/li>\n<li>\ud83d\uddd1\ufe0f <strong>Auto-delete<\/strong> old entries on a schedule for GDPR compliance<\/li>\n<li>\ud83d\udd12 Privacy controls \u2014 disable IP address logging with one click<\/li>\n<li>\ud83d\udcca Dashboard widget with today \/ this week \/ unread counts and latest entries<\/li>\n<li>\ud83d\udd0d Search across all submission contents<\/li>\n<li>\ud83c\udff7\ufe0f Filter by form, mark as read\/unread, bulk actions<\/li>\n<li>\ud83d\udce4 CSV export with full Excel\/Japanese (BOM) support<\/li>\n<li>\ud83c\udf10 Fully translatable (Japanese translation bundled)<\/li>\n<li>\u26a1 Custom database table with proper indexes<\/li>\n<\/ul>\n\n<p><strong>Why Foxry Vault?<\/strong><\/p>\n\n<ul>\n<li><strong>Edit entries<\/strong> \u2014 fix typos, redact PII, correct mistakes after submission.<\/li>\n<li><strong>GDPR-ready<\/strong> \u2014 automatic retention policies, optional IP logging, clean uninstall.<\/li>\n<li><strong>Performant<\/strong> \u2014 custom database table with proper indexes for fast queries.<\/li>\n<li><strong>Standard UI<\/strong> \u2014 built on WP_List_Table for a familiar admin experience.<\/li>\n<\/ul>\n\n<p><strong>Requirements<\/strong><\/p>\n\n<ul>\n<li>WordPress 6.0+<\/li>\n<li>PHP 7.4+<\/li>\n<li>Contact Form 7 6.0+<\/li>\n<\/ul>\n\n<!--section=installation-->\n<ol>\n<li>Upload the <code>foxry-vault<\/code> folder to <code>\/wp-content\/plugins\/<\/code><\/li>\n<li>Activate the plugin through the 'Plugins' menu in WordPress<\/li>\n<li>Make sure Contact Form 7 is installed and activated<\/li>\n<li>That's it! Form submissions will be automatically saved<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"does%20this%20plugin%20require%20contact%20form%207%3F\"><h3>Does this plugin require Contact Form 7?<\/h3><\/dt>\n<dd><p>Yes. Contact Form 7 6.0 or newer must be installed and active. Foxry Vault hooks into the <code>wpcf7_before_send_mail<\/code> action to capture each submission.<\/p><\/dd>\n<dt id=\"where%20is%20form%20data%20stored%3F\"><h3>Where is form data stored?<\/h3><\/dt>\n<dd><p>In a dedicated custom database table (<code>wp_foxry_vault_entries<\/code>) with indexes on form_id, submitted_at, and is_read for fast queries. Submission fields are stored as JSON with full Unicode support, so Japanese, emoji, and special characters are preserved exactly.<\/p><\/dd>\n<dt id=\"can%20i%20edit%20a%20submission%20after%20it%27s%20been%20received%3F\"><h3>Can I edit a submission after it's been received?<\/h3><\/dt>\n<dd><p>Yes \u2014 this is one of the main reasons Foxry Vault exists. Open any entry and click \"Edit\" to fix typos, redact personal information, or correct fields. Both single-line and multi-line fields are supported, and checkbox\/array values can be edited as comma-separated lists.<\/p><\/dd>\n<dt id=\"how%20does%20the%20auto-delete%20feature%20work%3F\"><h3>How does the auto-delete feature work?<\/h3><\/dt>\n<dd><p>Go to <strong>Foxry Vault \u2192 Settings<\/strong> and enable auto-delete. Choose a retention period (30, 60, 90, 180, or 365 days). A daily WP-Cron job will then permanently delete entries older than the configured age. This is useful for GDPR \/ personal data retention compliance.<\/p><\/dd>\n<dt id=\"can%20i%20disable%20ip%20address%20logging%3F\"><h3>Can I disable IP address logging?<\/h3><\/dt>\n<dd><p>Yes. In <strong>Settings \u2192 Privacy<\/strong>, uncheck \"Save IP address\". New submissions will not record the visitor's IP. Existing entries are not retroactively modified.<\/p><\/dd>\n<dt id=\"will%20i%20lose%20data%20if%20i%20deactivate%20the%20plugin%3F\"><h3>Will I lose data if I deactivate the plugin?<\/h3><\/dt>\n<dd><p>No. Deactivation only stops capturing new submissions and unschedules the cleanup cron. Your existing data, settings, and database table are preserved. Data is only removed when you fully uninstall (delete) the plugin from the Plugins screen.<\/p><\/dd>\n<dt id=\"are%20spam%20submissions%20saved%3F\"><h3>Are spam submissions saved?<\/h3><\/dt>\n<dd><p>No. If Contact Form 7 (or an integration like reCAPTCHA \/ Akismet) marks a submission as spam, Foxry Vault skips saving it.<\/p><\/dd>\n<dt id=\"does%20it%20work%20with%20multisite%3F\"><h3>Does it work with multisite?<\/h3><\/dt>\n<dd><p>Yes, on a per-site basis. Each site has its own <code>wp_foxry_vault_entries<\/code> table.<\/p><\/dd>\n<dt id=\"how%20do%20i%20export%20submissions%3F\"><h3>How do I export submissions?<\/h3><\/dt>\n<dd><p>On the entries list, click <strong>Export CSV<\/strong> in the toolbar. The CSV is UTF-8 with BOM, so it opens cleanly in Excel \u2014 including Japanese text. The current form filter and search query are respected.<\/p><\/dd>\n<dt id=\"is%20it%20compatible%20with%20flamingo%20or%20cfdb7%3F\"><h3>Is it compatible with Flamingo or CFDB7?<\/h3><\/dt>\n<dd><p>Yes, they can run side-by-side. Foxry Vault uses its own table and doesn't touch theirs. We recommend picking one as your primary tool to avoid duplicate UI.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.2.0<\/h4>\n\n<ul>\n<li>Added entry editing feature<\/li>\n<li>Added auto-delete settings (GDPR compliance)<\/li>\n<li>Added IP address saving toggle for privacy<\/li>\n<li>Added dashboard widget with submission statistics<\/li>\n<li>Added entry edit link in list view row actions<\/li>\n<\/ul>\n\n<h4>1.1.0<\/h4>\n\n<ul>\n<li>Added CSV export feature<\/li>\n<li>Added Japanese translation<\/li>\n<li>Improved entry detail layout<\/li>\n<li>Added guide message for empty state<\/li>\n<li>UI improvements<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release<\/li>\n<li>Automatic CF7 submission saving<\/li>\n<li>Admin list view with pagination<\/li>\n<li>Entry detail view<\/li>\n<li>Read\/unread status<\/li>\n<li>Bulk actions<\/li>\n<li>Form filter<\/li>\n<li>Search across all fields<\/li>\n<\/ul>","raw_excerpt":"Save and manage Contact Form 7 submissions in your database. Never lose a message again.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/ky.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/300207","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ky.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/ky.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/ky.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=300207"}],"author":[{"embeddable":true,"href":"https:\/\/ky.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/foxry"}],"wp:attachment":[{"href":"https:\/\/ky.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=300207"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/ky.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=300207"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/ky.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=300207"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/ky.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=300207"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/ky.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=300207"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/ky.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=300207"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}