Oneguard for WooCommerce
Oneguard for WooCommerce adds age verification to shops that sell age-restricted products. Mark products individually, choose the required minimum age, and guide customers through verification after checkout.
When an affected paid order is placed, the plugin keeps it on hold while the customer completes the Oneguard verification flow. The WooCommerce order is updated automatically when the verification result is returned.
Highlights
- Enable age verification per WooCommerce product.
- Set a minimum age for each restricted product or use a global default.
- Keep affected orders on hold until verification is complete.
- Send customers directly to the guided Oneguard verification flow.
- Update WooCommerce orders automatically after a successful result.
- View the current shop connection, plan, and verification status in WordPress.
- Use German or English for plugin and customer-facing messages.
- Work with WooCommerce High-Performance Order Storage (HPOS).
- Keep document images, face images, and biometric raw data outside WordPress.
How it works
- Activate the free Oneguard launch plan from WooCommerce > Oneguard.
- Mark the products that require age verification and choose a minimum age.
- Customers complete the normal WooCommerce checkout.
- Affected orders remain on hold while the customer verifies their age.
- Oneguard returns the result and the plugin updates the WooCommerce order.
WooCommerce is required. The WordPress.org launch version uses a free Oneguard plan. No payment details are collected in WordPress and no paid plan is shown in the plugin.
Oneguard does not perform OCR, document analysis, face matching, liveness checks, or identity verification inside WordPress. Those checks are handled by the external Oneguard service.
External services
This plugin connects to the Oneguard middleware at:
https://oneguardwoocommerce.netlify.app
The middleware connects this plugin to the Oneguard verification platform at:
https://verification.oneguard.app
The plugin contacts Oneguard only after the shop operator activates the free Oneguard plan in the plugin settings. The connection is required for age verification to work.
When the shop is connected, the plugin sends technical shop data such as site URL, home URL, domain, shop name, admin email, WordPress version, WooCommerce version, plugin version, default verification age, and verification expiry settings.
When an age-restricted order is verified, the plugin sends order and customer data required for age verification, including order ID, order number, order date, customer email, customer name, billing address text, customer locale, order return URL, required age, and age-restricted product metadata.
Oneguard returns technical status data such as verification ID, status, verification URL, expiry date, and selected verification result fields when available.
Oneguard service information is available at:
- Service website: https://oneguard.app/
- Verification flow: https://verification.oneguard.app/
- Service operator: OneGuard GmbH, Welserstraße 3, 87463 Dietmannsried, Germany
- Terms of service: https://oneguard.app/terms/
- Privacy policy: https://oneguard.app/privacy/
Privacy
WordPress stores technical status and WooCommerce order verification metadata:
- verification ID
- verification status
- required age
- expiration date
- order ID
- customer ID
- customer email
- cart hash
- purchased age-restricted products
- identity document number, document type, birth date, and calculated age when returned by Oneguard after a successful verification
WordPress does not store:
- document images
- face images
- selfie videos
- biometric raw data
- OCR raw data
- full identity-document names or addresses
Verification records in the plugin's custom database table, including returned document number and birth date fields, are retained until the plugin is uninstalled. Uninstalling the plugin removes that table. Verification metadata stored on WooCommerce orders follows the shop's normal WooCommerce order retention and deletion process.
Product settings
Each WooCommerce product can store:
_oneguard_wc_age_restricted_oneguard_wc_minimum_age
Products can be marked individually from the product edit screen. The plugin settings page also shows products that already have age verification enabled.
Language selection
The shop operator can select German or English in the plugin settings. This language is used throughout the plugin admin and as the customer-facing fallback when the customer's country cannot be detected.
Customer messages use German for billing countries Germany, Austria, Switzerland, Liechtenstein, and Luxembourg. All other detected countries use English. The same locale is sent to the Oneguard verification flow.
Security
The plugin and middleware use per-shop HMAC signatures for protected requests. The shop secret is generated by Oneguard, stored in WordPress options, and is never displayed in clear text in the admin area.
Callbacks from Oneguard to WooCommerce are signed and include a timestamp and nonce. The plugin rejects stale timestamps, duplicate nonces, invalid signatures, and callbacks for another shop.
