User Data Collection
WordPress plugin to collect client data with the feature of marking as each user data as reviewed
by Alejandro Quesada · github.com/alejandroqs/user-data-collection · website
Install
No release zip yet. The repository archive installs, but the folder name will carry the branch suffix and updates will not flow:
wp plugin install https://github.com/alejandroqs/user-data-collection/archive/refs/heads/main.zipUser Data Collection for WordPress
User Data Collection renders a multi-field consent form through the [udc_contact_form] shortcode and stores submissions in a custom database table. The administrative interface provides a sortable submission list, detail views, confirmation actions, backup tools, optional Google Drive synchronization, optional email backups, and frontend color settings.
The form processes sensitive personal information, including identity and contact details, date of birth, appointment information, health-related answers, and liability acceptance. Configure access, storage, retention, and external destinations according to the site's own privacy and security requirements. This plugin documentation is not legal advice or a legal certification.
Installation
- Copy the
user-data-collectiondirectory intowp-content/plugins/. - Activate the plugin from the WordPress Plugins screen.
- Activation creates or updates the custom
{prefix}udc_submissionstable throughdbDelta.
Frontend use
Add the shortcode below to a page, post, or widget:
[udc_contact_form]
The form collects personal data, health questionnaire answers, appointment details, piercing location, and a required liability acceptance checkbox. The submission is sent through WordPress's admin-post.php endpoint and, when accepted, is saved to the custom table.
Administration
Users with the manage_options capability can open the Submissions menu to:
- review upcoming and past appointments;
- open submission details;
- confirm or unconfirm submissions through AJAX actions;
- create, restore, and upload local JSON backups;
- configure optional Google Drive, email backup, and frontend design settings.
Optional integrations
- Local JSON backups: The plugin writes database snapshots under the WordPress uploads directory and rotates local JSON files according to the current implementation. See Operations.
- Public submission controls: Structurally valid nonce submissions are limited by default to five attempts per ten-minute window per observed
REMOTE_ADDR; the transient counter is non-atomic and is not a complete anti-abuse system. Required fields, dates, times, lengths, and checkbox values are validated server-side. - Restore limits: Local and uploaded JSON restores are limited to 10 MiB and 10,000 validated rows and preserve additive duplicate-ID behavior.
- Google Drive: A service-account integration can upload local JSON files to a configured folder. This sends sensitive data to an external service and requires separate credential and access management.
- Email: The latest local JSON file can be sent as an email attachment to a configured address. Email storage and retention are outside this plugin.
These integrations are optional and depend on WordPress runtime behavior, server configuration, and the availability of the external service. WP-Cron events are not guaranteed to run at their scheduled time merely because they are registered.
Database schema changes
When the table schema changes, update both the CREATE TABLE statement in includes/class-udc-activator.php and the UDC_DB_VERSION constant in user-data-collection.php. The plugin compares the stored version during plugins_loaded and invokes the activator when the version differs.
Documentation
The technical documentation distinguishes verified behavior, inference, unknowns, and requirements. It does not claim GDPR compliance, security certification, performance certification, or WordPress Coding Standards compliance without a defined and executed gate.
License
The repository README describes this as private software. The package metadata currently declares the ISC license; see Release for the version and packaging discrepancies that require an explicit maintainer decision.