{"id":357763,"date":"2026-09-03T16:06:47","date_gmt":"2026-09-03T16:06:47","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/secufor-wpsql\/"},"modified":"2026-09-03T16:06:30","modified_gmt":"2026-09-03T16:06:30","slug":"secufor-fsql","status":"publish","type":"plugin","link":"https:\/\/bg.wordpress.org\/plugins\/secufor-fsql\/","author":23106777,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.0.1","stable_tag":"1.0.0","tested":"7.1","requires":"6.5","requires_php":"7.4","requires_plugins":null,"header_name":"Secufor FSQL","header_author":"Secufor","header_description":"Send WordPress form submissions (Forminator, Formidable Forms, WPForms, Gravity Forms) straight to an external or internal database.","assets_banners_color":"","last_updated":"2026-09-03 16:06:30","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/secufor.net","header_author_uri":"https:\/\/secufor.net\/","rating":0,"author_block_rating":0,"active_installs":0,"downloads":25,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.0":{"tag":"1.0.0","author":"secufor","date":"2026-09-03 16:06:30","revision":3680036}},"upgrade_notice":{"1.0.1":"<p>All features are unconditionally available; no installation check is performed.<\/p>"},"ratings":[],"assets_icons":[],"assets_banners":[],"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.0"],"block_files":[],"assets_screenshots":[],"screenshots":[]},"plugin_section":[],"plugin_tags":[153,1859,187790,601,1627],"plugin_category":[42,59],"plugin_contributors":[238256],"plugin_business_model":[],"class_list":["post-357763","plugin","type-plugin","status-publish","hentry","plugin_tags-database","plugin_tags-export","plugin_tags-form-entries","plugin_tags-forms","plugin_tags-mysql","plugin_category-contact-forms","plugin_category-utilities-and-tools","plugin_contributors-secufor","plugin_committers-secufor"],"banners":[],"icons":{"svg":false,"icon":"https:\/\/s.w.org\/plugins\/geopattern-icon\/secufor-fsql.svg","icon_2x":false,"generated":true},"screenshots":[],"raw_content":"<!--section=description-->\n<p>Secufor FSQL intercepts form submissions and writes them to one or more MySQL\ndatabases of your choice, so that personal data collected through your forms\nnever has to sit in your WordPress installation.<\/p>\n\n<p>Features:<\/p>\n\n<ul>\n<li>Works with Forminator, Formidable Forms, WPForms and Gravity Forms.<\/li>\n<li>Connect several external databases and route each form plugin to the ones you pick.<\/li>\n<li>Optionally keep a copy inside the WordPress database.<\/li>\n<li>Optionally delete the entries the form plugin stored on its own side.<\/li>\n<li>Export any connected database to CSV from the admin.<\/li>\n<\/ul>\n\n<p>Connection credentials are encrypted at rest with AES-256-GCM, using a key\nderived from your site's WordPress salts.<\/p>\n\n<h3>External services<\/h3>\n\n<p>Every feature of this plugin runs locally and is available without an account.\nThe plugin contacts no external service on its own: the only requests it makes\nare the ones you trigger yourself by submitting the optional account form.<\/p>\n\n<p>If, and only if, you fill in that form, the plugin connects to secufor.net, the\nservice that hosts Secufor accounts, for two things:<\/p>\n\n<ul>\n<li>Logging in: the Secufor username and password you typed are sent to <code>https:\/\/secufor.net\/wp-json\/jwt-auth\/v1\/token<\/code> in exchange for an access token.<\/li>\n<li>Reading your profile, using that token, from <code>https:\/\/secufor.net\/wp-json\/wp\/v2\/users\/me<\/code>. The name and email address it returns are displayed on the account screen.<\/li>\n<\/ul>\n\n<p>The account is informational only. Logging in unlocks nothing, and logging out\nor never logging in disables nothing: the form modules, the database\nconnections, the exports and every setting behave identically either way.<\/p>\n\n<p>No form submission and no database credential is ever sent to secufor.net.<\/p>\n\n<p>Service provided by Secufor: <a href=\"https:\/\/secufor.net\/cgu\/\">terms of use<\/a>, <a href=\"https:\/\/secufor.net\/privacy\/\">data protection<\/a>.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the <code>secufor-fsql<\/code> folder to <code>\/wp-content\/plugins\/<\/code>, or install the plugin through the Plugins screen.<\/li>\n<li>Activate the plugin through the Plugins screen.<\/li>\n<li>Go to <strong>Secufor FSQL &gt; Database connection<\/strong> and add the MySQL database you want to write to.<\/li>\n<li>Open the screen of each form plugin you use and tick the databases that should receive its submissions.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"which%20databases%20are%20supported%3F\"><h3>Which databases are supported?<\/h3><\/dt>\n<dd><p>MySQL and MariaDB. The plugin routes its queries through the WordPress database\nlayer, which only speaks MySQL.<\/p><\/dd>\n<dt id=\"what%20happens%20to%20entries%20already%20stored%20by%20my%20form%20plugin%3F\"><h3>What happens to entries already stored by my form plugin?<\/h3><\/dt>\n<dd><p>Nothing, unless you tick \"Delete the entries stored by the form plugin\" on that\nmodule's screen. That action is irreversible.<\/p><\/dd>\n<dt id=\"do%20i%20need%20a%20secufor%20account%3F\"><h3>Do I need a Secufor account?<\/h3><\/dt>\n<dd><p>No. The plugin is fully functional without one. The account screen is purely\ninformational: it displays the name and email of a secufor.net account if you\nchoose to sign in, and no feature depends on it.<\/p><\/dd>\n<dt id=\"where%20are%20my%20database%20passwords%20stored%3F\"><h3>Where are my database passwords stored?<\/h3><\/dt>\n<dd><p>In the WordPress options table, encrypted with AES-256-GCM. The key is derived\nfrom the salts in your <code>wp-config.php<\/code>, so a database dump alone does not reveal\nthem. If you regenerate your salts, you will need to re-enter the credentials.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.1<\/h4>\n\n<ul>\n<li>Removed the remote installation check and every option derived from it. The\nmodule screens and the database-connection screen are now always available,\nindependently of any network call.<\/li>\n<li>Removed the remote deregistration call previously made on uninstall.<\/li>\n<li>Removed the subscription label from the account screen.<\/li>\n<li>The plugin no longer contacts any external service unless the user submits\nthe optional account form.<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>First public release.<\/li>\n<li>Forminator, Formidable Forms, WPForms and Gravity Forms modules.<\/li>\n<li>Multiple external MySQL destinations per module.<\/li>\n<li>CSV export of a connected database.<\/li>\n<li>Encrypted storage of database credentials.<\/li>\n<\/ul>","raw_excerpt":"Send Forminator, Formidable Forms, WPForms and Gravity Forms submissions straight to an external MySQL database instead of leaving them in WordPress.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/bg.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/357763","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/bg.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/bg.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/bg.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=357763"}],"author":[{"embeddable":true,"href":"https:\/\/bg.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/secufor"}],"wp:attachment":[{"href":"https:\/\/bg.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=357763"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/bg.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=357763"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/bg.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=357763"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/bg.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=357763"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/bg.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=357763"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/bg.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=357763"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}