Smooth Sandbox

Description

Try your next WordPress change on a copy of your own site.

Smooth Sandbox turns your site’s content, settings and installed packages into a reusable Snapshot, then opens it in PluginPeer’s browser-based WordPress Playground. Explore changes with familiar pages, media and plugin settings without setting up a separate staging server.

Use it to investigate a plugin conflict, try a different theme, check a supported PHP version or record the steps that reproduce a bug. Start with your own site instead of an empty WordPress installation.

What can you use it for?

  • Troubleshoot plugin conflicts. Choose which captured plugins to load and narrow down the combination that causes a problem.
  • Try changes before applying them to your site. Experiment with plugin settings, themes and content in the sandbox, then decide what to change on your live site.
  • Check compatibility. Launch your captured site with supported WordPress and PHP versions to see how it behaves in Playground.
  • Make bug reports easier to follow. Record a session in PluginPeer and keep its link in your WordPress dashboard for later reference.
  • Return to a repeatable starting point. Launch again from the same Snapshot, or update it when you want to test with newer site data.

Your site, ready to experiment with

A useful test environment needs more than a few sample posts. Smooth Sandbox includes your site’s database and plugin settings, supported media, installed themes and selected plugins. Custom and modified packages are copied from your site, and your own must-use plugins come along too.

You choose whether to include private content, user accounts and detected credentials. Users are excluded by default; selected accounts receive new sandbox-only passwords. Plugin and theme packages use their captured versions, so each launch starts from the versions in your Snapshot.

Prepare once. Launch again when you need it.

Snapshot generation runs in the background on your WordPress server. Updates reuse unchanged files and refresh the database. If an update fails, your last completed Snapshot stays available.

Choose your launch options, click Boot up sandbox, and continue in PluginPeer. There is no separate staging hosting to configure. When a test is worth keeping, use PluginPeer’s recording or environment-saving tools.

PluginPeer is required to launch and record sandbox sessions. Local Snapshot generation does not upload your site to cloud storage. Launch transfers the selected data to PluginPeer’s browser runtime; recording or saving in PluginPeer can upload data to its storage services. See the service details below and the FAQ for data handling and compatibility limits.

External services

PluginPeer provides the browser runtime, import receiver, environment tools and recording service.

  • Service: https://pluginpeer.com
  • Terms: https://pluginpeer.com/terms
  • Privacy: https://pluginpeer.com/privacy
  • Runtime versions come from a catalogue bundled with the plugin and updated with plugin releases. Opening plugin administration screens does not contact PluginPeer.
  • After explicit launch, the browser transfers the selected database, packages, media, source URLs, user profiles with new passwords, and selected credentials to Playground. Source database connection credentials are excluded.
  • Recording and saving use PluginPeer’s storage and access controls. WordPress stores returned recording URLs.
  • Service requests expose normal connection information such as IP address and browser/request metadata. No Smooth Bundle account connection is made by this plugin.

Smooth Bundle provides asset storage and delivery for PluginPeer. Browser assets use https://pluginpeer.smoothbundle.com. Recording or saving in PluginPeer can upload captured assets, recording data or saved environments to Smooth Bundle through PluginPeer. Some replay assets use public delivery URLs; visibility and retention depend on the PluginPeer feature used. Local Snapshot generation does not use cloud storage. See the privacy policy and terms.

WordPress.org supplies public plugin and theme packages. During Snapshot generation, WordPress may download exact releases from https://downloads.wordpress.org to compare their contents with installed files. Only package slugs and versions are requested; no site content or credential values are included. Playground also downloads verified packages when launching. See the WordPress.org privacy policy and terms.

Third-party code

Includes the unmodified database library from WordPress SQLite Database Integration 3.1.1 under GPL-2.0-or-later. It prepares SQLite Snapshots without replacing the source database connection. License and source checksum: vendor/sqlite-database-integration/LICENSE and SOURCE.txt.

Plugin PHP, JavaScript and CSS are included as readable source. PluginPeer is a separate service.

Installation

  1. Upload the Smooth Sandbox ZIP using Plugins > Add New > Upload Plugin, then activate it on an individual WordPress site.
  2. Open Smooth Sandbox > Settings. Choose the site data, optional users and credentials to include.
  3. Click Save settings. This automatically queues a Snapshot if none exists or if your content, user or credential settings differ from the last Snapshot. To refresh site data without changing settings, use Queue Snapshot update. WP-Cron or your configured system scheduler must be running; you can leave the page while generation proceeds.
  4. Open Smooth Sandbox > Sandbox, choose the runtime versions and packages, then click Boot up sandbox. Allow the browser to open the Playground tab.
  5. Test and record in PluginPeer; keep the WordPress tab open to receive recording links.

Requirements: WordPress 6.5 or newer, PHP 8.1 or newer with zlib, administrator permissions to manage settings/plugins/themes, a writable private storage directory, and a current browser supporting gzip decompression. Multisite is not supported. Recording tables require MySQL/MariaDB with InnoDB. PDO SQLite and mbstring enable prepared SQLite exports; otherwise a JSON export is used. ZipArchive enables package verification and reuse of WordPress.org releases.

PluginPeer must support this release’s import protocol. An incompatible handshake stops launch before any site data is transferred.

FAQ

Do I need a PluginPeer or Smooth Bundle account?

Launching does not require connecting an account. PluginPeer manages account requirements for recording and saving. There is no Smooth Bundle account integration.

What data does a Snapshot include?

Snapshots include database tables, options, transients, metadata, comments, content and custom plugin tables. Draft, pending, private, scheduled and password-protected content requires opt-in. Media includes images, SVG, PDF, audio and video, including unattached items and available variants.

No source users are copied by default. Selected accounts retain their profiles, roles and metadata and receive new sandbox-only passwords. Source password hashes, account sessions and application passwords are excluded. Playground creates its own administrator account.

Detected keys and tokens are excluded unless individually selected in Credentials. Selected values are real credentials. Detection may miss secrets; unknown plugin data and content are retained. Review the data before launching: this is not automatic anonymization.

Trash, auto-drafts, their core relationships, temporary execution locks, WooCommerce sessions and this plugin’s recording data are excluded. Your own must-use plugins are copied. When the source is a Playground environment, known PluginPeer runtime files are skipped so the destination can create its own. Server drop-ins and server configuration are excluded. Cron jobs are retained with stale execution state cleared.

Where is my data stored, and what should I review?

Snapshot files and settings are private per administrator and stored outside the public website root. Transfers require an authenticated administrator. Failed updates preserve the last completed Snapshot. Source-site or setting changes require regeneration.

Hosts may clear system-temp storage. For persistence, define SMOOTH_SANDBOX_SNAPSHOT_DIR as a private absolute directory outside the website and wp-content. Allow space for exports and old revisions, retained for at least one hour and pruned after successful builds.

Delete Snapshot removes the administrator’s stored revisions; saved user and credential selections remain. Deactivation and uninstall preserve settings, Snapshots and recording records. Remove Snapshots and recording references before uninstalling if they are no longer needed; retained private settings and legacy recording data require manual cleanup by the site administrator.

After Boot up sandbox, selected data is transferred to PluginPeer’s browser runtime, which can read it. Closing or reloading loses the temporary copy unless explicitly saved or exported. PluginPeer controls recording storage and visibility.

Imported plugins can contact external services through the Playground network transport, and scheduled jobs can run while the sandbox is open. Real credentials can therefore authorize real external actions. Outgoing WordPress mail and automatic core/package updates are disabled by the current runner. Only import code and data you trust; browser execution is not a security boundary against hostile imported plugins.

How do recordings work?

Record sessions using PluginPeer’s recording controls. Keep the source WordPress tab open to receive saved recording links. Removing a reference from WordPress does not delete the recording at PluginPeer. Up to 500 references are kept per administrator.

Legacy recordings remain in private database tables. Hourly cleanup removes uploads unfinished for 24 hours and expired callback tokens. Deleting a WordPress user removes their recording records on this site.

Do sandbox changes update my live site?

Changes made inside the sandbox do not automatically update your source WordPress site. Use the sandbox to test an idea, then apply the changes you want to keep on your live site separately. Imported plugins can still contact external services; review credentials and integrations before testing.

Is this a backup or a complete staging server?

No. This is a temporary SQLite environment. MySQL-specific features, external caches, server configuration and third-party plugins may behave differently or be unsupported. Do not use it as your only backup.

Which limits apply?

This plugin’s Snapshot/export limits are 1,000 tables, 5,000 media attachments, 15,000 files and 256 MiB uncompressed, with 20 MiB per file and a 16 MiB manifest. These limits are enforced locally and are independent of Smooth Bundle plans. Server and browser resources also affect startup.

PluginPeer applies separate limits to recording, uploads and saved environments. Smooth Bundle also enforces its current storage and delivery limits. Increasing a Smooth Bundle quota does not raise this plugin’s import limits. Check the limits shown in PluginPeer and the current Smooth Bundle plans for the relevant service.

Reviews

There are no reviews for this plugin.

Contributors & Developers

“Smooth Sandbox” is open source software. The following people have contributed to this plugin.

Contributors

Translate “Smooth Sandbox” into your language.

Interested in development?

Browse the code, check out the SVN repository, or subscribe to the development log by RSS.

Changelog

1.0.3

  • Automatically queue a Snapshot when settings are saved without an existing Snapshot or when content, user or credential settings have changed.
  • Remove the redundant database rebuild message from Snapshot update details.

1.0.2

  • Fix Snapshot generation inside PluginPeer Playground by skipping known runtime MU files while preserving site MU plugins.
  • Fix PluginPeer validation rejecting Snapshots created inside Playground, including metadata from earlier development builds.
  • Support root-level plugin filenames containing dots or spaces in the import manifest.
  • Keep repository selection consistent for packages with multiple plugin entry points.
  • Preserve the expected JSON object format for empty database exclusion reports.
  • Refresh the plugin description with practical testing, troubleshooting and recording use cases.

1.0.0

  • Initial public release.
  • Private background Snapshots with incremental file reuse and fresh database exports.
  • Explicit site-data, user and credential selections.
  • Browser Playground launch with selected packages and supported media.
  • PluginPeer recording references and confirmed Snapshot deletion.