Title: Oneguard for WooCommerce
Author: noahoneguard
Published: <strong>August 7, 2026</strong>
Last modified: August 7, 2026

---

Search plugins

![](https://ps.w.org/oneguard-for-woocommerce/assets/banner-772x250.png?rev=3637861)

![](https://ps.w.org/oneguard-for-woocommerce/assets/icon.svg?rev=3637623)

# Oneguard for WooCommerce

 By [noahoneguard](https://profiles.wordpress.org/noahoneguard/)

[Download](https://downloads.wordpress.org/plugin/oneguard-for-woocommerce.1.2.6.zip)

 * [Details](https://wordpress.org/plugins/oneguard-for-woocommerce/#description)
 * [Reviews](https://wordpress.org/plugins/oneguard-for-woocommerce/#reviews)
 *  [Installation](https://wordpress.org/plugins/oneguard-for-woocommerce/#installation)
 * [Development](https://wordpress.org/plugins/oneguard-for-woocommerce/#developers)

 [Support](https://wordpress.org/support/plugin/oneguard-for-woocommerce/)

## 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**

 1. Mark the products that require an age check.
 2. The customer completes the normal WooCommerce checkout.
 3. The order stays on hold while the customer verifies their age.
 4. 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

[⌊Customers can complete a guided Face ID age check on their phone.⌉⌊Customers can
complete a guided Face ID age check on their phone.⌉[

Customers can complete a guided Face ID age check on their phone.

[⌊The guided ID scan helps customers submit an identity document when required.⌉⌊
The guided ID scan helps customers submit an identity document when required.⌉[

The guided ID scan helps customers submit an identity document when required.

[⌊A customer-friendly verification flow designed for secure, repeat purchases.⌉⌊
A customer-friendly verification flow designed for secure, repeat purchases.⌉[

A customer-friendly verification flow designed for secure, repeat purchases.

[⌊Support for common identity documents, liveness checks, and a streamlined verification
flow.⌉⌊Support for common identity documents, liveness checks, and a streamlined
verification flow.⌉[

Support for common identity documents, liveness checks, and a streamlined verification
flow.

## Installation

 1. Install and activate WooCommerce.
 2. Install Oneguard for WooCommerce from WordPress.org.
 3. Activate “Oneguard for WooCommerce” in WordPress.
 4. Open WooCommerce > Oneguard and activate the free Oneguard plan.
 5. Edit WooCommerce products and enable age verification for restricted products.
 6. 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

 *   [ noahoneguard ](https://profiles.wordpress.org/noahoneguard/)

“Oneguard for WooCommerce” has been translated into 1 locale. Thank you to [the translators](https://translate.wordpress.org/projects/wp-plugins/oneguard-for-woocommerce/contributors)
for their contributions.

[Translate “Oneguard for WooCommerce” into your language.](https://translate.wordpress.org/projects/wp-plugins/oneguard-for-woocommerce)

### Interested in development?

[Browse the code](https://plugins.trac.wordpress.org/browser/oneguard-for-woocommerce/),
check out the [SVN repository](https://plugins.svn.wordpress.org/oneguard-for-woocommerce/),
or subscribe to the [development log](https://plugins.trac.wordpress.org/log/oneguard-for-woocommerce/)
by [RSS](https://plugins.trac.wordpress.org/log/oneguard-for-woocommerce/?limit=100&mode=stop_on_copy&format=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_wc` prefix.
 * 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.

## Meta

 *  Version **1.2.6**
 *  Last updated **5 hours ago**
 *  Active installations **Fewer than 10**
 *  WordPress version ** 6.2 or higher **
 *  Tested up to **7.0.3**
 *  PHP version ** 8.0 or higher **
 *  Languages
 * [English (US)](https://wordpress.org/plugins/oneguard-for-woocommerce/) and [Russian](https://ru.wordpress.org/plugins/oneguard-for-woocommerce/).
 *  [Translate into your language](https://translate.wordpress.org/projects/wp-plugins/oneguard-for-woocommerce)
 * Tags
 * [age restriction](https://wordpress.org/plugins/tags/age-restriction/)[age verification](https://wordpress.org/plugins/tags/age-verification/)
   [checkout](https://wordpress.org/plugins/tags/checkout/)[Identity Verification](https://wordpress.org/plugins/tags/identity-verification/)
   [woocommerce](https://wordpress.org/plugins/tags/woocommerce/)
 *  [Advanced View](https://wordpress.org/plugins/oneguard-for-woocommerce/advanced/)

## Ratings

No reviews have been submitted yet.

[Your review](https://wordpress.org/support/plugin/oneguard-for-woocommerce/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/oneguard-for-woocommerce/reviews/)

## Contributors

 *   [ noahoneguard ](https://profiles.wordpress.org/noahoneguard/)

## Support

Got something to say? Need help?

 [View support forum](https://wordpress.org/support/plugin/oneguard-for-woocommerce/)