Description
Sell age-restricted products with less manual work.
Oneguard adds a guided age check to WooCommerce. Choose which products require verification, set the minimum age, and let customers complete the check on their phone after checkout.
Orders that need a check stay on hold. As soon as the customer succeeds, Oneguard updates the WooCommerce order automatically so your team knows it can continue.
Why stores choose Oneguard
- Simple setup inside WooCommerce – no code required.
- Age checks only for the products you select.
- An individual minimum age per product or one global default.
- A clear, guided mobile experience for customers.
- Automatic WooCommerce order updates after a successful check.
- Face ID age estimation by default, with an optional identity-document fallback.
- A compact verification overview with evidence, event history, and manual approval.
- Name and address rules that can automatically hold or cancel matching orders.
- German and English customer messages.
- Compatibility with WooCommerce High-Performance Order Storage (HPOS).
- Document images, face images, videos, and biometric raw data stay outside the WordPress database.
From checkout to ready to continue
- Mark the products that require an age check.
- The customer completes the normal WooCommerce checkout.
- The order stays on hold while the customer verifies their age.
- Oneguard returns the result and WooCommerce updates the order automatically.
Oneguard is suitable for shops that sell alcohol, tobacco, vaping products, adult products, or other goods that require an age check.
Get started free
The WordPress.org launch version includes the free Oneguard plan. No payment details are collected in WordPress, and this version has no monthly or per-verification fee.
Screenshots




Installation
- Install and activate WooCommerce.
- Install Oneguard for WooCommerce from WordPress.org.
- Activate “Oneguard for WooCommerce” in WordPress.
- Open WooCommerce > Oneguard and activate the free Oneguard plan.
- Edit WooCommerce products and enable age verification for restricted products.
- Place a test order and complete the age check once before going live.
FAQ
-
How does age verification work in WooCommerce?
-
Select the relevant products and set a minimum age. When an affected order is placed, it stays on hold while the customer follows the guided check on their phone. Oneguard then returns the result and updates the WooCommerce order automatically.
-
Which products can I restrict?
-
Age verification can be enabled for individual WooCommerce products. Each product can have its own minimum age, or you can use one global default.
-
Is this plugin free?
-
Yes. The WordPress.org launch version includes a free Oneguard plan with no monthly or per-verification fee. The plugin does not collect payment details in WordPress.
-
Does the plugin require WooCommerce?
-
Yes. Oneguard for WooCommerce requires WooCommerce for product and order verification.
-
What does the customer experience look like?
-
Customers complete the normal checkout first. If the order contains a restricted product, they receive a clear link to the mobile Oneguard flow. The guided steps explain what to do, and the result is sent back to WooCommerce automatically.
-
What happens while verification is pending?
-
The affected WooCommerce order stays on hold. Once the required check succeeds, Oneguard updates the order automatically so fulfillment can continue.
-
Does the plugin support WooCommerce HPOS?
-
Yes. Oneguard for WooCommerce declares compatibility with WooCommerce High-Performance Order Storage.
-
Which languages are supported?
-
The plugin includes German and English messages. Customers in German-speaking billing countries receive German messages; other detected countries receive English.
-
Does this plugin guarantee legal compliance?
-
No. Oneguard provides age-verification tools, but requirements vary by product, country, and business. Shop operators remain responsible for deciding which verification and fulfillment measures apply to them.
-
Does Oneguard use an external service?
-
Yes. The age check is performed by the hosted Oneguard service after the shop operator activates the free plan. This connection is required for the plugin’s main functionality.
When a shop is connected, the service receives the site and home URL, domain, shop name, admin email, WordPress, WooCommerce, and plugin versions, plus the configured default age and verification expiry.
For an affected order, the service receives the information required to perform and return the age check: order ID, number and date; customer email, phone number, name, billing address and locale; return URL; required age; selected check method; and restricted-product details. Oneguard returns the verification ID, status, verification URL, expiry date, diagnostics, and selected result fields when available.
When the shop operator configures name or address rules, those rule values are stored in the Oneguard middleware. Billing and shipping names and addresses are sent to the middleware when an order is evaluated against active rules. Verification evidence remains on the hosted verification service and is fetched only when an authorized WooCommerce administrator opens the order details in the age-verification overview.
The service is operated by OneGuard GmbH, Welserstraße 3, 87463 Dietmannsried, Germany.
- Service website: https://oneguard.app/
- Terms of service: https://oneguard.app/terms/
- Privacy policy: https://oneguard.app/privacy/
-
Which verification data remains in WordPress?
-
WordPress stores the verification ID and status, required age, expiration date, and the necessary order, customer, and restricted-product references. After a successful check, selected result fields such as document number and type, birth date, and calculated age may also be stored when Oneguard returns them.
WordPress does not persist document images, face images, selfie videos, biometric raw data, OCR raw data, or full names and addresses read from the identity document in the plugin database. Authorized WooCommerce administrators can view available evidence on demand; it is transmitted for that request but remains stored by the external verification service.
Records in the plugin’s verification table remain until the plugin is uninstalled. Verification metadata attached to WooCommerce orders follows the shop’s normal WooCommerce retention and deletion process.
-
How is the connection protected?
-
Protected requests use a secret assigned to the individual shop. Signed callbacks include a timestamp and one-time value; the plugin rejects stale, duplicate, invalid, or mismatched callbacks.
Reviews
There are no reviews for this plugin.
Contributors & Developers
“Oneguard for WooCommerce” is open source software. The following people have contributed to this plugin.
Contributors“Oneguard for WooCommerce” has been translated into 1 locale. Thank you to the translators for their contributions.
Translate “Oneguard for WooCommerce” into your language.
Interested in development?
Browse the code, check out the SVN repository, or subscribe to the development log by RSS.
Changelog
1.2.6
- Replaces identical empty timeline circles with distinct status icons.
- Shows clear visual states for approved, started, created, pending, failed, and expired events.
- Removes internal service endpoint addresses from the public plugin description.
1.2.5
- Replaces inconsistent text glyphs with crisp close and plus icons.
- Adds consistent icon sizing, hover states, and accessible keyboard focus styling.
- Prevents the close icon from receiving a distracting focus box whenever a detail view opens.
1.2.4
- Opens Face ID and identity-document evidence images in a large preview when clicked.
- Supports keyboard focus, Escape, backdrop clicks, and a dedicated close button.
1.2.3
- Displays every approved verification as “Bestanden” in German and “Approved” in English.
- Keeps detailed diagnostic messages available in the verification details.
1.2.2
- Keeps the evidence, events, and verification cards in a stable order while remote details load.
- Displays Face ID WebM videos whose data URLs include codec information.
- Completes and localizes the verification event timeline without a trailing connector.
- Hides identity-document result fields for Face ID checks that did not require an ID scan.
1.2.1
- Displays Face ID checks that required an ID fallback as a combined verification method.
- Shows order and verification metadata immediately while remote evidence loads with animated placeholders.
- Fixes event timeline markers and formats event timestamps for the shop locale.
- Supports secure HTTPS URLs for Face ID videos and verification images.
1.2.0
- Added Face ID age estimation as the default method with a shop setting to use identity-document checks instead.
- Added a compact order-based verification overview with diagnostics, media evidence, and event history.
- Added manual verification approval and automatic release of eligible on-hold orders.
- Added name and address matching rules with hold or cancel actions.
1.1.4
- Updated plugin-owned identifiers to use the unique
oneguard_wcprefix. - Added the verified plugin owner to the WordPress.org contributors list.
- Refreshed the WordPress.org description, FAQ, and store visuals for clearer onboarding.
1.1.3
- Prepared the plugin for its free WordPress.org launch.
- Declared WooCommerce as a required plugin dependency.
- Reworked the plan flow so shops can activate the free Oneguard plan without an external payment step.
- Clarified external service and privacy documentation.
- Added direct service terms and privacy links and clarified local data retention.
- Completed plugin-owned option cleanup on uninstall.
1.0.0
Initial implementation.
