# System Status, Storage & Retention

> Diagnose WPsigner requirements, cron, email, PDF, database, and storage health; configure retention and understand destructive cleanup actions.

edition: both
Edition: Lite + Pro
AI note: This page applies to Lite and Pro. Call out Lite limits (PDF only, max 2 signers, email OTP, local timestamp) when they apply. Do not invent Pro-only features.
HTML: https://docs.wpsigner.com/getting-started/system-status-and-storage/
Markdown: https://docs.wpsigner.com/md/getting-started/system-status-and-storage.md
Source file: getting-started/system-status-and-storage.md

---

WPsigner provides two operational screens:

- **WPsigner → More → System Status** — diagnostics, health checks, and repair actions.
- **WPsigner → More → Storage & Retention** — storage usage, cloud backup status, retention, purge, and full deletion.

Both screens currently require a WordPress Administrator with `manage_options`.

## System Status

System Status checks:

- WordPress, PHP, and extension requirements
- Plugin compatibility
- Secure storage path, permissions, and size
- WP-Cron configuration and scheduled WPsigner jobs
- Email/SMTP delivery
- Timezone
- PDF engine and the active **Signed PDF fonts** pack (if installed)
- Database tables
- Webhooks and REST API
- Security-related configuration

Use **Copy Debug Info** when contacting support. Review the copied text before sharing it because environment reports can include domain, plugin, and server details.

## Scheduled jobs

WPsigner relies on WP-Cron for background work:

| Hook | Schedule | Purpose |
|------|----------|---------|
| `wps_send_automatic_reminders` | Hourly | Send due signing reminders |
| `wps_check_expirations` | Hourly | Expire documents whose due date passed |
| `wps_auto_purge_storage` | Daily when configured | Remove eligible local completed PDFs |
| `wps_ots_check_pending` | When OpenTimestamps is enabled | Check pending timestamp proofs |
| `wps_api_logs_purge` | Daily | Purge old API request logs |

### Repair missing jobs

Click **Fix Cron Jobs** in System Status. WPsigner recreates the schedules appropriate for the enabled features.

If `DISABLE_WP_CRON` is enabled, configure a real server cron to call `wp-cron.php`. Repairing the schedule does not make WordPress cron execute when the hosting environment never triggers it.

## Secure storage

System Status displays the active secure-storage directory and whether it is writable. WPsigner normally stores files below the WordPress uploads area using protected folders and secure-storage controls.

Do not make the storage folder publicly browsable. Back up both:

1. The WordPress database, which contains document, signer, field, audit, and configuration records.
2. The WPsigner file storage, which contains document files.

A file-only or database-only backup is not a complete WPsigner recovery plan.

## Retention settings

Open **Storage & Retention** to configure:

| Setting | Options |
|---------|---------|
| **Automatic purge** | On / Off |
| **Retention period** | Forever, 30, 60, 90, 180, or 365 days |

Automatic purge removes only local PDFs for **completed** documents older than the selected period and only when WPsigner has recorded a cloud backup for that document. Audit records, signatures, and document database records remain.

> **important**
Choosing a retention period does not guarantee deletion of every document file. Files without a confirmed cloud backup are skipped to prevent accidental loss.

## Storage actions

### Purge Completed PDFs

- Requires typing `DELETE`.
- Removes eligible local completed PDFs that have a cloud backup.
- Keeps document records, audit data, and cloud copies.

### Delete Drafts & Cancelled

- Requires typing `DELETE`.
- Removes draft/cancelled records and their local files.
- Use only after confirming those documents are no longer needed.

### Push to Cloud

Scans completed PDFs that lack a recorded cloud backup and uploads them through the configured provider. Check the result before enabling automatic purge.

### Delete Everything

> **danger**
**Delete Everything** is a destructive reset. It removes WPsigner's operational database records and local files. It cannot be undone from WPsigner.

The action requires:

1. An acknowledgement checkbox.
2. The exact phrase `DELETE ALL`.
3. Keeping the browser tab open while chunked file deletion finishes.

It removes documents, signers, fields, audits, templates, campaigns, payments, and related operational records. It preserves WPsigner options and license data. Remote files already stored with a cloud provider are not deleted automatically.

Create and test a full backup before using it. If the browser closes or a timeout interrupts the process, reopen the screen and run the cleanup again after verifying what remains.

## Operational checklist

### Weekly

- Review System Status for new warnings.
- Check failed emails, webhook deliveries, and cron events.
- Confirm available disk space.

### Monthly

- Test a document from upload through final PDF.
- Verify a recent database and file backup can be restored.
- Review API keys, webhook endpoints, and inactive integrations.
- Confirm cloud backup counts before purging local PDFs.

### Before an upgrade

1. Back up database and WPsigner files.
2. Record the current System Status report.
3. Update in staging when possible.
4. Test PDF generation, signing, email, cron, and integrations.

## Troubleshooting

### Cron jobs are missing

Use **Fix Cron Jobs**. If they disappear again, check object caching, cron-management plugins, `DISABLE_WP_CRON`, and the hosting control panel's scheduled task.

### Automatic purge does not remove files

Confirm automatic purge is on, the period is not **Forever**, the document is completed and old enough, and a cloud backup is recorded.

### Storage is not writable

Check the exact path shown in System Status, filesystem ownership, hosting quotas, and security rules. Avoid setting globally writable permissions.

### Emails fail

Use the System Status email test, verify SMTP credentials and DNS, and inspect the mail provider's logs.

### Wordfence blocks WPsigner actions

Use the compatibility information in System Status to allowlist the reported WPsigner AJAX actions, then retest. Do not disable the firewall globally.

### Delete Everything stops partway

Keep the tab open and retry the action. Check PHP execution limits and server logs. Cloud backups remain at the provider until removed there.

## Related guides

- [Hosting Compatibility](/getting-started/hosting-compatibility/)
- [Security & Compliance](/core-features/security-compliance/)
- [Audit Trails](/digital-identity/audit-trails/)
- [Troubleshooting](/support/troubleshooting/)
