Privacy & GDPR
WordPress privacy exporter/eraser integration, data anonymization, retention, log cleanup, and encryption.
Privacy and GDPR
Checkout Security is designed with privacy and GDPR compliance in mind. It integrates with WordPress's built-in privacy tools and provides data anonymization, retention controls, and encryption at rest.
WordPress Privacy Integration
Checkout Security registers with WordPress's personal data exporter and eraser hooks. Customer data collected by Checkout Security appears in the native Tools → Export Personal Data and Tools → Erase Personal Data screens.
The exported or erased data can include:
- IP addresses
- Device fingerprints
- Risk assessment data
- Trust scores
Use the WordPress privacy tools to process customer requests according to your site's privacy policy and legal obligations.
Data anonymization
When a data erasure request is processed, Checkout Security anonymizes personal identifiers using keyed HMAC pseudonyms. Aggregate statistics remain available so you can continue reviewing security trends without retaining the original personal identifiers.
The ccp_gdpr_anonymization scheduled event handles automated anonymization on a recurring basis. CSV exports include formula-injection protection to prevent spreadsheet applications from interpreting exported values as formulas.
GDPR consent and customer data controls
Checkout Security can ask customers for consent before collecting device fingerprints and lets customers request deletion of eligible security data. Review these controls to align the plugin with your store's privacy policy and customer support process.
| Option | Default | Description |
|---|---|---|
ccp_gdpr_require_consent | Yes | Requires customer consent before Checkout Security collects device fingerprints. |
ccp_gdpr_consent_text | Configurable | Controls the consent text shown to customers. |
ccp_gdpr_allow_log_deletion | Yes | Allows customers to request deletion of their security logs. |
ccp_gdpr_allow_device_deletion | Yes | Allows customers to request deletion of their device fingerprint data. |
ccp_gdpr_allow_trust_deletion | No | Controls whether customers can request deletion of trust score data. This is disabled by default because trust scores help protect against repeat fraud. |
ccp_gdpr_anonymize_after_days | 365 days | Sets how long the plugin waits before automatically anonymizing data. |
ccp_gdpr_anonymize_method | Partial | Selects partial anonymization using keyed pseudonymization, full removal, or one-way hashing. Values: partial, full, hash. |
Add the [ccp_privacy_tools] shortcode to a front-end page when you want customers to access their available privacy tools from your store.
Checkout Security also adds suggested privacy policy text to WordPress's Privacy Policy guide under Settings → Privacy. Review and adapt the suggested text to match your store's actual data practices and legal requirements.
Data retention and log cleanup
Configure how long Checkout Security retains security logs with the ccp_log_retention_days setting.
| Data type | Option | Default retention |
|---|---|---|
| Security logs | ccp_log_retention_days | 30 days |
| Security logs (GDPR) | ccp_retention_security_logs | 90 days |
| Device fingerprints | ccp_retention_device_fingerprints | 180 days |
| Trust score history | ccp_retention_trust_scores | 365 days |
| Whitelist entries | ccp_retention_whitelist_entries | 30 days |
| ML training data | ccp_retention_ml_training_data | 180 days |
| Threat intelligence cache | ccp_retention_threat_intel_cache | 7 days |
The cleanup process uses scheduled events to remove expired records and enforce the configured retention period.
The ccp_retention_ml_training_data and ccp_retention_threat_intel_cache options are listed in the plugin's uninstall cleanup inventory. They are reserved for future use and are not actively read by the current runtime. The other retention options above are actively enforced by the scheduled cleanup events.
Encryption
Checkout Security encrypts sensitive data at rest using authenticated encryption. Define the CCP_ENCRYPTION_KEY constant in wp-config.php to provide a custom encryption key.
If CCP_ENCRYPTION_KEY is not defined, the plugin derives an encryption key from the WordPress authentication salt. The plugin does not fall back to storing sensitive data in plaintext.
For production sites, define CCP_ENCRYPTION_KEY in wp-config.php for consistent encryption across environments and server migrations.
Store the custom key securely and keep it available when migrating the site. Changing the key can prevent the plugin from decrypting data encrypted with the previous key.
Scheduled privacy events
Checkout Security uses these scheduled events for privacy and data management:
ccp_gdpr_anonymization: Automated data anonymization.ccp_gdpr_data_retention: Enforces data retention policies.ccp_data_cleanup: Performs general data cleanup.ccp_cleanup_logs: Removes logs older than the configured retention period.
WordPress cron controls when scheduled events run. Confirm that scheduled tasks execute reliably on production sites so retention and anonymization policies remain current.