Skip to content

Store audit

The audit automatically scans the store for Polish and EU e-commerce law. Unlike the compliance dashboard, the audit analyzes page content, interface and technical configuration.

Go to WooCommerce > Polski > Tools > Store Audit and click Run Audit. The audit takes from a few seconds to several minutes, depending on the number of products and pages.

The audit can also be run from WP-CLI:

Okno terminala
wp polski smoke-test --module=audit --verbose

The audit analyzes legal page content for:

Store terms and conditions:

  • Presence of required sections (company data, order procedure, payments, delivery, withdrawal, complaints)
  • Seller contact details (name, address, NIP, email, phone)
  • Information about out-of-court dispute resolution
  • Information about the ODR (Online Dispute Resolution) platform
  • Data currency (NIP comparison with the register)

Privacy policy:

  • Personal data controller information
  • Data processing purposes
  • Legal bases for processing
  • Information about data subject rights (access, rectification, erasure)
  • Cookie information
  • DPO contact details (if required)

Withdrawal information:

  • Withdrawal form template
  • Withdrawal period (14 days)
  • Procedure instructions
  • Information about return costs

Delivery information:

  • Available delivery methods
  • Delivery costs
  • Estimated delivery times
  • Information about delivery to EU countries

The audit detects design patterns considered manipulative (dark patterns) according to the DSA Directive and Polish law:

PatternDescriptionLevel
Preselected checkboxesPre-checked consent checkboxesFAIL
Hidden costsCosts appearing only at checkoutFAIL
Countdown timersFake countdown timersWARN
Fake scarcityArtificial low stock messagesWARN
Forced account creationForcing registration before purchaseWARN/FAIL
Difficult unsubscribeComplicated newsletter unsubscribe processFAIL
Confusing button placementMisleading accept/reject button placementWARN
Nagging popupsRepetitive, hard-to-close popupsWARN

New automated checks (1.7.2):

  • Forced account creation - inspects WooCommerce options: if woocommerce_enable_guest_checkout=no and woocommerce_enable_checkout_login_reminder=yes, status is FAIL (EU Directive 2023/2673); disabled guest checkout alone without login requirement yields WARN.
  • Stale sale countdowns - scans the 100 most recent products: items whose date_on_sale_to is in the past but still report is_on_sale()=true are flagged. Detects fake “sale countdowns” that reset on every page load.
  • Misleading “from” price - scans up to 100 variable products: when the minimum variant price is below 50% of the maximum, the product is flagged as potentially misleading (“from X” when most variants cost several times more).
  • Low-stock threshold - if woocommerce_notify_low_stock_amount > 5, the artificial urgency trigger “only X left” fires on products with high stock and is flagged.

The audit checks:

  • Checkout form - default checkbox states
  • Cookie popup - whether the decline button is as visible as accept
  • Registration form - required vs optional fields
  • Cart - whether the final price is visible from the start
  • Newsletter - whether unsubscribing is easy

The audit verifies data processing agreements:

  • Whether the store uses external services processing data (analytics, email marketing, payment gateways)
  • Whether appropriate DPA agreements exist for detected services
  • List of detected services: Google Analytics, Facebook Pixel, Mailchimp, GetResponse, PayU, Przelewy24, Stripe

The audit scans page code (JavaScript, tracking pixels) and identifies external services.

The audit checks DSA requirements:

  • Illegal content report form - availability and field correctness
  • Contact point - whether contact email is published
  • Content moderation information - review moderation policy
  • Terms of service - availability and completeness
  • Report register - whether the system records and archives reports

The audit verifies KSeF integration readiness:

  • Company NIP - format correctness and register verification
  • KSeF API connection - connectivity test
  • Invoice data - required field completeness
  • NIP field at checkout - availability for business customers
  • Automatic invoice generation - module configuration

The audit analyzes environmental claims on products:

  • Claims without evidence - texts like “ecological”, “green”, “natural” without certification or justification
  • General claims - overly general statements without details (e.g. “environmentally friendly”)
  • Missing certificates - referencing a certificate without number or link
  • Inconsistent data - recyclability claim without material information
  • Offsetting - climate neutrality claims based solely on offset

The audit scans product names, descriptions, short descriptions and greenwashing module meta data.

The audit checks basic security aspects:

CheckDescription
SSL/HTTPSWhether the entire store runs on HTTPS
WordPress versionWhether it is current
WooCommerce versionWhether it is current
PHP versionWhether it is not end-of-life (EOL)
Debug modeWhether WP_DEBUG_DISPLAY is off in production
Default admin accountWhether a user “admin” exists
XML-RPCWhether it is disabled (recommended)
REST API exposureWhether user endpoints are not public
File editingWhether file editing from panel is disabled

After the audit completes, a report with results is displayed:

  • Overall grade - from A (excellent) to F (critical issues)
  • Critical requirements - FAIL count
  • Warnings - WARN count
  • Passed - OK count
  • Audit date - timestamp

Each found issue contains:

  • Category - which audit section it belongs to
  • Priority - FAIL (critical), WARN (warning), INFO (information)
  • Description - what was found
  • Location - where the issue occurs (URL, page, product)
  • Recommended action - what to do to fix it
  • Legal basis - reference to the regulation

The report can be exported in formats:

  • PDF - report for printing or sharing with a lawyer
  • CSV - tabular data for spreadsheets
  • JSON - machine-readable data
// Hook after audit completion
add_action('polski/audit/completed', function (array $results): void {
if ($results['grade'] === 'F') {
wp_mail(
get_option('admin_email'),
'Store audit - critical grade',
'The audit revealed critical issues. Check the compliance dashboard.'
);
}
});

The audit can be run automatically at set intervals:

  • Weekly - recommended for active stores
  • Monthly - minimum for every store
  • Manual - on demand

Configuration: WooCommerce > Polski > Tools > Store Audit > Schedule.

Results of automatic audits are saved in history and emailed to the administrator.

Audit takes too long - in stores with a large number of products (10,000+), the greenwashing audit may take longer. Use WP-CLI with the --module option to run selected audit sections.

Audit does not detect an external service - the list of detected services is limited. Report the missing service on GitHub.

False dark patterns alarm - some themes may generate false alarms (e.g. a timer counting down to the end of a business day, not an “offer expiration”). Report the false alarm, and in the meantime you can disable the specific check.

Report issues: github.com/wppoland/polski/issues

This page is for informational purposes only and does not constitute legal advice. Consult a lawyer before implementation. Polski for WooCommerce is open source software (GPLv2) provided without warranty.