Commercial release in preparation · Current development build: v0.5.0
Security

Security is treated as product functionality.

WG Competition Engine handles tickets, prizes and draw eligibility. The commercial build therefore treats permissions, race conditions, imports, exports and auditability as first-class concerns.

01
Permission separation

Sensitive competition management uses a dedicated capability. Administrators receive it by default; Shop Manager access can remain opt-in.

02
Race-condition resistance

Per-competition MySQL advisory locks and allocation-time limit checks reduce the risk of simultaneous requests slipping past ticket limits.

03
Safer imports and exports

CSV exports are hardened against spreadsheet formula injection. Instant-win imports validate upload errors, extension/type, file size, row count and field length.

04
Rate-limited scratch reveals

Scratch-card reveal endpoints include per-user rate limiting alongside ownership and order/ticket checks.

05
Privacy-conscious auditing

Security-relevant events are logged without storing payment data. IP addresses are represented as keyed hashes rather than plain addresses.

06
Finite audit retention

The audit log has automatic retention rather than growing indefinitely; the default policy is 180 days with a minimum of 30 days.

No plugin can honestly promise to be “unhackable”. Security also depends on WordPress, WooCommerce, hosting, administrator accounts, HTTPS, updates and the wider plugin stack.
Recommended deployment

Security is shared with the site owner.

For production use we recommend HTTPS, current WordPress/WooCommerce versions, strong administrator passwords, 2FA, minimal administrator accounts, a reputable WAF/security layer and staging tests before updates.

1

Staging first

Test plugin and WooCommerce updates away from the live ticket pool.

2

Least privilege

Give competition-management permissions only to staff who genuinely require them.

3

Backups & monitoring

Maintain tested backups and monitor unusual order, login or allocation activity.