Security Revolution: setup and help
Quick start
- Upload and install the Security Revolution ZIP in Modules > Module Manager.
- Open Security Revolution > Settings > Configuration and review Module Active and the Spam Filter settings.
- Add your administrative address under Whitelisted IPs and use a separate non-whitelisted session for testing.
- Review Action Rate Limits and set Capacity guard to Monitor only while assessing load decisions.
- Submit one controlled registration and contact message and inspect Protection > Blocked for the actual result.
- Create a clean baseline in Protection > File Monitor and inspect a scan.
- Configure the tokenized cron runner, then verify its task results; configure and test private backups separately if you need them.
Requires PrestaShop 1.6.1 or later and PHP 7.1 or later.
Setup manual
Install and review the first configuration
Upload and install the Security Revolution ZIP in Modules > Module Manager. Click Configure. The menu is Security Revolution, with Dashboard, Fleet, Monitoring, Protection, Backup and Settings.
Select the intended shop. Open Settings > Configuration, review the defaults below and save. Add your trusted administrative IP to Whitelisted IPs before deliberate blocking tests. Use a different, non-whitelisted browser/IP for those tests. Keep server access available before changing login protection.
Security protections have separate scopes. Form/action checks, the capacity guard, security headers, administrative authentication and an operator-applied origin policy are not controlled by one universal enable switch.
Configure registration, contact and comment checks
In Settings > Configuration, use the General, Spam Filter, Contact & Comments and Bot Fight tabs.
| Setting | Default | Effect |
|---|---|---|
| Module Active | On | Enable the main module filtering/tracking paths. Managed CSP and a separately applied server origin policy have their own lifecycle. |
| Blocked Email Domains | Ten domains | One domain per line, checked during registration. |
| Block Non-Latin Characters | On | Check names against the selected blocked scripts. Change this before accepting customers whose names use those scripts. |
| Blocked Character Scripts | Cyrillic, Chinese, Japanese, Korean, Arabic, Hebrew, Thai, Devanagari | Scripts rejected by the name check. |
| Block Gibberish Names | On | Check names for random-looking content. Review false positives in blocked attempts. |
| Enable Honeypot Fields | On | Add the hidden registration field and reject a filled value. Contact protection also checks this posted field if present. |
| Enable Contact Form Protection | On | Run contact spam checks through supported form integration. |
| Contact Form Spam Keywords | Built-in phrase list | One phrase per line. Defaults include guest post, link building, backlink, SEO services, digital marketing, cryptocurrency and online casino. Remove phrases that are legitimate subjects for your shop. |
| Block Links in Contact Form | On | Reject messages exceeding Max Links Allowed. |
| Max Links Allowed | 3 |
Contact-message link limit. |
| Enable Comment Protection | On | Check supported product-comment submissions. |
| Enable Bot Fight Mode | Off | Enable the optional JavaScript challenge path, subject to runtime enforcement mode and verified-address exemptions. |
| Challenge Suspicious User-Agents | On | Check suspicious automation signals when Bot Fight is enabled. This is not crawler identity verification. |
The initial domain list is:
qq.com
163.com
126.com
sina.com
sina.cn
sohu.com
21cn.com
tom.com
139.com
yeah.net
Registration checks include bans, rate limits, domain checks, scripts, name patterns and the honeypot. Contact checks include bans, the posted honeypot, limits, phrases, names and links. Comment checks include bans, limits, names, spam content and more than two links. A third-party form/comment module must invoke the relevant PrestaShop integration path.
The registration honeypot name is generated from the module name. Do not add a visible CAPTCHA or hard-code an old honeypot name into your theme as part of normal setup.
Set block behavior and trusted IPs
Open Block Behavior.
| Setting | Default | Effect |
|---|---|---|
| Block Site Access | Off | Site-level response for detected threats. |
| Block Registration | On | Apply registration blocking. |
| Block Contact Form | On | Apply contact blocking. |
| Block Email Sending | On | Apply the module's email-blocking path. This is separate from enabling outgoing-email monitoring. |
Under IP Management, Whitelisted IPs starts empty. Enter trusted IPs one per line, for example:
203.0.113.10
198.51.100.25
Global whitelisting bypasses module request/action checks and the in-PHP capacity admission. It does not remove security headers or rewrite an external origin policy.
Action-specific whitelist exceptions are also available for cart, registration, contact and comment. They bypass the corresponding rate limits rather than granting the same broad exemption as the global list. Manage IP actions from the session/IP tools where available; these are not four separate fields in the current Configuration form.
Bans can be global or action-scoped, including cart, login, registration, contact and comment. Check the scope before removing a ban or adding a global exception.
Set action and global rate limits
Use Configuration > Action Rate Limits. Enable Rate Limiting defaults on.
| Setting | Default per IP |
|---|---|
| New Cart Hourly Limit | 20 |
| New Cart Daily Limit | 100 |
| Registration Hourly Limit | 3 |
| Registration Daily Limit | 5 |
| Contact Hourly Limit | 5 |
| Contact Daily Limit | 15 |
| Comment Hourly Limit | 5 |
| Comment Daily Limit | 20 |
Raise an action limit only after checking the relevant blocked attempts and whether several real users share an address.
Under Global Limits, Enable Global Rate Limiting defaults on, Requests Per Minute to 60 and Requests Per Hour to 1200.
Trusted reverse-proxy CIDRs starts empty. Add a proxy or load-balancer range only when PHP sees that proxy as REMOTE_ADDR. Cloudflare ranges and loopback are already trusted. Forwarded client-IP headers are accepted only from trusted peers. Wrong proxy configuration can make many customers appear to have the same address.
The internal firewall_runtime_mode defaults to monitor. The module logs proposed firewall, ban, global-rate and Bot Fight interventions in monitor mode; enforce applies them and off disables that runtime layer. This key is not exposed as the old visible Configuration switch. Use support/operator configuration for a deliberate runtime-mode change. Action-specific submission checks remain active in monitor mode and can reject form submissions.
Configure capacity and crawler handling
Open Configuration > Capacity.
| Setting | Default | Effect |
|---|---|---|
| Capacity guard | On / enforce |
Limit concurrent renders. Monitor only records decisions; Off disables this in-PHP guard. |
| Pages rendered at once | 0 |
Automatic CPU-based capacity, bounded from 2 to 32. An explicit value sets public page capacity; checkout/account capacity and background capacity have their own reserved shares. |
Pages served from page cache do not consume a render slot. When a lane is full, the in-PHP guard returns HTTP 503 with Retry-After, X-MPR-Capacity: busy and a retry ticket. Normal page requests receive a small retry page. Form submissions ask the visitor to submit again; the body is not automatically replayed.
Open Monitoring > Crawlers to inspect named traffic. User-agent crawler names are report labels. The module does not let you allow or block a crawler family merely by that name.
Search and AI crawler identity is verified by address using operator-published ranges or proven reverse DNS. Verified addresses are exempt from per-address throttling and challenges. A claimed Googlebot user agent is not sufficient. Verified crawlers still contribute server load handled by capacity controls.
The module does not offer the old configurable per-crawler crawl budget or Redis weighted facet token bucket. There is no current setup for Bucket Capacity, Single Filter Cost or the old X-MPR-Facet-Limiter response. Use the actual capacity controls and supported listing integration instead.
Review sessions and behavior scores
Open Monitoring > Sessions and its settings panel. Activity and Traffic provide related request and action reports.
| Setting | Default | Effect |
|---|---|---|
| Enable Session Tracking | On | Record visitor sessions. |
| Session Timeout (minutes) | 60 |
Inactivity timeout. |
| Admin / Internal IPs | Empty | Exclude listed internal IPs from tracking, visitor statistics and related notifications. This is not the protection whitelist. |
| Real Session Retention (hours) | 2160 |
Human-session retention, 90 days. |
| Bot Session Retention (hours) | 24 |
Bot-session retention. |
| Cart Action Retention (hours) | 720 |
Cart-action retention, 30 days. |
| Enable Cart Action Tracking | On | Record add, remove and update actions. |
| Enable Behavior Analysis | On | Score supported browsing patterns. Runtime enforcement still depends on its mode. |
| Max Pages Per Session | 200 |
Session page-count threshold. |
| Max Pages Per Minute | 30 |
Rapid-browsing threshold. |
| Max Sessions Per IP (24h) | 50 |
IP session-count threshold. |
| Max Pages Per IP (24h) | 500 |
IP page-count threshold. |
| Warning Score Threshold | 50 |
Warning score. |
| Block Score Threshold | 80 |
Proposed block threshold. |
| Exempt Verified Crawlers | On | Skip behavior checks for verified crawler addresses. |
Use the Scoring Points settings only after inspecting actual score breakdowns.
| Setting | Default points |
|---|---|
| High Pages - Base Points | 20 |
| High Pages - Per 50 Extra | 5 |
| High Pages - Max Points | 60 |
| Rapid Crawl - Base Points | 25 |
| Rapid Crawl - Per 10 Over | 5 |
| Rapid Crawl - Max Points | 60 |
| Many Sessions - Base Points | 10 |
| Many Sessions - Per 10 Over | 5 |
| High IP Pages - Base Points | 15 |
| High IP Pages - Per 100 Over | 5 |
Other internal defaults: page counters on, detailed page history off, 10 points for a visitor not yet recognized as human, analysis after 5 page views and request logs kept for 24 hours. General debug and registration debug are both off by default. Not all of these have their own field on the current form; ask support for temporary logging changes.
Configure security headers
Open Protection > Headers. Review the current analysis before applying a preset, because presets change several values.
| Field | Default | Setup |
|---|---|---|
| X-Frame-Options | SAMEORIGIN |
Check any legitimate framing requirement before changing it. |
| X-XSS-Protection | Off | Legacy browser header. |
| X-Content-Type-Options (nosniff) | On | Send MIME sniffing protection. |
| Referrer-Policy | strict-origin-when-cross-origin |
Referrer information policy. |
| HSTS (Strict-Transport-Security) | Off | Sent for HTTPS when enabled. |
| HSTS Max-Age (seconds) | 31536000 |
HSTS lifetime. |
| HSTS Include Subdomains | Off | Extend HSTS to subdomains. |
| HSTS Preload | Off | Add the preload directive. |
| Enable CSP | Off | Enable the saved Content Security Policy. |
| Report-Only Mode (recommended for testing) | On | Report violations before enforcing CSP. |
Edit the CSP policy and source controls for the domains your shop actually loads. The baseline includes self and common PrestaShop, Google and media sources, but your payment, analytics or embedded services may need more. Test checkout, fonts, media and widgets, then review violations before enforcing.
Permissions-Policy and cross-origin policy values are empty by default. These values are not all available as labeled controls under Headers.
Security-header handling is enabled by default. Managed CSP can also be reconciled into .htaccess. Turning Module Active off does not by itself remove that separately managed CSP. Disabling or uninstalling the module removes its managed .htaccess CSP block and can fail if cleanup cannot be completed.
Configure outgoing-email monitoring
Open Protection > Email and its configuration area.
| Field | Default | Effect |
|---|---|---|
| Enable Email Security | Off | Enable logging and outgoing-email checks. |
| Enable Rate Limiting | Off | Enable non-transactional email rate limits. |
| Max emails per recipient (hourly) | 10 |
Per-recipient hour limit. |
| Max emails per recipient (daily) | 30 |
Per-recipient day limit. |
| Max emails per IP (hourly) | 20 |
Per-IP hour limit. |
| Max password reset emails (hourly) | 3 |
Password-reset limit. |
| Block Disposable Emails | Off | Check known disposable recipient domains. |
| Volume Spike Alerts | Off | Alert on unusual hourly sending. |
| Volume Alert Threshold | 2.0 |
Multiplier over average. |
| Mass Sending Alerts | Off | Alert on many unique recipients from an IP in a short period. |
| Mass Sending Threshold | 50 |
Unique-recipient threshold in the five-minute detection window. |
Save, then inspect recorded status, type and recipient data. Order confirmations, order status, invoices, credit slips and account-creation messages are excluded from the email rate limiter. That exemption does not mean every unrelated delivery failure is prevented.
Run file and vulnerability checks
Open Protection > File Monitor. Create a baseline only after a known-clean installation or trusted update. Run a scan and review changed, missing, new or suspicious files. Recreate the baseline only after verifying legitimate changes.
The scanner monitors classes, controllers, src, override, config and modules, for PHP, Smarty, JavaScript and .htaccess files. It excludes cache, logs, uploads, images, downloads, vendor libraries and node_modules. A baseline is not a complete forensic scan of every file.
Open Protection > Vulnerabilities to run the available version and server-setting checks.
Set up private backups and schedules
Open Backup > Settings before creating an archive.
| Field | Default | Setup |
|---|---|---|
| Private backup directory | Empty, automatic validated location beside the shop | Use an absolute path outside every served web root. Both PHP and cron must be able to write it. |
| Effective private directory | Calculated | Confirm that the displayed resolved path is available. |
| Enable backups | Off | Enable backup work. |
| Retention (days) | 30 |
Age retention. |
| Retention (count) | 10 |
File-count retention. |
| Notification email | Empty | Address for backup notices. |
| Notify on success | Off | Successful-backup notices. |
| Notify on failure | Off | Failure notices. |
| Default storage | local |
Default storage choice. |
If MPR_SECURITY_BACKUP_DIR is defined in the shop bootstrap, it overrides the editable directory. Save directory changes before relocating existing archives. The relocation workflow verifies files before removing originals.
Use Backup > Backups for a manual backup and inspect its completed result. Use Storage for local storage configuration. Backups use local storage; FTP, SFTP, S3 and WebDAV destinations are unavailable. Keep an independent off-server copy using your hosting/operations workflow.
Open Backup > Schedules and add a named schedule.
| Field | Default | Setup |
|---|---|---|
| Schedule Name | Empty | Required identifier. |
| Backup Type | full |
Select the available type. |
| Backup Scope | full |
Select the available scope. |
| Frequency | daily |
Interval. |
| Run Time | 03:00:00 |
Shop/server scheduling time. |
| Run Day | 0 for weekly fallback, 1 for monthly fallback |
Monthly days must be 1 to 31. |
| Storage | local |
Storage destination. |
| Retention (count) | 7 |
Schedule file-count retention. |
| Retention (days) | 30 |
Schedule age retention. |
| Notify Email | Empty | Schedule notice recipient. |
| Active | On | Enable this schedule. |
New schedules default to success notifications off and failure notifications on. Check the available notification controls in your installed schedule form. A saved active schedule still needs the runner described next.
Configure cron and check its result
Use Settings > Scheduled Tasks for shared jobs and Backup > Cron System for backup runner setup/status. Copy the real token from the module.
* * * * * php /var/www/html/modules/mprsecurityrevolution/cron.php --token=YOUR_TOKEN --max-tasks=20 --max-seconds=55 --context=cron
Change the paths for your host. HTTP execution is also supported:
curl 'https://yourshop.example/modules/mprsecurityrevolution/cron.php?token=YOUR_TOKEN'
CLI defaults are 20 tasks, 55 seconds and context cron. Supported contexts are cron, front and admin. The minute runner dispatches active due tasks; individual jobs retain their own schedules. These include scheduled backups, security/rate-limit/request/session cleanup, GeoIP work, visitor classification, buffered reporting and crawler-address maintenance.
Check the runner output and task state. For backups, also check that a finished archive appears in the private directory, since a backup can fail after the scheduler starts it.
Configure administrative login security
Open Settings > Admin Security. Check recovery access before enabling authentication enforcement.
| Field | Default | Effect |
|---|---|---|
| Login protection | Off | Enable failed-login throttling. |
| Lockout mode | Soft | Soft uses a timed lockout; hard lockouts need administrative recovery. |
| Attempts / window / lockout | 5 / 15 / 30 |
Attempts, observation minutes and soft-lockout minutes. |
| Challenge employees who enabled 2FA | On | Enforce challenges for enrolled employees. |
| Require 2FA for all employees | Off | Require enrollment for all employees. |
| Fail open on 2FA errors | On | Allow the configured recovery behavior on supported 2FA failures. An unreadable policy can still refuse login. |
| Session IP lock | Off | Check administrative session IP consistency. |
| Step-up 2FA scaffold | Off | Enable additional authentication for supported administrative operations. |
| Step-up TTL minutes | 15 |
Step-up interval. |
| Audit log | Off | Record admin-security audit activity. |
| Retention days | Audit 90, login 30 |
Retention for the two admin log types. |
| Trusted admin IPs/CIDRs | Empty | Administrative trust list, separate from the storefront whitelist. |
Enroll your own authenticator, verify a challenge and keep backup codes before requiring all employees to enroll. Review Monitoring > Admin Security Logs.
For an operator with server access, the installed recovery utility supports:
php modules/mprsecurityrevolution/bin/admin-security-escape.php --clear-lockouts
php modules/mprsecurityrevolution/bin/admin-security-escape.php --disable-enforcement
--all combines both. Use the installed utility and inspect its result; recovery changes authentication enforcement and must be followed by reconfiguration.
Review the separate origin protection policy
The additional Origin protection form saves a desired server policy. It does not deploy it. It supports one root-URL shop with one shared HTTP/HTTPS host and this module as active firewall owner. Multishop, non-root URLs and multiple active shop URLs are unsupported for this origin policy.
No policy thresholds are enabled automatically. Choose Origin protection mode and Shared pool rate mode as Observe or Enforce. Fill Total workers from 3 to 64, equal to the sum of all pool workers.
Configure all three pools: Public pool, Interactive checkout, account and payment pool, and Administration, downloads and long operations pool. Each has:
| Field | Required range |
|---|---|
| Workers (1 to 64) | 1 to 64 |
| Concurrent requests across the pool (1 to pool workers) | Up to pool workers |
| Concurrent requests per IP (1 to pool concurrency) | Up to pool concurrency |
| Requests per second per IP (1 to 100) | 1 to 100 |
| Per-IP burst (1 to 100 requests) | 1 to 100 |
| Shared requests per minute (1 to 6000) | 1 to 6000 |
| Shared burst (1 to 100 requests) | 1 to 100 |
| Request deadline (2 to 600 seconds; operator topology review required) | 2 to 600 seconds |
An operator must separately apply the policy and any worker/deadline deployment. A matching applied receipt records the last application, not ongoing service health. Export or import the complete desired policy with:
php modules/mprsecurityrevolution/bin/origin-protection.php export
php modules/mprsecurityrevolution/bin/origin-protection.php import < complete-policy.json
Neither command is a server deployment command. Shared pool rate limits cover all addresses and URLs in the pool without cookie or user-agent exemptions.
Verify and troubleshoot
Test one controlled registration and contact submission first. Inspect Protection > Blocked for type, reason, IP, available email, data and timestamp. Reasons can include rate limits, blocked domains, honeypot, non-Latin names, gibberish, banned IPs, spam keywords and excess links.
Test capacity in Monitor only before tuning limits on a busy shop. Distinguish the in-PHP 503 response from per-IP rate-limit or form errors. Check forwarded-IP configuration if many visitors share one apparent IP. Check verified-address data before treating a crawler label as trusted.
For missing data, review session tracking, internal-IP exclusions, retention and cron results. For blocked real customers, inspect the exact rule and scope before adding exceptions. For header problems, inspect the response headers, CSP violations and managed .htaccess state. For backup failures, check the effective private path, both PHP/CLI permissions, available space and the task error.
Use Settings > Integrity for installation checks. Keep PrestaShop and modules updated and retain tested backups outside the shop; the module's scans and local archives do not replace those operations.
Uninstall
Export logs and copy backups you need before uninstalling. Review any operator-deployed origin policy separately, because saving or removing the module is not the same as changing server topology.
Disable/uninstall through Module Manager only after checking managed CSP cleanup. Uninstall removes module-owned tables and scheduled tasks, with shared session/page-view cleanup handled by the shared package. Do not assume that module logs and configuration survive. Preserve private backup archives independently before removing module files.
Compatibility
Requires PrestaShop 1.6.1 or later and PHP 7.1 or later.
Questions
No questions about this module yet
Ask anything about installation, compatibility or setup. Answers appear here.
Known Issues
25
Backup restore fails when destination folders were deleted
Blocked-visitor text contains damaged translations
File integrity baseline reports incomplete work as successful
Corrected contact messages remain blocked
Maintenance health reports success despite cleanup failures
Missing local country data is not clearly reported
Dashboard sessions and filters fail
Visitor requests perform security maintenance
One schedule can remove another schedule's backups
Unavailable backup storage prevents settings saves
Visitor sessions fail on PHP 7.1
Older filter integration causes an error
Activity and backup administration screens fail
Manual scheduled backups do not run
Notification tabs disappear
Background actions fail on PrestaShop 9
Administrator security screens fail to open
Monitor mode changes visitor responses
Security hardening
Administration filters return incorrect results
Notification list shows unwanted automated visits
Cached-page visitors are missing from sessions
Visitor page counts are inflated
IP whitelist blocks Cloudflare proxy IPs instead of real visitor IPs
When the store is behind Cloudflare, the firewall sees Cloudflare's IP addresses instead of real visitor IPs. All legitimate traffic gets blocked.
Resolution note
Added Cloudflare IP range detection and CF-Connecting-IP header parsing.
Admin activity log grows unbounded — database table exceeds 500MB
The admin activity log has no rotation or cleanup mechanism. On active stores with multiple admins, the log table grows to 500MB+ within a year.
Resolution note
Implemented automatic daily log cleanup via the shared cron system. Logs older than 90 days are purged automatically at 04:00. Additional cleanup tasks run hourly for rate limits and request logs, and daily for blocked attempts and sessions. No manual intervention required — works automatically on stores with cron enabled.
Feature Requests
18
Implemented
TOTP two-factor authentication for back-office accounts
TOTP two-factor authentication for back-office employees
Runtime firewall monitor mode
Visitor session intelligence
Session notification exclusions
Separate session retention
Updates from the back office
Multilingual administration
Runtime firewall and security headers
Central security hub
Administrator login protection
Content Security Policy management
Shop capacity protection
Verified crawler capacity reporting
Private backup storage settings
Managed local country database
Crawler request budgets
Filtered-page rate limiting
Changelog
v3.8.72026-05-27
- AddedTiered session retention — 90d humans, 24h bots, configurable
- Addedcomplete FR/DE/ES/IT/PL translations
- FixedPreserve dashboard notification tabs
- FixedMigrate module state to MPR config
- FixedHarden security notifications and crawler policy
- FixedHarden public security front endpoints
Older releases
v3.4.02026-04-20
- AddedConfigurable excluded IPs for session notifications
- AddedPass country code to visitor labels for country-prefixed IDs
- AddedUnique visitor IDs — pass IP to primaryLabel for #XX suffix
- AddedAdd visitor nicknames and behavior tags to session tracking
- AddedLicense management tab with key management and renewal options
- Addedself-healing integrity checks for automatic diagnostics and repair
- Addedcomplete FR/DE/ES/IT/PL translations
- ImprovedSessions controller extends shared BaseSessionsController
- ImprovedUse behavior-based labels instead of random nicknames
- Improvedadmin list columns with visual badge indicators and multiselect filters
- Improvedsettings form organization with tabbed layout
- ImprovedSEO handling with proper canonical URLs and meta tags on all front pages
- FixedHeadless browser detection via WebGL renderer in JS verification beacon
- FixedNotification panel time-ago and switch to date_last_activity
- FixedVerifyJS creates session when none exists (CF cache visitors)
- Fixedvarious stability and compatibility improvements (8 fixes total)
- Fixedadmin list filters — sorting, searching, and filtering now work correctly on all columns
v3.3.12026-01-05
- AddedPS 9 / Hummingbird theme compatibility
- Fixedfalse-positive file-integrity alert on PS 9 Symfony cache manifest files
- Improvedaudit-log export — CSV now includes IP, user-agent, and session ID columns
v3.3.02025-12-08
- AddedTOTP-based 2FA for all admin employees with per-user enrolment QR codes
- Addedsecurity-headers auto-configuration (CSP, HSTS, X-Frame-Options, Referrer-Policy)
- Improvedmalware scanner — pattern database updated to 2025-Q4 signature set
v3.2.02025-09-22
- Addedscheduled malware scan with email alert on detection
- Addedbrute-force lockout with exponential back-off and admin override
- Improvedaudit log — now captures admin controller access and bulk-action events
v3.1.02025-07-01
- Addedfile-integrity monitoring with configurable exclusion list
- AddedIP reputation check against public abuse-IP database
- Improvedbrute-force protection: distributed tracking via Redis for multi-server shops
v3.0.12025-04-17
- Fixedlogin-attempt counter not resetting after successful authentication
- Fixedaudit log table not created on fresh installs of some PS 1.7.7.x builds
v3.0.02025-02-05
- Major release: complete security suite for PrestaShop
- File integrity monitoring, brute-force protection, 2FA, malware scanning
- Comprehensive audit log for all admin actions
- Security-headers manager and HTTP response hardening
- Compatible with PS 1.7.x and PS 8.x
Demo
Test the full module before you buy
Buy a licence later and keep your settings.
- Your 30-day demo Test it on your own shop for 30 days from the first install.
- Ready demo shop Explore a ready demo shop in your browser.
- No registration No account, email or store domain needed.
By downloading, you accept the demo terms and privacy policy.
By opening this demo you accept the demo terms and the privacy policy.