# WPsigner Support Pack

> Troubleshooting, FAQ, security disclosure, and using docs with AI.

Generated for AI assistants from the official WPsigner docs.
HTML guide: https://docs.wpsigner.com/support/use-with-ai/
Pages in this pack: 5

## Suggested prompt

```text
You are helping me configure and use WPsigner, a self-hosted electronic-signature plugin for WordPress.
Use ONLY the documentation below as your source of truth.
Each page header includes edition: lite, pro, or both. Never invent Pro-only features for Lite.
If something is not covered, say so clearly and ask for the missing detail.
Prefer exact admin menu paths, shortcodes, endpoints, and settings names from the docs.
```

## Contents

1. [Support](https://docs.wpsigner.com/md/support.md) — https://docs.wpsigner.com/support/
2. [Frequently Asked Questions](https://docs.wpsigner.com/md/support/faq.md) — https://docs.wpsigner.com/support/faq/
3. [Report a Security Issue](https://docs.wpsigner.com/md/support/security.md) — https://docs.wpsigner.com/support/security/
4. [Troubleshooting](https://docs.wpsigner.com/md/support/troubleshooting.md) — https://docs.wpsigner.com/support/troubleshooting/
5. [Use Documentation with AI](https://docs.wpsigner.com/md/support/use-with-ai.md) — https://docs.wpsigner.com/support/use-with-ai/

---

# Support

> Find solutions to common issues, answers to frequently asked questions, and ways to get help with WPsigner.

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/support/
Markdown: https://docs.wpsigner.com/md/support.md

Having trouble with WPsigner? This section covers the most common issues and questions. If you can't find what you're looking for here, reach out to the support team directly.

---

## Support Resources

| Resource | Description |
|----------|-------------|
| [Use Docs with AI](/support/use-with-ai/) | Copy per-page Markdown or topic packs into ChatGPT, Claude, Cursor, or any assistant |
| [Troubleshooting](/support/troubleshooting/) | Step-by-step solutions for installation issues, email delivery problems, signing errors, and integration failures |
| [FAQ](/support/faq/) | Answers about Lite vs Pro, licensing, MainWP, Uncanny Automator, and security |
| [Lite vs Pro](/getting-started/lite-vs-pro/) | Feature matrix and upgrade path without losing documents |
| [Glossary](/glossary/) | Envelope, TSA, OTP, campaign, audit trail, and other terms |
| [Report a Security Issue](/support/security/) | Responsible disclosure for vulnerabilities in WPsigner |

---

## Common Issues

### Installation & Activation
- Plugin won't activate → Check PHP version (7.4+ required) and missing extensions
- Setup wizard errors → Verify `openssl` and `gd`/`imagick` extensions are enabled
- Database errors → Ensure MySQL 5.7+ and `CREATE TABLE` permissions

### Email Delivery
- Signers not receiving emails → Check SMTP configuration or install a mail plugin (WP Mail SMTP, FluentSMTP)
- Emails going to spam → Configure SPF, DKIM, and DMARC records for your domain

### Signing Page
- PDF not loading → Check server memory limit (256MB+ recommended)
- Signature not saving → Verify JavaScript errors in the browser console
- Mobile display issues → Clear browser cache and ensure responsive mode is active
- Vietnamese or accented names missing on the signed PDF → **WPsigner → Languages → Signed PDF fonts** → install **Accented Latin**
- Signer asked to log in to WordPress → that row has **Require WordPress login** on; they must use the matching account email
- Native app will not pair → HTTPS, Pro 3.2.2+, and [Connect the mobile app](/mobile-app/connect/)

For detailed solutions, see the [Troubleshooting Guide](/support/troubleshooting/).

---

## Contact Support

If the documentation doesn't resolve your issue:

- **Support Portal**: [wpsigner.com/contact](https://wpsigner.com/contact/)
- **Security issues**: [Report a vulnerability](/support/security/) (Patchstack VDP)
- **Response Time**: Typically within 24 hours on business days

When contacting support, include:
1. Your WPsigner version (found in **WPsigner → Settings → General**)
2. Your WordPress and PHP versions
3. A description of the issue and steps to reproduce it
4. Any error messages from `wp-content/debug.log`

> **tip**
Enable debug logging before contacting support — it helps resolve issues faster:

```php
// In wp-config.php
define('WP_DEBUG', true);
define('WP_DEBUG_LOG', true);
```

Then check `wp-content/debug.log` for entries starting with `[WPsigner]`.

---

# Frequently Asked Questions

> Answers to common questions about WPsigner electronic signatures, legal compliance, security, and features.

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/support/faq/
Markdown: https://docs.wpsigner.com/md/support/faq.md

Find answers to the most common questions about WPsigner electronic signatures.

## Lite vs Pro

### What is the difference between Lite and Pro?

**Lite** is free (WordPress.org): PDF only, max two signers, email OTP, local timestamp, audit trail. **Pro** adds unlimited signers, campaigns, templates, addons, integrations, client portal, REST API/webhooks, external TSA, and full white-label. Full matrix: [Lite vs Pro](/getting-started/lite-vs-pro/).

### Can I upgrade from Lite to Pro without losing documents?

Yes. Pro uses the same `wps_*` database tables and secure storage. When Pro is active, Lite does not load. Your documents and audit logs remain.

### Is Lite a time-limited trial?

No. Lite is a complete free edition with published limits. Pro is a separate paid plugin.

### Where do I buy or upgrade to Pro?

Use [wpsigner.com/pricing](https://wpsigner.com/pricing/?utm_source=docs&utm_medium=upgrade&utm_campaign=faq) or the **Upgrade to Pro** button on Pro-only docs pages.

### I installed Lite from WordPress.org. Where do I start?

Follow **[First Document on Lite](/getting-started/first-document-lite/)** (PDF → up to two signers → send). For the full product path, see [Quick Start](/getting-started/quick-start/). Definitions of OTP, TSA, campaign, and audit trail: [Glossary](/glossary/).

## Legal & Compliance

### Are electronic signatures legally valid?

Electronic signatures are legally recognized in many countries, but validity for a particular transaction depends on consent, intent, identity evidence, retention, document type, and local exceptions:

| Region | Law | Status |
|--------|-----|--------|
| **United States** | ESIGN Act, UETA | ✅ Legal since 2000 |
| **European Union** | eIDAS Regulation | ✅ Legal since 2016 |
| **United Kingdom** | UK eIDAS/ECA 2000 | ✅ Legal |
| **Canada** | PIPEDA, Provincial laws | ✅ Legal |
| **Australia** | Electronic Transactions Act | ✅ Legal |

Electronic records generally cannot be rejected solely because they are electronic, but this does not make every workflow or document automatically enforceable.

### What documents can I sign electronically?

**Most documents** can be signed electronically:

| ✅ **Can Sign Electronically** | ❌ **May Require Wet Signature** |
|-------------------------------|----------------------------------|
| Contracts | Wills and testaments |
| Employment agreements | Court documents |
| NDAs | Some real estate deeds |
| Service agreements | Notarized documents |
| Purchase orders | Powers of attorney (varies) |
| HR documents | Some government forms |
| Client proposals | |

Check your local requirements for specific document types.

### Is WPsigner HIPAA compliant?

WPsigner can be used in a HIPAA-compliant manner when:

1. **You host on HIPAA-compliant infrastructure** (WPsigner is self-hosted)
2. **You configure appropriate security settings:**
   - Enable OTP verification
   - Use Digital ID signing
   - Configure audit trails
3. **Your hosting provider has a BAA** (Business Associate Agreement)
4. **You implement proper access controls**

WPsigner provides the tools; you ensure compliance through proper configuration.

### Does WPsigner meet eIDAS requirements?

WPsigner provides controls that can contribute to different eIDAS-oriented workflows:

| Level | WPsigner role | Additional requirements |
|-------|---------------|-------------------------|
| **Simple Electronic Signature (SES)** | Captures a signature and audit evidence | Transaction-specific consent and retention |
| **Advanced Electronic Signature (AdES)** | OTP, KYC, audit, certificate, and timestamp controls can contribute | Must satisfy all eIDAS AdES criteria, not just enable a preset |
| **Qualified Electronic Signature (QES)** | Can retain related evidence | Requires a qualified certificate, qualified signature-creation device/process, and QTSP |

The Security & Compliance score is guidance only and does not certify a workflow as AdES or QES.

---

## Security & Privacy

### Where is my data stored?

**On your own WordPress server.** WPsigner is completely self-hosted.

| Data Type | Storage Location |
|-----------|-----------------|
| Documents | `/wp-content/uploads/wpsigner/` |
| Signatures | Your WordPress database |
| User data | Your WordPress database |
| Audit logs | Your WordPress database |

WPsigner does **not** send data to external servers (except TSA timestamps if enabled).

### Is my data encrypted?

| Layer | Encryption |
|-------|------------|
| **In transit** | HTTPS (SSL/TLS) - you configure |
| **At rest** | Server-level - you configure |
| **Signed PDFs** | Digitally signed, tamper-evident |

You control encryption through your server and WordPress configuration.

### Can WPsigner access my documents?

**No.** WPsigner is a self-hosted plugin. The developers have no access to:
- Your documents
- Your signatures
- Your user data
- Your server

Everything stays on your infrastructure.

### How are signatures protected?

Signatures are protected through:

1. **Unique signing links** - Cryptographically secure tokens
2. **Link expiration** - Configurable expiry
3. **Optional access code** — 4–8 digit PIN for the document (random or a secret the signer already knows)
4. **Optional OTP verification** - Email-based MFA
5. **Audit trail** - Complete activity logging
6. **Digital signature** - Cryptographic integrity

### What happens to documents after signing?

| Stage | What Happens |
|-------|--------------|
| Signing complete | PDF locked with digital signature |
| Audit trail appended | Certificate of Completion added |
| Notifications sent | All parties receive copy |
| Original stored | Remains on your server |

Documents remain on your server indefinitely until you delete them.

---

## Features & Functionality

### Can I set my own access code (last 4 of SSN, date of birth)?

Yes, in **3.2.8+**. On Review, check **Require access code**, choose **I’ll set the access code**, type 4–8 digits, and optionally a **Signer prompt**. Leave **Include access code in signing email** off so the invite is only the link. Guide: [Access codes](/core-features/security-compliance/#access-codes).

### How do I CC a Fluent Forms field on the signed PDF?

In **WPsigner → Integrations → Fluent Forms**, edit the feed and set **CC email field** to that form’s Email field. The visitor can type the address or Fluent Forms can fill it from the URL. Fixed addresses go in **Additional CC emails**. Requires **WPsigner 3.2.8+**. Guide: [Fluent Forms](/integrations/fluent-forms/#cc-emails-optional).

### How do I CC a Formidable Forms field on the signed PDF?

Same idea as Fluent Forms: **WPsigner → Integrations → Formidable Forms**, set **CC email field**, and optionally **Additional CC emails**. Requires **WPsigner 3.2.12+**. Guide: [Formidable Forms](/integrations/formidable-forms/#cc-emails-optional).

### After I sign a Formidable form, can I download the PDF?

Yes. With **3.2.12+**, the Formidable success message includes **Download Signed PDF**. You can also use `{inSigner:download_button}` or `[wps_signed_pdf_url]` in emails. Guide: [Formidable Forms](/integrations/formidable-forms/#download-the-signed-pdf).

### Formidable blocked my signed form as spam. Is that WPsigner?

No. The message *Your entry appears to be blocked spam!* is from Formidable. **3.2.12+** stops it from treating the signature image as spam text. Guide: [Troubleshooting](/support/troubleshooting/#formidable-blocked-spam).

### Why does WooCommerce say WPsigner is incompatible?

It is usually a false flag after recovery mode (WooCommerce did not see the HPOS declaration). WPsigner uses the order API and is HPOS-compatible. Update to **3.2.12+** and re-enable the plugin. Guide: [WooCommerce](/integrations/woocommerce/#hpos-compatibility).

### Can ChatGPT send a WPsigner document?

Yes, in **3.2.11+**. Connect a Custom GPT to `insigner/v1/ai/*`. Sending requires `confirm=true` after a field preview. Guide: [ChatGPT](/integrations/chatgpt/).

### What file formats are supported?

| Format | Upload | Output |
|--------|--------|--------|
| **PDF** | ✅ Yes | ✅ Yes |
| **PNG** | ✅ Yes | ✅ Converted to PDF |
| **JPG/JPEG** | ✅ Yes | ✅ Converted to PDF |
| **Word (.docx)** | ❌ No | ❌ No |
| **Excel** | ❌ No | ❌ No |

Upload PDFs for best results. Images are converted to PDF automatically.

### How many signers can sign a document?

There's **no hard limit** on the number of signers. Practical limits depend on:
- Document layout (space for signatures)
- Workflow complexity
- Performance (server resources)

Most common use cases: 1-10 signers per document.

### Can I have multiple signature fields per signer?

**Yes.** Each signer can have multiple fields:
- Multiple signature fields
- Initials on each page
- Date fields
- Text fields
- Any combination of field types

### What's the difference between parallel and sequential signing?

| Parallel | Sequential |
|----------|------------|
| All signers receive invite simultaneously | Signers receive invite one at a time |
| Any order of completion | Must complete in specified order |
| Faster for independent signers | Required for approval chains |
| All can sign at once | Next signer waits for previous |

### Can someone approve a document before anyone signs?

**Yes, in 3.2.20+.** On **Add Signers**, set **Role** to **Approver**. That person gets a Review & Approve email and cannot sign. Signers are invited only after every approver accepts. Rejecting the document (optional reason) stops it. Guide: [Signer Workflows — Approvers](/core-features/signer-workflows/#approvers).

### Can signers decline to sign?

**Yes**, if you enable declining:

1. Signer clicks "Decline" button
2. Optional reason prompt appears
3. Document owner is notified immediately
4. Document status changes to "Declined"

You can disable declining in Settings if not desired.

### Can I customize the signing page?

**Yes.** Open **WPsigner → Appearance** ([Appearance guide](/customization/appearance/)):
- **Brand** — company logo, name, and primary color
- **Signing Page** — button color, size, corners, style, and light/dark theme
- **Client Portal** — portal look if you use the front-end dashboards

Full white-label renaming is in [Whitelabeling](/customization/whitelabeling/). Button labels (Finish, Decline) stay in Custom Texts.

### How do I send the same template to many people?

Open **Documents → Bulk Send**. Download the sample CSV, add name and email, choose a template, **name the send** (that name becomes a tag), and start. Guide: [Bulk Send](/core-features/bulk-send/). For a public link instead of a list, use [Campaigns](/core-features/campaigns/).

### How do I keep Vietnamese (or other accented) text on the signed PDF?

Install a **Signed PDF font**, not a language pack. Go to **WPsigner → Languages → Signed PDF fonts**, install **Accented Latin** for Vietnamese, then click **Use for signed PDFs**. That does not translate the admin screens. Guide: [Languages](/customization/languages/#signed-pdf-fonts).

### Can I pick signers from WordPress users?

**Yes (Pro 3.2.0+).** On Add Signers or Use Template, type at least two characters in the name or email field and choose the user. Check **Add me as signer #1** to fill the first row with your account. Guide: [Creating Documents](/core-features/creating-documents/#wordpress-users).

### Who is Signer #1 for signature fields?

The first person you add (the top row). The second person is Signer #2, and so on. Drag rows to change the order. **Add me as signer #1** only fills that first slot. Guide: [Signer order](/core-features/signer-workflows/#signer-order).

### Can I require a WordPress login before someone signs?

**Yes, per signer (Pro 3.2.0+).** Check **Require WordPress login with this email**. The email must already be a WordPress user. The signing link is not enough — they must be logged in with that same email. Leave it off for guests. It does not apply to campaigns or Bulk Send CSV rows. Guide: [Security & Compliance](/core-features/security-compliance/#wordpress-login-per-signer).

---

## Technical Questions

### What are the system requirements?

| Requirement | Minimum |
|-------------|---------|
| WordPress | 5.0+ |
| PHP | 7.4+ |
| Memory | 128MB (256MB recommended) |
| Extensions | OpenSSL, GD or Imagick, mbstring |
| SSL | Required for signing pages |

See [Requirements](/getting-started/requirements/) for details. For recommended hosts and shared hosting tips, see [Hosting Compatibility](/getting-started/hosting-compatibility/).

### Does WPsigner work on small / shared hosting sites?

**Yes.** WPsigner is tested on small WordPress sites and runs well for typical signing workloads when the [system requirements](/getting-started/requirements/) are met. See [Hosting Compatibility](/getting-started/hosting-compatibility/) for limits, checklists, and when to upgrade.

### Does WPsigner work with multisite?

**Yes**, WPsigner works with WordPress multisite:
- Network activate for all sites
- Per-site activation supported
- Separate settings per site

### Does WPsigner slow down my website?

**Minimal impact.** WPsigner:
- Only loads on WPsigner admin pages
- Signing pages are standalone
- No scripts on frontend pages
- Optimized database queries

### Can I use WPsigner on localhost?

**Yes**, for testing. However:
- Emails may not send (need SMTP)
- SSL recommended but optional locally
- TSA timestamps require internet access
- Some features need public URLs

### What happens if I deactivate the plugin?

| Action | Data Preserved |
|--------|----------------|
| Deactivate | ✅ Yes, all data kept |
| Reactivate | ✅ Returns to previous state |
| Delete plugin | ⚠️ Database tables remain (by design) |

Data is never automatically deleted for safety.

---

## Signing Experience

### How do signers sign?

Signers have multiple options:

| Method | Description |
|--------|-------------|
| **Draw** | Draw signature with mouse/finger/stylus |
| **Type** | Type name, select font style |
| **Upload** | Upload image of signature |

All methods are legally equivalent.

### Do signers need an account?

**No.** Signers:
- Click the unique link in their email
- Review the document
- Sign using any method
- Done!

No registration, no login, no account needed.

### Can signers access documents on mobile?

**Yes.** Signers do not need the native app. The signing page in the invitation email is fully responsive:
- Works on smartphones
- Tablet-optimized
- Touch-friendly signature pad
- Pinch-to-zoom document viewing

### Is there a WPsigner iOS or Android app?

**Yes, for site owners and staff on Pro.** The **WPsigner App** pairs with your WordPress site (QR from **WPsigner → Mobile App**). Android is live on [Google Play](https://play.google.com/store/apps/details?id=com.wpsigner.app). The App Store listing is coming soon. Details and store badges: [Mobile App](/mobile-app/).

### What if a signer loses their link?

Options:
1. **Check email** - Search for subject line
2. **Check spam** - May be filtered
3. **Request resend** - Contact document owner
4. **Owner resends** - From document actions menu

### Can signers download the signed document?

**Yes.** After completion:
- All signers receive email with signed document
- Download link in completion email
- Link remains active

---

## Documents & Storage

### Is there a document size limit?

| Limit Type | Default | Adjustable |
|------------|---------|------------|
| File size | Server limit | Yes, in php.ini |
| Page count | No limit | N/A |
| Field count | No limit | N/A |

Large documents may process slower.

### How long are documents stored?

**Until you delete them.** WPsigner doesn't auto-delete.

Recommendations:
- Keep completed documents per your retention policy
- Archive to external storage as needed
- Delete when no longer required

### Can I export/backup my documents?

**Yes**, multiple methods:

| Method | How |
|--------|-----|
| Download individual | From document view |
| Bulk download | Select multiple, download |
| Server backup | Backup `/wp-content/uploads/wpsigner/` |
| Database export | Standard WordPress backup includes data |

### Can I integrate with cloud storage?

Manual upload to:
- Google Drive
- Dropbox
- OneDrive
- Any cloud storage

Use [Webhooks](/api/webhooks/) for automation.

---

## Campaigns (Public Links)

### What's the difference between documents and campaigns?

| Documents | Campaigns |
|-----------|-----------|
| Send to specific people | Anyone with link can sign |
| Known recipients | Anonymous or known |
| One-time use links | Reusable link |
| Track individual signers | Track by campaign |

### Who can access campaign links?

Anyone with the link. Use campaigns for:
- Website forms
- QR codes
- Social media
- Mass distribution

Every new access creates a unique signing session.

### Can I limit campaign responses?

**Yes**, you can configure:
- Maximum submissions
- Expiration date
- Active/inactive status

---

## Integrations

### Can I integrate with my CRM?

**Yes**, through:
- [REST API](/api/) - Full programmatic access
- [Webhooks](/api/webhooks/) - Event notifications
- Zapier (via webhooks) - No-code automation

### Does WPsigner work with WooCommerce?

Manual integration via:
- Webhooks for order events
- API for document creation
- Custom development

### Can I trigger signatures from forms?

**Yes**, integrate with:
- Gravity Forms (via API/webhooks)
- WPForms (via API/webhooks)
- Contact Form 7 (via hooks)
- Any form plugin (via REST API)

### Can LearnDash use a different template per course?

**Yes, in 3.2.34+.** Open **WPsigner → Integrations → LearnDash**. Set a default template, check each course that needs a signature, and pick that course’s template (or leave **Use default template**). Guide: [LearnDash](/integrations/learndash/#step-3-assign-templates-to-courses).

### LearnDash is active, but I cannot enable the integration.

Update to **3.2.35+**. Older builds locked Enable / Save when the settings screen did not detect LearnDash (renamed folder, Multisite, or a plugin unloader). You can save even if that screen does not list courses. Guide: [LearnDash troubleshooting](/integrations/learndash/#troubleshooting).

---

## Pricing & Licensing

### How is WPsigner licensed?

WPsigner uses a **per-site license**:
- One license = one WordPress installation
- Development/staging sites typically free
- Volume discounts available

### Are there document limits?

License determines:
- Features available
- Support level
- Update access

No per-document fees or usage limits.

### What's included in support?

Support includes:
- Email assistance
- Bug fixes
- Compatibility updates
- Documentation access

---

## Getting Started

### How do I get started?

1. [Install the plugin](/getting-started/installation/)
2. Configure [settings](/customization/whitelabeling/)
3. Create your [first document](/getting-started/quick-start/)
4. Send for signature!

### Is there a demo?

Visit [wpsigner.com](https://wpsigner.com) for:
- Live demos
- Video tutorials
- Feature previews

### Where can I get help?

| Resource | For |
|----------|-----|
| [Documentation](https://docs.wpsigner.com) | Self-help guides |
| [Troubleshooting](/support/troubleshooting/) | Common issues |
| [Contact Support](https://wpsigner.com/contact) | Direct assistance |

---

## MainWP Addon

### Does WPSigner integrate with MainWP?

**Yes.** The official **[WPSigner for MainWP](/addons/mainwp/)** addon runs on your MainWP **Dashboard** (alongside WPSigner). You link contracts to MainWP Clients and Sites, then create, send, and remind from MainWP. WPSigner is **not** installed on child sites for this workflow.

### Can I enable OTP or KYC from MainWP?

When WPSigner Security is set to **Choose per document**, Create and Quick create can turn OTP/KYC on for that contract. MainWP does **not** change global WPSigner security options (addon **1.5.8+**). See [MainWP Security](/addons/mainwp-security/).

### Why are signing links hidden in MainWP?

Only WordPress admins (`manage_options`) or WPSigner users with full manage rights see raw signing URLs. Other team members can still manage contracts and view PDFs when allowed. Details: [MainWP Security](/addons/mainwp-security/).

### Where is MainWP troubleshooting?

See the dedicated guide: [MainWP Troubleshooting](/addons/mainwp-troubleshooting/).

---

## Uncanny Automator Addon

### Does WPsigner work with Uncanny Automator?

**Yes.** The official **[WPsigner for Uncanny Automator](/addons/uncanny-automator/)** addon registers a WPsigner integration inside Automator on the same WordPress site. There is no remote Automator app connection.

### Do I need Automator Pro?

No for triggers and actions. **Uncanny Automator Pro** is required only for WPsigner conditions and signer token loops.

### Are signing links stored in Automator logs?

If a recipe uses the Signing URL token, Automator may store it. Turn the token off under **Automator → WPsigner**. Details: [Settings](/addons/uncanny-automator-settings/) and [Security](/addons/uncanny-automator-security/).

### Where is Uncanny Automator troubleshooting?

See [Uncanny Automator Troubleshooting](/addons/uncanny-automator-troubleshooting/).

---

## More Questions?

Can't find your answer?
- Check [Troubleshooting](/support/troubleshooting/)
- Contact [support](https://wpsigner.com/contact/)
- Ask in the community

---

# Report a Security Issue

> How to responsibly report security vulnerabilities in the WPsigner WordPress plugin.

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/support/security/
Markdown: https://docs.wpsigner.com/md/support/security.md

If you believe you have found a security issue in WPsigner, please report it through our managed disclosure program. Do not post it publicly until we have had a chance to fix it.

WPsigner works with [Patchstack](https://patchstack.com/for-plugins/) to review reports, coordinate patches, and protect customers.

## Report a vulnerability

<iframe title="Report a security vulnerability in WPsigner" width="100%" height="700" style="max-width:500px;border:0;border-radius:12px;" src="https://patchstack.com/iframe/vendor?uuids=b983bd49-bd9c-4e59-9a6c-365e9be98cdc&theme=light" loading="lazy"></iframe>

[Open the reporting form in a new tab →](https://patchstack.com/database/vdp/wpsigner)

## What to include

- WPsigner version, plus WordPress and PHP versions
- Steps to reproduce the issue
- What an attacker could do if the issue were exploited
- Screenshots or a proof-of-concept, if you have one

## What happens next

1. Patchstack validates the report.
2. If it is confirmed, we receive the details and prepare a fix.
3. We release an update and coordinate disclosure when appropriate.

## Scope

This program covers the **WPsigner plugin** only. General product support is on the [support overview](/support/) page or [wpsigner.com/contact](https://wpsigner.com/contact/).

For the same policy on our main site, see [wpsigner.com/security](https://wpsigner.com/security/).

---

# Troubleshooting

> Solutions to common issues with WPsigner installation, configuration, signing, and document processing.

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/support/troubleshooting/
Markdown: https://docs.wpsigner.com/md/support/troubleshooting.md

This guide covers the most common issues you might encounter with WPsigner and provides step-by-step solutions.

## Quick Diagnostics

Before troubleshooting specific issues, check the System Status:

1. Go to **WPsigner → More → System Status**
2. Review all health checks
3. Address any items marked with ⚠️ or ❌

---

## Installation Issues

### "Plugin could not be activated"

**Symptoms:**
- Error message on activation
- White screen after activation
- Plugin immediately deactivates

**Causes & Solutions:**

| Cause | Solution |
|-------|----------|
| **PHP version too low** | Upgrade to PHP 7.4 or higher |
| **Missing OpenSSL** | Enable OpenSSL extension |
| **Memory limit** | Increase to 128MB minimum |
| **Plugin conflict** | Deactivate other plugins to identify conflict |

**How to check PHP version:**
```bash
php -v
```

**How to enable debug mode:**
Add to `wp-config.php`:
```php
define('WP_DEBUG', true);
define('WP_DEBUG_LOG', true);
define('WP_DEBUG_DISPLAY', false);
```
Then check `/wp-content/debug.log` for specific errors.

### "Upload failed - file size exceeds limit"

**Symptoms:**
- Cannot upload plugin zip file
- Error during upload process

**Solutions:**

1. **Increase PHP upload limits** in `php.ini`:
```ini
upload_max_filesize = 64M
post_max_size = 64M
max_execution_time = 300
```

2. **Or use FTP upload method:**
   - Extract the zip file locally
   - Upload via FTP to `/wp-content/plugins/`
   - Activate in WordPress admin

### Fatal error on activation

**Full error message check:**
1. Enable debug mode (see above)
2. Try activating again
3. Check `/wp-content/debug.log`
4. Search for the specific error

**Common fatal errors:**

| Error | Solution |
|-------|----------|
| `Cannot redeclare function` | Plugin conflict - identify and deactivate |
| `Class not found` | Missing dependency - reinstall plugin |
| `Memory exhausted` | Increase `WP_MEMORY_LIMIT` |

---

## Form integrations (Fluent Forms / WPForms)

### OTP says verified, but submit fails

**Symptoms:**
- OTP modal shows **Identity verified**
- Form then shows “Please verify your identity…” (or similar)
- No signed document is created

**Solution:**
1. Update **WPsigner to 3.1.1+**
2. Hard-refresh the form page (Ctrl+F5 / Cmd+Shift+R)
3. Submit again and complete OTP once

This mainly affects **content signing** forms with many fields + OTP. See [Fluent Forms](/integrations/fluent-forms/), [Formidable Forms](/integrations/formidable-forms/), and [WPForms](/integrations/wpforms/).

### Fluent Forms CC did not receive the signed PDF

1. Update to **WPsigner 3.2.8+**.
2. In the feed, set **CC email field** to the form’s Email/CC field (do not paste `{inputs...}` into **Additional CC emails**).
3. Submit a test and confirm that field contains a real email.

See [Fluent Forms → CC emails](/integrations/fluent-forms/#cc-emails-optional).

### Signed PDF download says “File not found” {#signed-pdf-file-not-found}

The completed file is built when you download it (or when the last signer finishes). If PHP has no **GD** or **ImageMagick**, stamping a drawn signature used to abort that build, so the download showed **File not found**.

1. Update to **WPsigner 3.2.17+**.
2. Ask the host to enable **php-gd** (or ImageMagick) so the signature image is stamped on the page.
3. Try the download again. Without GD, 3.2.17 still produces a file (text “Signed”, or a copy of the source PDF).

### Second signer never emailed and the document says completed {#formidable-second-signer}

WPsigner only knows signers added on the **Formidable feed**. A CC address does not create a second signer. After the primary person signs, the document is marked completed.

1. Update to **WPsigner 3.2.14+**.
2. Add a Name and Email field for the second person on the form.
3. Edit the feed → **Additional Signers** → **Add**, map those fields, set **Sequential**.
4. Documents already marked completed must be recreated.

Guide: [Formidable Forms — Additional signers](/integrations/formidable-forms/#additional-signers).

### Formidable says “Your entry appears to be blocked spam!” {#formidable-blocked-spam}

That text is from **Formidable**, not WPsigner. Formidable was scanning the signature PNG (a large base64 string) against its denylist and WordPress **Disallowed Comment Keys**.

1. Update to **WPsigner 3.2.12+** (the signing field is skipped, like Formidable’s native Signature field).
2. Name, email, and message are still checked.
3. If it continues after the update, check Formidable → Global Settings → Spam, or another anti-spam plugin (CleanTalk, Akismet).

### Formidable WPsigner Signing field looks like a text box

Formidable 6 was converting the custom type to `text`. **3.2.12+** registers a real field type so the pad stays Draw / Type / Upload. Hard-refresh the form after updating.

### No Download Signed PDF after Formidable content signing

The button is added to Formidable’s **Show message** confirmation. If the form redirects to another URL, add `{inSigner:download_button}` there or in the notification email. Guide: [Formidable Forms — Download](/integrations/formidable-forms/#download-the-signed-pdf).

### WooCommerce lists WPsigner as incompatible

WPsigner declares HPOS and Cart/Checkout Blocks. If you just hit a fatal and recovery mode was on, WooCommerce did not see that declaration.

1. Update to **3.2.12+** (declaration runs even in recovery mode).
2. Click **re-enable the plugin** if the recovery notice is still there.
3. On Plugins, switch the filter from *Incompatible with WooCommerce features* to **All**.

---

## Access codes

### The signer cannot request the code

**Request access code** only appears for a **random** code sent after **3.2.8**, and only to the email or phone already on that signer. A code you typed (SSN last-4, date of birth) cannot be resent from the signing page. Share it separately, or the signer enters the secret they already know.

### The access-code page does not mention SSN / date of birth

On Review, choose **I’ll set the access code** and fill **Signer prompt** (or use a preset). The prompt is not shown for a random PIN.

See [Access codes](/core-features/security-compliance/#access-codes).

### Cannot save a content-signing feed

**Symptoms:**
- Feed Name and Form are filled
- Save shows “Please fill in Feed Name and Form”
- You are not using a PDF template (inline Signing field)

**Solution:** Update to **3.1.1+**. Content-signing feeds do not require a template — only Feed Name and Form.

### Wrong signer name on the document

Map a real **Name** / **Names** field. Do not map a field labeled only **Username**.

### Field labels missing in feed mapping

In the PDF editor, **double-click** each field and set a **Field name**. Details: [Form fields](/core-features/form-fields/#field-name-mapping-name-and-placeholder).

---

## Email Issues

### Emails not sending

This is the most common issue. Emails may not send for several reasons.

**Step 1: Verify email configuration**
1. Go to **WPsigner → Settings → Email Settings**
2. Verify "From Name" and "From Email" are set
3. Ensure email address is valid

**Step 2: Send a test email**
1. Go to **WPsigner → More → Email Templates**
2. Click **Send Test**
3. Enter your email address
4. Check if received

**Step 3: Configure SMTP**

WordPress's default `wp_mail()` function often fails. Install an SMTP plugin:

| Plugin | Recommendation |
|--------|----------------|
| **WP Mail SMTP** | Most popular, easy setup |
| **FluentSMTP** | Free, full-featured |
| **Post SMTP** | Good logging |

**Step 4: Check SMTP logs**

Most SMTP plugins have logging. Check for:
- Connection errors
- Authentication failures
- Rejected recipients

### Emails going to spam

**Causes:**
- No SPF/DKIM records
- Using @gmail.com as sender
- Poor sender reputation
- Missing authentication

**Solutions:**

1. **Use your own domain** for "From Email" (not @gmail.com)

2. **Set up email authentication:**
   - Add SPF record to DNS
   - Configure DKIM signing
   - Set up DMARC policy

3. **Check content:**
   - Avoid spam trigger words
   - Don't use all caps
   - Include clear unsubscribe option (if applicable)

### Signer claims they didn't receive email

**Checklist:**
1. ✅ Verify email address is correct (check for typos)
2. ✅ Check spam/junk folder
3. ✅ Check "Promotions" tab (Gmail)
4. ✅ Ask if email was blocked by corporate filter
5. ✅ Use **Resend** option in document actions
6. ✅ Review SMTP logs for delivery status

---

## Document Issues

### Vietnamese or accented characters missing on the signed PDF

**Symptoms:**
- Names look fine on the signing page but the downloaded PDF shows boxes, `?`, or missing marks
- Certificate of Completion drops ă, ơ, ư, đ, or similar

**Solution:**

1. Go to **WPsigner → Languages**
2. Open **Signed PDF fonts**
3. Install **Accented Latin** (Vietnamese and other Latin languages with accents)
4. Click **Use for signed PDFs**
5. Send a **new** test document — already flattened PDFs are not rewritten

For Chinese, Japanese, Korean, Arabic, Hebrew, or Thai, install that pack instead. Guide: [Signed PDF fonts](/customization/languages/#signed-pdf-fonts).

### Require WordPress login will not stay checked

The signer email is not a WordPress user, or the document has an active public campaign. Create the user first, pause the campaign, or leave the option off. Guide: [WordPress login](/core-features/security-compliance/#wordpress-login-per-signer).

### PDF generation failed

**Symptoms:**
- Error when finalizing document
- Certificate of Completion not appending
- Blank or corrupted PDF output

**Required extensions:**

| Extension | Purpose | Check Command |
|-----------|---------|---------------|
| **GD** | Image processing | `php -m | grep gd` |
| **Imagick** | Advanced image/PDF | `php -m | grep imagick` |
| **mbstring** | String handling | `php -m | grep mbstring` |

**Solutions:**

1. **Enable GD extension:**
   ```bash
   # Ubuntu/Debian
   sudo apt-get install php-gd
   sudo service apache2 restart
   ```

2. **Check file permissions:**
   ```bash
   # The uploads directory must be writable
   chmod 755 wp-content/uploads
   chmod 755 wp-content/uploads/wpsigner
   ```

3. **Increase memory limit:**
   Add to `wp-config.php`:
   ```php
   define('WP_MEMORY_LIMIT', '256M');
   ```

### Document upload fails

**Common causes:**

| Issue | Solution |
|-------|----------|
| File too large | Increase `upload_max_filesize` |
| Wrong format | Use PDF, PNG, or JPG only |
| Timeout | Increase `max_execution_time` |
| Permissions | Check `/wp-content/uploads/` is writable |

**Check upload limits:**
1. Go to **WPsigner → More → System Status**
2. Review "Upload Size" value
3. Increase if needed in `php.ini`

### Document appears blank or corrupted

**Possible causes:**
- PDF was created with unsupported features
- PDF is password-protected
- File was corrupted during upload

**Solutions:**
1. Try re-uploading the document
2. Use a simpler PDF (avoid complex layers/fonts)
3. Convert to PDF/A format
4. Remove password protection before uploading

---

## Signing Issues

### PDF blank on mobile signing

**Symptoms:**
- Desktop signing shows the PDF, the phone shows a blank page or “Error loading document”
- In-person signing from the mobile app WebView is empty

**Cause:** The signing PDF used a cookie-only URL, and the zoom wrapper could collapse to zero width on small screens.

**Fix:** Update to **3.2.13**. Ask the signer to refresh. If an in-app browser (Gmail, Instagram) still fails, open the link in Safari or Chrome.

### Signing page not loading

**Symptoms:**
- White screen when signer clicks link
- 404 error on signing page
- Redirect loop

**Solutions:**

1. **Flush permalinks:**
   - Go to **Settings → Permalinks**
   - Click **Save Changes** (without changing anything)

2. **Check permalink structure:**
   - WPsigner requires "pretty" permalinks
   - Select any option except "Plain"

3. **Check for conflicts:**
   - Disable caching plugins temporarily
   - Try a default theme
   - Deactivate security plugins for testing

### Signature pad not working

**Symptoms:**
- Cannot draw on signature pad
- Signature not appearing
- Pad is unresponsive

**Causes & Solutions:**

| Cause | Solution |
|-------|----------|
| JavaScript error | Check browser console for errors |
| Cache | Clear browser cache, disable caching plugin |
| Plugin conflict | Test in incognito mode |
| Touch issues | Update browser, try different device |

**Browser compatibility:**
- Chrome 80+ ✅
- Firefox 75+ ✅
- Safari 13+ ✅
- Edge 80+ ✅
- Internet Explorer ❌ (not supported)

### "Access denied" or "Invalid link"

**Causes:**
- Link has expired
- Document was voided
- Link was already used (for single-use links)
- Wrong link/typo

**Solutions:**
1. Check document status (expired? voided?)
2. Use **Resend** to generate fresh email
3. Verify the complete URL was clicked

---

## Digital Signature Issues

### "Certificate not found" error

**Symptoms:**
- Error when signing document
- Digital signature not applying
- Adobe shows "Signature is invalid"

**Solutions:**

1. **Configure Digital ID:**
   - Go to **WPsigner → More → Digital ID**
   - Generate or upload a certificate
   - Verify it shows as "Active"

2. **Certificate expired:**
   - Check certificate validity dates
   - Generate new or upload renewed certificate

### Adobe shows "Unknown Signer"

**This is expected for self-signed certificates.**

For self-signed certificates, recipients must manually trust:
1. Click on the signature in Adobe
2. Click "Validate Signature"
3. Choose "Trust this certificate"

**For globally trusted signatures:**
Purchase a certificate from an AATL member (DigiCert, GlobalSign, etc.)

### Timestamp not appearing

**Causes:**
- TSA not enabled
- TSA server unreachable
- Firewall blocking requests

**Solutions:**

1. **Enable TSA:**
   - Go to **WPsigner → Settings → Legal & Privacy**
   - Check "Enable certified timestamp (TSA)"
   - Save settings

2. **Test TSA connection:**
   ```bash
   curl -I https://freetsa.org/tsr
   ```

3. **Try different TSA:**
   - FreeTSA.org
   - DigiCert timestamp server
   - Sectigo timestamp server

---

## Performance Issues

### Plugin is slow

**Optimization steps:**

1. **Enable caching** (but configure WPsigner exclusions)

2. **Optimize database:**
   - Delete old/completed documents you no longer need
   - Use a database optimization plugin

3. **Upgrade hosting:**
   - Move from shared to VPS
   - Ensure adequate PHP memory

4. **CDN for static assets:**
   - Won't help with signing pages
   - Does help general WordPress performance

### Signing page loads slowly

**Causes:**
- Large PDF files
- Slow server
- Multiple large images in document

**Solutions:**
1. Optimize PDF size before uploading
2. Use compression for images
3. Upgrade hosting resources
4. Move to geographically closer hosting for your signers

---

## API Issues

### API returns 401 Unauthorized

**Causes:**
- Invalid API key
- Invalid API secret
- Key revoked
- Missing headers

**Checklist:**
1. Verify API key is active (not revoked)
2. Check both key AND secret are correct
3. Ensure headers are set correctly:
   ```
   X-WPS-API-KEY: your_key_here
   X-WPS-API-SECRET: your_secret_here
   ```

### API returns 403 Forbidden

**Causes:**
- Key has read-only permissions for write endpoint
- User doesn't have required WordPress capabilities

**Solutions:**
1. Check key permissions (read vs read_write)
2. Create new key with appropriate permissions

### Rate limit exceeded

**Default limits:**
- 60 requests per minute per key

**Solutions:**
1. Implement request throttling in your code
2. Use bulk endpoints where available
3. Cache responses to reduce calls

---

## WordPress Conflicts

### Conflict with caching plugins

**Symptoms:**
- Signing page shows cached content
- Changes not appearing
- Session issues

**Solution - Add exclusions:**

| Caching Plugin | Exclusion Pattern |
|----------------|-------------------|
| WP Rocket | Add `/sign/*` to never cache URLs |
| W3 Total Cache | Add to page cache exceptions |
| LiteSpeed | Add to Do Not Cache URIs |
| WP Super Cache | Add to rejected pages |

### Conflict with security plugins

**Common conflicts:**
- Wordfence blocking signing requests
- iThemes Security blocking API
- Sucuri WAF filtering uploads

**Solutions:**
1. Whitelist WPsigner paths (`/sign/*`, `/wp-json/wpsigner/*`)
2. Add WPsigner to trusted plugins
3. Review security logs for blocks

### Theme compatibility issues

**Symptoms:**
- Signing page has theme elements
- Broken layout on signing page
- Missing styles

**Solutions:**
1. WPsigner signing pages should be standalone
2. If theme is interfering, check for forced templates
3. Report to support with theme name

---

## Database Issues

### Missing database tables

**Symptoms:**
- "Table doesn't exist" errors
- Plugin functions not working
- Data not saving

**Solution:**

1. Deactivate and reactivate plugin (triggers table creation)

2. If that fails, manually run table creation:
   - Access your database via phpMyAdmin
   - Check if `wp_wps_*` tables exist
   - If missing, try reinstalling plugin

### Data migration issues

**When upgrading:**
1. Always backup before upgrading
2. Check that database updates run successfully
3. Review changelog for migration notes

---

## Getting More Help

### Information to gather before contacting support

Collect this information for faster resolution:

| Information | How to Get It |
|-------------|---------------|
| WordPress version | Dashboard → At a Glance |
| PHP version | System Status page |
| WPsigner version | Plugins page |
| Error messages | Debug log, browser console |
| Steps to reproduce | Write down exact steps |
| Screenshots | Capture error screens |

### Enable debug mode

For detailed error information:

```php
// Add to wp-config.php (before "That's all, stop editing!")
define('WP_DEBUG', true);
define('WP_DEBUG_LOG', true);
define('WP_DEBUG_DISPLAY', false);
```

Errors are logged to `/wp-content/debug.log`

### Contact support

If you've tried the troubleshooting steps:

1. Visit [wpsigner.com/contact](https://wpsigner.com/contact/)
2. Include all gathered information
3. Attach debug logs and screenshots
4. Describe expected vs actual behavior

### Mobile app will not pair

The native app needs **Pro 3.2.2+** and **HTTPS**. Full steps: [Connect the mobile app](/mobile-app/connect/).

| Symptom | Fix |
|---------|-----|
| Generate QR is disabled | Serve the site over HTTPS |
| Scan does nothing / code expired | QR lasts 5 minutes — generate a new one |
| Confirmation numbers differ | You scanned a stale QR |
| REST errors or “Could not connect” | Allow `/wp-json/insigner/v1/app*` in the firewall / security plugin |
| Password login fails | Check the WordPress user can use signatures |

Android download: [Google Play](https://play.google.com/store/apps/details?id=com.wpsigner.app). iOS App Store listing is coming soon.

---

## Next Steps

- [System Requirements](/getting-started/requirements/) - Verify compatibility
- [Installation](/getting-started/installation/) - Reinstallation steps
- [FAQ](/support/faq/) - Common questions
- [MainWP Troubleshooting](/addons/mainwp-troubleshooting/) - Dashboard / Clients / Sites contract issues
- [Uncanny Automator Troubleshooting](/addons/uncanny-automator-troubleshooting/) - Recipes, tokens, prefill, and messaging

---

# Use Documentation with AI

> Copy WPsigner documentation into ChatGPT, Claude, Cursor, or any AI assistant using per-page Markdown, topic packs, and the full corpus.

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/support/use-with-ai/
Markdown: https://docs.wpsigner.com/md/support/use-with-ai.md

Every WPsigner docs page has a matching **Markdown** twin built for AI assistants. Use it when Ask AI is unavailable, when you work in Cursor/ChatGPT/Claude, or when you want a portable offline reference.

## Fastest path

1. Open any documentation page.
2. Click **Copy for AI** under the title.
3. Paste into your assistant with a prompt like:

```text
You are helping me configure and use WPsigner, a self-hosted electronic-signature plugin for WordPress.
Use ONLY the documentation I paste as your source of truth.
If something is not covered, say so clearly.
Prefer exact admin menu paths, shortcodes, endpoints, and settings names from the docs.
```

You can also click **View Markdown** to open the `.md` file in the browser and copy it manually.

---

## What we publish for AI

| Resource | URL | Best for |
|----------|-----|----------|
| **Per-page Markdown** | `/md/{slug}.md` | One feature or integration |
| **Lite pack** | [`/md/packs/lite.md`](/md/packs/lite.md) | Lite-safe pages only (`edition: both` + Lite hubs) |
| **Topic packs** | [`/md/README.md`](/md/README.md) (packs listed there) | Setup, security, API, integrations, addons |
| **Complete pack** | [`/md/packs/complete.md`](/md/packs/complete.md) | Full docs in one file |
| **Markdown index** | [`/md/README.md`](/md/README.md) | Catalog of every page + pack |
| **LLM sitemap** | [`/llms.txt`](/llms.txt) | Crawlers and agent discovery |
| **Full corpus text** | [`/llms-full.txt`](/llms-full.txt) | Large-context models |

HTML and Markdown are generated from the **same** source files. If a page exists in the docs, it has a Markdown twin. Every `/md/{slug}.md` file starts with `edition: lite`, `edition: pro`, or `edition: both` so assistants do not invent Pro features for Lite users.

---

## Recommended packs

| Pack | Use when |
|------|----------|
| [Lite](/md/packs/lite.md) | WordPress.org / Lite questions — excludes Pro-only pages |
| [Setup](/md/packs/setup.md) | Installing, hosting, first document, system status |
| [Security](/md/packs/security.md) | Roles, OTP/KYC, Digital ID, TSA, audit, storage |
| [Core features](/md/packs/core-features.md) | Documents, campaigns, portal, workflows, fields |
| [API](/md/packs/api.md) | REST endpoints, auth, webhooks, examples |
| [Integrations](/md/packs/integrations.md) | Forms, Fluent Community, CRM, storage, automation |
| [Addons](/md/packs/addons.md) | Document Builder, Smart Forms, MainWP, Uncanny Automator, importers |
| [Mobile App](/md/packs/mobile-app.md) | Google Play / App Store download, QR pairing, kiosk signing |
| [Customization](/md/packs/customization.md) | Branding, emails, languages |
| [Support](/md/packs/support.md) | Troubleshooting, FAQ, security disclosure |
| [Complete](/md/packs/complete.md) | Everything (large — use only if the model allows) |

> **tip**
Start with the smallest pack that covers your question. Large packs can overflow model context windows and reduce answer quality.

---

## Example URLs

| HTML page | Markdown twin |
|-----------|---------------|
| [/getting-started/installation/](/getting-started/installation/) | [/md/getting-started/installation.md](/md/getting-started/installation.md) |
| [/core-features/team-roles/](/core-features/team-roles/) | [/md/core-features/team-roles.md](/md/core-features/team-roles.md) |
| [/integrations/fluent-community/](/integrations/fluent-community/) | [/md/integrations/fluent-community.md](/md/integrations/fluent-community.md) |
| [/api/documents/](/api/documents/) | [/md/api/documents.md](/md/api/documents.md) |
| [/addons/document-builder/](/addons/document-builder/) | [/md/addons/document-builder.md](/md/addons/document-builder.md) |
| [/addons/uncanny-automator/](/addons/uncanny-automator/) | [/md/addons/uncanny-automator.md](/md/addons/uncanny-automator.md) |
| [/glossary/](/glossary/) | [/md/glossary.md](/md/glossary.md) |
| [/getting-started/lite-vs-pro/](/getting-started/lite-vs-pro/) | [/md/getting-started/lite-vs-pro.md](/md/getting-started/lite-vs-pro.md) |

Machine-readable map: [`/md/manifest.json`](/md/manifest.json)

---

## Prompt recipes

### Configure a feature

```text
I am setting up WPsigner on my WordPress site.
Using only the Markdown below, give me a numbered checklist with exact admin paths and settings.
Ask me for any missing site-specific details (domain, SMTP, plugins already installed).

```

### Debug an error

```text
WPsigner shows this error: 
Using only the documentation below, list the most likely causes and the exact checks to run.
Do not invent menu names or endpoints that are not in the docs.

```

### Build an integration

```text
I need to connect WPsigner to .
Using only the documentation below, outline prerequisites, configuration steps, webhooks/events, and test plan.

```

---

## Completeness guarantees

On every production build we verify:

1. Every docs source file is exported to `/md/` and the Ask AI corpus.
2. The **complete** pack includes every page (no omissions).
3. Named packs only reference slugs that exist.
4. `llms.txt` and `llms-full.txt` are regenerated from the same source set.

If a Markdown twin is missing for a page, treat it as a docs build bug and report it.

---

## Related resources

- [Troubleshooting](/support/troubleshooting/)
- [FAQ](/support/faq/)
- [Glossary](/glossary/)
- [Lite vs Pro](/getting-started/lite-vs-pro/)
- [REST API Overview](/api/)
- Docs LLM index: [docs.wpsigner.com/llms.txt](https://docs.wpsigner.com/llms.txt)
- Product LLM summary + pricing: [wpsigner.com/llms.txt](https://wpsigner.com/llms.txt) · [Pricing](https://wpsigner.com/pricing/?utm_source=docs&utm_medium=ai&utm_campaign=use-with-ai)
