Title: Sellat Proof for WooCommerce
Author: skanthemore
Published: <strong>October 24, 2026</strong>
Last modified: October 24, 2026

---

Search plugins

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

![](https://ps.w.org/sellat-proof-for-woocommerce/assets/icon-256x256.png?rev=3763505)

# Sellat Proof for WooCommerce

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

[Download](https://downloads.wordpress.org/plugin/sellat-proof-for-woocommerce.1.0.0.zip)

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

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

## Description

When a customer says they never accepted your terms, or disputes what they ordered
and when, a screenshot of your admin is your word against theirs. Sellat Proof for
WooCommerce keeps independent, timestamped evidence of both, from the moment the
order is confirmed.

**What it records**

 * **Every confirmed order**, paid or on hold waiting for a bank transfer. The order
   number, dates, amounts, products, status and payment method, the version of your
   terms and privacy policy in force at checkout, and a fingerprint of the customer’s
   email. This proof record never includes the customer’s name, address, email or
   phone.
 * **Every version of your legal pages.** Terms and conditions, privacy policy, 
   returns and shipping. Each time the content of one changes, a new version is 
   recorded with its exact text, and each order points to the version in force when
   it was placed.

**How it is protected**

The record is sent to [Sellat](https://sellat.app), which anchors its fingerprint
on public blockchains (Polygon and Bitcoin). Nothing personal is published: only
a hash.

 * **Free daily protection.** The day’s orders are grouped into one proof of your
   shop, anchored once a day. Each order keeps its record and its path in the day’s
   tree. Any order you choose can also get an eIDAS qualified timestamp by hand,
   with its own proof, spending one of your account’s seals.

**Verifiable without Sellat**

From each order you can download a proof pack: the record, the exact text of the
accepted terms, the public proof on the blockchains and a README that explains how
to check everything with standard tools. Once downloaded, a pack checks without 
Sellat. Your shop also keeps its own copy of every record and, once each proof is
final, of the proof itself (the day’s tree and anchor, an order’s own proof and 
seal, each legal version’s proof): if Sellat cannot be reached, the plugin builds
the same pack from those copies.

**Built for WooCommerce**

 * Classic checkout and the Cart and Checkout blocks.
 * High-Performance Order Storage (HPOS).
 * Background jobs with Action Scheduler: the checkout never waits for Sellat. If
   Sellat cannot be reached, orders wait and are sent later, with retries.
 * A Usage screen: everything protected in the last 7, 30 or 90 days, sales covered,
   eIDAS seals issued and left, a chart per day, and what your plan has left.
 * A Sellat box on each order, a Sellat column in the orders list, and WooCommerce
   Sellat with the connection, the protection settings, the orders, the legal pages
   and a log of every call.
 * The API key is stored encrypted. Personal data tools: the acceptance IP joins
   WooCommerce’s export and erasure, and a suggested text is added to Settings  
   Privacy.

More about the plugin, and a sample of the certificate it gives each legal page 
version: [sellat.app/en/woocommerce](https://sellat.app/en/woocommerce).

**Please note:** this plugin helps you keep evidence. It does not by itself make
your shop compliant with any law, and whether a proof is accepted, and with what
weight, is for the court or authority that sees it to decide.

### External services

This plugin connects to **Sellat** (https://sellat.app), the service that records
and timestamps the proofs. Nothing is sent until you connect your shop in WooCommerce
Sellat, either by signing in to Sellat from there or by pasting an API key.

Once connected, the plugin sends to Sellat’s API (https://sellat.app/api/v2):

 * **When you click “Create an account and get the key”:** your browser opens sellat.
   app with your shop’s random identifier, its domain and the address to come back
   to.
 * **When you connect, and when you test the connection:** your shop’s domain, its
   name, its random identifier, and the versions of WordPress, WooCommerce, PHP 
   and the plugin.
 * **To show what your plan allows:** your plan, seals and limits are read from 
   Sellat when you open the plugin’s screens (at most every 5 minutes) and once 
   a day.
 * **When you connect and when you save your protection settings** (and later, if
   Sellat could not be reached): your protection settings (how orders are proven,
   the eIDAS seal and whether the acceptance IP is included), which Sellat checks
   against your plan.
 * **When a legal page changes:** the fingerprint (SHA-256) of the page’s content,
   its URL, type, language and version number, and the text of the page itself, 
   so that every proof pack can carry the exact terms. Once a day the plugin checks
   the pages for changes and asks Sellat for the state of their proofs.
 * **When an order is confirmed** (paid, or on hold waiting for an offline payment
   such as a bank transfer)**:** the order record: its number, dates, amounts, products,
   status, payment method and language; the customer’s account number, if they have
   one, and the fingerprint of their email; the version and address of the terms
   they accepted and of the privacy policy shown at checkout; and your shop’s name,
   domain and, if you enter it, tax ID. It includes the acceptance IP only if you
   turn that option on.
 * **Only if your Sellat account includes custody and you turn it on:** a full copy
   of the order, including the customer’s name, addresses, email and phone. Until
   Sellat keeps it, the copy waits on your server encrypted; a server that cannot
   encrypt it (PHP without OpenSSL) neither keeps nor sends it.
 * **When you download a proof pack:** the order’s billing email, so that Sellat
   can check it against the fingerprint in the record and include it in the pack.
   Sellat does not keep it.
 * **When you ask for it from an order or a legal version:** an eIDAS qualified 
   timestamp, a certificate or a pack, or removing a copy from custody.
 * **To keep states up to date:** requests for the state of your orders, every 15
   minutes while some are not final, and the address where Sellat can notify your
   shop (only for shops served over https). When you delete the plugin, it asks 
   Sellat to stop those notifications.

Sellat anchors fingerprints on Polygon and on Bitcoin (through OpenTimestamps), 
and requests eIDAS qualified timestamps from a qualified trust service provider.
The plugin itself never contacts them.

Sellat’s [terms and conditions](https://sellat.app/en/condiciones) and [privacy policy](https://sellat.app/en/privacidad).

The plugin also makes one request to your own site: when a legal page changes, it
fetches the page as a visitor sees it and keeps that copy as context, in your uploads
folder.

## Installation

 1. In WordPress, go to Plugins  Add New, search for “Sellat Proof for WooCommerce”,
    install and activate it. WooCommerce must be active.
 2. Go to WooCommerce  Sellat and click “Create an account and get the key”. You sign
    in to Sellat (or create a free account), and you come back connected. If you already
    have an API key, you can paste it instead.
 3. In the Protection tab, choose the legal pages the plugin should watch. Your WooCommerce
    terms page and your privacy policy page are chosen for you.

From then on, every confirmed order is recorded. Orders confirmed before you connect
wait and are sent once you do.

**On nginx**, add this rule to your server block so the plugin’s private folder 
is never served directly (Apache uses the .htaccess the plugin writes):

    ```
    location ~* /wp-content/uploads/sellat-proof/ { deny all; }
    ```

## FAQ

### Do I need a Sellat account?

Yes. The proofs are made by the Sellat service. The free account includes the daily
protection of your orders, the recording of your legal pages and the eIDAS qualified
timestamp by hand, paid with seal credits.

### What does the eIDAS qualified timestamp cost?

It is optional. Each one uses a seal credit from your Sellat account: every account
gets one free, and more are sold in packs. Nothing is spent unless you press “Add
eIDAS seal” on an order and confirm. See [Sellat’s prices](https://sellat.app/en/precios).

### What if my legal pages use shortcodes, blocks or a page builder?

Sellat records each legal page as WordPress renders it for a visitor, and “Local
copy” in WooCommerce  Sellat  Legal pages opens each version exactly as it was recorded.
Every WordPress is different: check that what is recorded is what your customers
see. A shortcode, block or plugin that changes the page for each visitor, or hides
part of it, may not have been foreseen. If something does not match, write to us
at help@sellat.app.

### Can someone recover my customer’s email from the record?

No. The record carries a fingerprint of the email, not the email. Whoever holds 
the record, though, can check whether a given email is the one in it: that is what
lets anyone verify a proof pack, which carries the email.

### What happens if Sellat is down?

Nothing at checkout: the plugin never makes the customer wait. The order is marked
as waiting and is sent later, with retries, and the WooCommerce  Sellat  Log tab
shows each attempt. Proofs that are already final do not need Sellat at all: your
shop keeps a copy of each one and builds the proof pack from it.

### What happens to my proofs if I delete the plugin?

They stay in Sellat, and by default the plugin leaves each order’s link to its proof
and your local copies in place. Deleting the plugin forgets the API key and the 
settings. To remove everything, define `SELLAT_PROOF_REMOVE_ALL_DATA` as `true` 
in wp-config.php before deleting it.

### Does it need the PHP mbstring extension?

No. Without it, the plugin lowercases only ASCII letters when it fingerprints the
customer’s email, so an email with an accented letter would get a fingerprint different
from the one Sellat computes; with mbstring (installed on nearly every host) they
always match.

### Does it work with the block checkout and with HPOS?

Yes, both.

## Reviews

There are no reviews for this plugin.

## Contributors & Developers

“Sellat Proof for WooCommerce” is open source software. The following people have
contributed to this plugin.

Contributors

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

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

### Interested in development?

[Browse the code](https://plugins.trac.wordpress.org/browser/sellat-proof-for-woocommerce/),
check out the [SVN repository](https://plugins.svn.wordpress.org/sellat-proof-for-woocommerce/),
or subscribe to the [development log](https://plugins.trac.wordpress.org/log/sellat-proof-for-woocommerce/)
by [RSS](https://plugins.trac.wordpress.org/log/sellat-proof-for-woocommerce/?limit=100&mode=stop_on_copy&format=rss).

## Changelog

#### 1.0.0

 * First public release: daily proofs of confirmed orders, legal page versions, 
   the eIDAS qualified timestamp by hand, proof packs (also built by the shop from
   its own copies of the final proofs), a Usage screen, block checkout and HPOS 
   support.

## Meta

 *  Version **1.0.0**
 *  Last updated **2 days ago**
 *  Active installations **Fewer than 10**
 *  WordPress version ** 6.5 or higher **
 *  Tested up to **7.1.3**
 *  PHP version ** 8.1 or higher **
 * Tags
 * [blockchain](https://wordpress.org/plugins/tags/blockchain/)[eIDAS](https://wordpress.org/plugins/tags/eidas/)
   [terms and conditions](https://wordpress.org/plugins/tags/terms-and-conditions/)
   [timestamp](https://wordpress.org/plugins/tags/timestamp/)[woocommerce](https://wordpress.org/plugins/tags/woocommerce/)
 *  [Advanced View](https://wordpress.org/plugins/sellat-proof-for-woocommerce/advanced/)

## Ratings

No reviews have been submitted yet.

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

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

## Contributors

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

## Support

Got something to say? Need help?

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