# WPsigner Core Features Pack

> Documents, campaigns, portal, workflows, fields, roles, and security policies.

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

## 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. [Core Features](https://docs.wpsigner.com/md/core-features.md) — https://docs.wpsigner.com/core-features/
2. [Bulk Send](https://docs.wpsigner.com/md/core-features/bulk-send.md) — https://docs.wpsigner.com/core-features/bulk-send/
3. [Campaigns (Public Links)](https://docs.wpsigner.com/md/core-features/campaigns.md) — https://docs.wpsigner.com/core-features/campaigns/
4. [Client Portal](https://docs.wpsigner.com/md/core-features/client-portal.md) — https://docs.wpsigner.com/core-features/client-portal/
5. [Creating Documents](https://docs.wpsigner.com/md/core-features/creating-documents.md) — https://docs.wpsigner.com/core-features/creating-documents/
6. [Form Fields](https://docs.wpsigner.com/md/core-features/form-fields.md) — https://docs.wpsigner.com/core-features/form-fields/
7. [Security & Compliance](https://docs.wpsigner.com/md/core-features/security-compliance.md) — https://docs.wpsigner.com/core-features/security-compliance/
8. [Signer Workflows](https://docs.wpsigner.com/md/core-features/signer-workflows.md) — https://docs.wpsigner.com/core-features/signer-workflows/
9. [Team Roles & Permissions](https://docs.wpsigner.com/md/core-features/team-roles.md) — https://docs.wpsigner.com/core-features/team-roles/

---

# Core Features

> Learn how to create documents, bulk-send from a CSV, manage campaigns, configure signer workflows, and use form fields in 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/core-features/
Markdown: https://docs.wpsigner.com/md/core-features.md

WPsigner's core features cover the document signing lifecycle — from uploading a PDF and placing fields to multi-signer workflows. Some items below (campaigns, client portal, team roles) require **Pro**. Shared document tools work in **Lite** within published limits. See [Lite vs Pro](/getting-started/lite-vs-pro/).

---

## Feature Guides

| Guide | Description | Edition |
|-------|-------------|---------|
| [Creating Documents](/core-features/creating-documents/) | Upload PDFs, add signers (including WordPress users), position fields, and send | Lite + Pro |
| [Bulk Send](/core-features/bulk-send/) | Invite many people from a CSV using one template; tag each batch | Pro |
| [Campaigns (Public Links)](/core-features/campaigns/) | Reusable public signing links | Pro |
| [Client Portal](/core-features/client-portal/) | Admin and signer dashboards on your site | Pro |
| [Team Roles & Permissions](/core-features/team-roles/) | Sender, Viewer, Manager, and Admin access matrix | Pro |
| [Security & Compliance](/core-features/security-compliance/) | OTP, access codes, WordPress login, evidence, certificates, timestamps | Lite + Pro (advanced options in Pro) |
| [Signer Workflows](/core-features/signer-workflows/) | Signer order, parallel vs sequential, per-signer WordPress login | Lite + Pro |
| [Form Fields](/core-features/form-fields/) | Signature, text, date, checkbox, and more | Lite + Pro |

---

## How Documents Work

The document lifecycle in WPsigner follows a straightforward flow:

```
Upload PDF → Add Signers → Place Fields → Send → Signers Sign → Document Completed
```

### Document Statuses

| Status | Meaning |
|--------|---------|
| **Draft** | Document created but not yet sent |
| **Sent** | Emails delivered, waiting for signatures |
| **Viewed** | At least one signer has opened the signing page |
| **Completed** | All signers have signed — PDF is sealed |
| **Declined** | A signer declined to sign |
| **Expired** | Signing deadline passed before completion |

---

## Documents, Bulk Send, and Campaigns

WPsigner offers three ways to collect signatures:

| Feature | Standard Documents | Bulk Send | Campaigns |
|---------|-------------------|-----------|-----------|
| **Signers** | Named (email required) | Named list from a CSV | Anyone with the link |
| **Use case** | Contracts, a few specific parties | Same template, many known people | Waivers, consent forms, open enrollment |
| **Tracking** | Per-signer status, individual emails | One document + tag per row | Per-submission, shared URL |
| **Limit** | Lite: max 2 signers; Pro: unlimited | **Pro**, 200 rows per send | Unlimited submissions per campaign (**Pro**) |

---

## Quick Links

- **New to WPsigner?** Start with [Creating Documents](/core-features/creating-documents/) to learn the 4-step wizard. Pick WordPress users, add yourself as signer #1, or require a matching WordPress login on a row.
- **Same template, many emails?** Use [Bulk Send](/core-features/bulk-send/).
- **Need reusable public links?** See [Campaigns](/core-features/campaigns/) for shareable signing URLs.
- **Adding a team?** Use [Team Roles & Permissions](/core-features/team-roles/) before granting access.
- **Need stronger signer verification?** Configure [Security & Compliance](/core-features/security-compliance/).
- **Multiple signers?** Read [Signer Workflows](/core-features/signer-workflows/) to configure parallel or sequential signing.
- **Custom fields?** The [Form Fields](/core-features/form-fields/) reference covers every field type with positioning tips.

---

# Bulk Send

> Invite many people from a CSV using one WPsigner template. Name the send so every document gets a tag you can filter in Documents.

edition: pro
Edition: Pro
AI note: This page requires WPsigner Pro. Do not tell Lite users they already have this feature.
HTML: https://docs.wpsigner.com/core-features/bulk-send/
Markdown: https://docs.wpsigner.com/md/core-features/bulk-send.md

Bulk Send invites many people from a **CSV** using one **template**. Each row becomes its own document and signing email. You **name the send**; that name becomes a **tag** so you can filter the batch in Documents.

> **Requires WPsigner Pro**
Bulk Send is not included in **Lite** (no mass CSV). You need a WPsigner role that can create documents (Sender, Manager, or Admin). [Upgrade to Pro](https://wpsigner.com/pricing/?utm_source=docs&utm_medium=upgrade&utm_campaign=bulk-send) · [Lite vs Pro](/getting-started/lite-vs-pro/)

---

## When to use Bulk Send

| Use Bulk Send | Use something else |
|---------------|-------------------|
| You have a list of names and emails | Unknown visitors → [Campaigns](/core-features/campaigns/) |
| Same contract, many people (NDA, policy, offer) | One document, a few named signers → [Creating Documents](/core-features/creating-documents/) |
| You want each person to have their own document | One public link for everyone → Campaigns |

---

## Before you start

1. Create and save a **template** with at least one signature field ([Creating Documents](/core-features/creating-documents/#document-templates))
2. Confirm your site can send email (SMTP recommended)
3. Prepare a CSV (UTF-8). Download the sample from the Bulk Send page if you need the exact header

---

## Step by step

### 1. Open Bulk Send

Go to **More → Bulk Send** (under Templates), or click **Bulk Send** on the Documents list.

### 2. Choose a template

Pick a template you own (Managers and Admins can use any template). If the template has more than one signer slot, the page explains that you can add `signer2_name` and `signer2_email` columns.

### 3. Download the sample CSV

The sample file looks like this:

```csv
name,email,title
Jane Doe,jane@example.com,NDA — Jane Doe
Luis Pérez,luis@example.com,NDA — Luis Pérez
María Santos,maria@example.com,
```

| Column | Required | Notes |
|--------|----------|-------|
| `name` | Yes | Also accepts `signer_name` or `full_name` |
| `email` | Yes | Also accepts `signer_email` |
| `title` | No | Document title for that row. If empty, the title pattern is used |
| `signer2_name` / `signer2_email` | No | Second signer on two-signer templates |

Comma or semicolon separators are fine. Maximum **200 rows** and **1 MB**.

### 4. Upload and preview

Drop the CSV or browse. WPsigner shows the first rows, how many are ready, skipped invalid emails, and duplicate emails (duplicates still send as separate documents).

### 5. Name this send (tag)

Enter a short name, for example `August NDA`. **Required.** Every document in this send gets that tag. After sending, open Documents and filter by the tag to see only that batch.

If you leave the field empty after picking a template, the template name is suggested. You can change it.

### 6. Sending options

| Option | Default | What it does |
|--------|---------|----------------|
| Title pattern | `{template} — {name}` | Used when the CSV title is empty. Tokens: `{template}`, `{name}`, `{email}`, `{n}` |
| Emails per batch | **4** | How many invitations go out per step (1–20). Lower this if your host times out |

### 7. Start

Click **Start Bulk Send**. Watch progress on the same page. You can **Pause** or **Cancel**. If you leave the page, leftover batches continue in the background (WP-Cron).

Each created document is tagged with the name you chose. Use **View sent documents** to open Documents already filtered by that tag.

---

## What happens per row

1. A document is created from the template
2. The signer (and optional second signer) is added
3. The batch **tag** is attached
4. The signing email is sent (same expiry and security rules as a normal send)

**Require WordPress login** on a wizard signer does not apply to Bulk Send CSV rows. Those invitations are treated as named guests. Use a standard document when a specific person must sign in with a matching WordPress account.

Failed rows stay listed with an error. If a document was created but email failed, you can send it from Documents.

You can run only **one Bulk Send at a time** per user. Pause or cancel the current job before starting another.

---

## Finding the batch later

1. Go to **Documents**
2. Filter by the **tag** you named (for example `August NDA`)
3. Or use **View sent documents** from the Bulk Send progress card

Recent jobs on the Bulk Send page show the tag name, status, and sent / total counts.

---

## Limits and roles

| Limit | Value |
|-------|-------|
| Rows per send | 200 |
| File size | 1 MB |
| Emails per batch | 1–20 (default 4) |
| Who can use it | Sender, Manager, Admin (and WordPress Administrators) |
| Who can see it | Anyone who can create documents — Viewers do not |

---

## Troubleshooting

| Symptom | What to check |
|---------|----------------|
| Start is disabled | Choose a template, upload a valid CSV, and name the send |
| “Preview expired” | Upload the CSV again, then start |
| No valid rows | Every row needs a name and a valid email |
| Emails time out | Lower **Emails per batch** (try 2) and keep the page open, or wait for cron |
| Template not listed | Create a template first, or you can only see your own unless you are a Manager/Admin |
| Cannot find the documents | Filter Documents by the tag you typed |

---

## Next Steps

- [Creating Documents](/core-features/creating-documents/) — Save a template first
- [Campaigns](/core-features/campaigns/) — Public link instead of a CSV
- [Team Roles](/core-features/team-roles/) — Who can send
- [Appearance](/customization/appearance/) — Brand the signing page those people see

---

# Campaigns (Public Links)

> Create shareable public links for mass document signing without individual invitations.

edition: pro
Edition: Pro
AI note: This page requires WPsigner Pro. Do not tell Lite users they already have this feature.
HTML: https://docs.wpsigner.com/core-features/campaigns/
Markdown: https://docs.wpsigner.com/md/core-features/campaigns.md

Campaigns let you generate a public URL that anyone can use to sign their own copy of a document. Perfect for waivers, acknowledgments, and forms that need many signatures.

> **Requires WPsigner Pro**
Campaigns are not included in **Lite**. [Upgrade to Pro](https://wpsigner.com/pricing/?utm_source=docs&utm_medium=upgrade&utm_campaign=campaigns) or see [Lite vs Pro](/getting-started/lite-vs-pro/).

## What Are Campaigns?

A Campaign is a document with a public link. Instead of sending individual emails:

| Standard Documents | Campaigns |
|-------------------|-----------|
| Specific signers with emails | Anyone with the link |
| Private signing URLs | Public shareable URL |
| One document per signer | Unlimited copies |
| Email-based distribution | Any distribution method |

---

## Campaign Use Cases

### Events & Activities

| Use Case | Example |
|----------|---------|
| **Liability waivers** | Gym membership, adventure sports |
| **Photo releases** | Conferences, school events |
| **Attendance confirmations** | Workshops, seminars |
| **Emergency contacts** | Field trips, camps |

### Business Operations

| Use Case | Example |
|----------|---------|
| **Employee onboarding** | Policy acknowledgments, handbooks |
| **Vendor agreements** | Standard contracts for new vendors |
| **NDA collection** | Visitors, contractors |
| **Compliance attestations** | Annual policy reviews |

### Community & Organizations

| Use Case | Example |
|----------|---------|
| **Petitions** | Community initiatives |
| **Membership forms** | Clubs, associations |
| **Volunteer agreements** | Non-profit organizations |
| **Parental consent** | Schools, youth programs |

---

## Creating a Campaign

### Step 1: Create the Document

1. Go to **WPsigner → New Document**
2. Upload your document (PDF recommended)
3. Continue through wizard steps
4. Stop at the Signers step

### Step 2: Enable Campaign Mode

1. Instead of adding specific signers, enable **Campaign Mode**
2. Or toggle "Create as Campaign" option
3. The signer fields change to "Public Signer" template

### Step 3: Configure Public Signer Fields

Define what information you want to collect:

| Field | Required | Purpose |
|-------|----------|---------|
| **Name** | Yes | Signer identification |
| **Email** | Recommended | Send signed copy |
| **Phone** | Optional | SMS notifications |
| **Custom Fields** | Optional | Additional info |

### Step 4: Place Signature Fields

1. Proceed to the Fields step
2. Place fields as usual (all assigned to “Public Signer”)
3. **Double-click** any field to set **Field name**, optional **Mapping name**, and **Placeholder** — see [Form fields](/core-features/form-fields/#field-name-mapping-name-and-placeholder)
4. Hover a field to delete it with the red **X** outside the top-right corner
5. Include a **Signature** field at minimum

### Step 5: Generate Campaign Link

1. In Review step, click **Create Campaign**
2. Your unique campaign URL is generated
3. Copy the link to share

---

## Campaign Link Format

Your campaign URL looks like:

```
https://yoursite.com/sign/campaign/abc123def456
```

| Component | Meaning |
|-----------|---------|
| `yoursite.com` | Your WordPress domain |
| `/sign/campaign/` | Campaign route |
| `abc123def456` | Unique campaign identifier |

---

## Sharing Your Campaign

### Distribution Methods

**Direct Link**
- Email the link to your mailing list
- Include in newsletters
- Add to confirmation emails

**Website Integration**
- Add a "Sign Waiver" button on your site
- Embed in landing pages
- Include in booking flows

**QR Code**
1. Use any QR code generator
2. Input your campaign URL
3. Print on posters, flyers, or badges
4. Signers scan with their phones

**Social Media/Messaging**
- Share on social platforms
- Send via WhatsApp, Slack, etc.
- Include in SMS campaigns

---

## Campaign Settings

### Availability Settings

| Setting | Options | Default |
|---------|---------|---------|
| **Status** | Active / Paused | Active |
| **Start Date** | Optional | Immediately |
| **End Date** | Optional | Never expires |
| **Max Signatures** | Optional | Unlimited |

### Notifications

Configure what happens when someone signs:

| Notification | Recipient | Content |
|-------------|-----------|---------|
| **Signer confirmation** | The signer | Copy of signed document |
| **Admin notification** | You | New signature alert |
| **Summary digest** | You | Daily/weekly summary |

### Access Control

| Option | Description |
|--------|-------------|
| **Public** | Anyone with link can sign |
| **Password protected** | Requires password to access |
| **IP restricted** | Limit to specific IP ranges |

---

## Signer Experience

When someone clicks a campaign link:

### Entry Page
1. Campaign title and description displayed
2. Signer enters their information (name, email)
3. Reads any instructions you've provided
4. Clicks "Continue" to proceed

### Document View
1. Document displayed with assigned fields
2. Signer completes all required fields
3. Signs using signature pad
4. Reviews their input

### Completion
1. Submits the signed document
2. Receives confirmation on screen
3. Gets email with signed copy (if email provided)
4. Can download immediately

### Signer Data Collected

For each signature, WPsigner records:

| Data Point | Purpose |
|------------|---------|
| Name | Signer identification |
| Email | Communication |
| IP Address | Audit trail |
| Timestamp | Legal record |
| User Agent | Device information |
| Completed PDF | Signed document |

---

## Managing Campaigns

### Campaign Dashboard

Go to **WPsigner → Campaigns** to see:

- All active campaigns
- Signature counts
- Recent activity
- Quick actions

### Viewing Responses

1. Click on a campaign
2. See list of all signatures
3. Filter by date, name, or status
4. Download individual signed documents

### Exporting Data

Export campaign responses for analysis:

| Export Format | Contents |
|---------------|----------|
| **CSV** | Signer data in spreadsheet format |
| **PDF Bundle** | All signed documents in zip |
| **Individual PDFs** | Download one at a time |

### Campaign Statistics

Track your campaign performance:

| Metric | Description |
|--------|-------------|
| **Total Views** | Link click count |
| **Completions** | Successful signatures |
| **Conversion Rate** | Completions / Views |
| **Average Time** | Time to complete signing |
| **Device Breakdown** | Desktop vs mobile |

---

## Campaign Templates

### Saving as Template

Convert any campaign to a reusable template:

1. Open the campaign
2. Click **Save as Template**
3. Enter template name
4. Use for future campaigns

### Creating from Template

1. Go to **WPsigner → Campaigns → New**
2. Select **From Template**
3. Choose your template
4. Customize as needed
5. Generate new campaign link

---

## Advanced Features

### Custom Branding

Customize the campaign experience:

| Element | Customization |
|---------|--------------|
| **Logo** | Your company logo |
| **Colors** | Brand colors |
| **Header** | Custom page title |
| **Footer** | Contact info, legal text |
| **Success message** | Custom thank you text |

### Redirect After Signing

Send signers to a specific page after completion:

1. In campaign settings, find "Redirect URL"
2. Enter your destination URL
3. Signers are redirected after signing

Example redirects:
- Thank you page
- Next step in registration
- Payment page
- Schedule appointment

### Pre-filled Fields

Pre-populate fields using URL parameters:

```
https://yoursite.com/sign/campaign/abc123?name=John&email=john@example.com
```

| Parameter | Description |
|-----------|-------------|
| `name` | Pre-fill name field |
| `email` | Pre-fill email field |
| `phone` | Pre-fill phone field |

### Webhook Integration

Trigger automations when campaigns receive signatures:

1. Go to **WPsigner → More → Webhooks**
2. Add endpoint URL
3. Select **Document Fully Completed** (`document.completed`)
4. Process the completed campaign copy in your system

Campaign submissions create document copies, so they use WPsigner's standard document webhook events. There is no separate `campaign.signed` event. See [Webhooks](/api/webhooks/) for the complete event and payload reference.

---

## Campaign vs Standard Document

When to use each approach:

| Scenario | Use Campaign | Use Bulk Send | Use one document |
|----------|-------------|---------------|------------------|
| Unknown signers | ✅ | ❌ | ❌ |
| Mass public distribution / QR | ✅ | ❌ | ❌ |
| Known list (CSV + email) | ❌ | ✅ | ❌ |
| Specific recipients (a few people) | ❌ | ❌ | ✅ |
| Multi-signer / sequential | ❌ | Optional 2nd signer | ✅ |
| Tracked individual emails | ❌ | ✅ | ✅ |
| Require WordPress login for a named signer | ❌ (blocked if any signer has it) | ❌ | ✅ |

A public campaign has no preassigned WordPress user. You cannot activate a campaign on a document that already has **Require WordPress login** on a named signer, and you cannot turn that checkbox on while a campaign is active. Individual links for a gated signer are never redirected to the campaign URL. If someone still types that email on a public link, they must sign in with the matching WordPress account. Use a standard document for staff or members who must prove they own the account.

---

## Best Practices

### Campaign Setup

- **Clear title** - Describe what signers are signing
- **Include instructions** - Brief explanation of purpose
- **Minimal fields** - Only collect essential information
- **Mobile-friendly** - Most campaign signers use phones
- **Test first** - Sign your own campaign before sharing

### Distribution

- **Track link clicks** - Use URL shorteners with analytics
- **Multiple channels** - Share across email, social, QR
- **Set expectations** - Tell people what to expect
- **Include deadline** - If applicable, mention expiration

### Data Management

- **Regular exports** - Download data periodically
- **Clean up old campaigns** - Archive completed campaigns
- **Monitor for fraud** - Watch for unusual patterns
- **Comply with privacy** - Handle data responsibly

---

## Troubleshooting

### "Campaign link not working"

- Verify campaign is Active (not Paused)
- Check if start date has passed
- Check if end date hasn't expired
- Verify max signatures hasn't been reached

### "Signer not receiving confirmation email"

- Verify they entered correct email
- Check spam folders
- Ensure email setting is enabled
- Verify SMTP is configured

### "Duplicate submissions"

- By default, same person can sign multiple times
- Enable "One per Email" restriction if needed
- Use IP-based restrictions cautiously

---

## Next Steps

- [Creating Documents](/core-features/creating-documents/) - Standard document workflow
- [Bulk Send](/core-features/bulk-send/) - Known list via CSV instead of a public link
- [Webhooks](/api/webhooks/) - Automate campaign data
- [Appearance](/customization/appearance/) - Brand the signing page

---

# Client Portal

> Complete guide to setting up and using the WPsigner Client Portal — public-facing dashboards for administrators and signers to manage contracts.

edition: pro
Edition: Pro
AI note: This page requires WPsigner Pro. Do not tell Lite users they already have this feature.
HTML: https://docs.wpsigner.com/core-features/client-portal/
Markdown: https://docs.wpsigner.com/md/core-features/client-portal.md

The **Client Portal** lets you create public-facing dashboards where your team and your signers can view and manage contracts directly on your WordPress site — no admin access needed.

> **Requires WPsigner Pro**
Client Portal shortcodes are not included in **Lite**. [Upgrade to Pro](https://wpsigner.com/pricing/?utm_source=docs&utm_medium=upgrade&utm_campaign=client-portal) · [Lite vs Pro](/getting-started/lite-vs-pro/)

There are two portals:

| Portal | Shortcode | Who uses it |
|--------|-----------|-------------|
| **Admin Portal** | `[insigner_admin_portal]` | Your team (admins, managers, senders, viewers) |
| **Signer Portal** | `[insigner_client_portal]` | External signers who need to check their documents |

---

## Enabling the Portal

1. Go to **WPsigner → Appearance → Client Portal** in the WordPress admin
2. Under **Portal Status**, check **Enable Client Portal**
3. Click **Save Changes**

> **tip**
The shortcodes won't render anything until you enable the portal in Appearance → Client Portal.

---

## Login Mode

Choose how users authenticate when accessing the portal:

| Mode | Behavior |
|------|----------|
| **WordPress Login** | Redirects to `wp-login.php`. Best if users already have WP accounts. |
| **Custom Login Page** | Shows a branded login form directly on the portal page. Best for a seamless, white-label experience. |

### Setting Up Custom Login

1. In **WPsigner → Appearance → Client Portal**, set **Login Mode** to **Custom Login Page**
2. A **page selector** dropdown appears — choose the WordPress page where you placed the portal shortcode
3. Save. Non-logged-in visitors will see a branded login form on that page

The custom login form includes:
- Your **portal logo** (or company logo / brand initials as fallback)
- **Rate limiting** — blocks IP after 5 failed attempts for 15 minutes
- **Forgot Password** link that goes to WordPress password recovery

---

## Setting Up the Admin Portal

The Admin Portal gives your team a complete dashboard to view, search, and manage all contracts.

### Step 1: Create the Page

1. Go to **Pages → Add New** in WordPress
2. Give it a title (e.g., "Document Portal" or "Admin Dashboard")
3. Add the shortcode:

```
[insigner_admin_portal]
```

4. Publish the page

### Step 2: Configure Permissions

Users see contracts based on their **WPsigner role**:

| Role | Can see |
|------|---------|
| **Administrator** | All contracts from all users |
| **WPsigner Admin** | All contracts from all users |
| **Manager** | All contracts; can manage documents created by other users |
| **Sender** | Only their own contracts |
| **Viewer** | All contracts (read-only for documents created by other users) |

> **important**
Users must have a WordPress account with a WPsigner role to access the Admin Portal. Users without a WPsigner role will see an "Access Denied" message. See [Team Roles & Permissions](/core-features/team-roles/) for the complete capability matrix.

### What's Included in the Admin Portal

**Stats Bar** — Five cards at the top showing:
- Total contracts
- Signed / Completed
- Pending
- Declined
- Expired

**Contract Table** — A paginated, searchable table with:
- Document title
- Creation date
- Signers (with progress)
- Status badge
- Action buttons (View Details, Download PDF, View Certificate)

**Date Filter** — Two date pickers to filter contracts by date range.

**Search** — Real-time search by document title.

**Status Tabs** — Filter by status: All, Signed, Pending, Declined.

**Weekly Overview Chart** — A bar chart showing the last 7 days of document activity (signed, sent, completed, declined).

**Recent Activity Feed** — A live feed of the latest actions across all documents.

**Detail Modal** — Click any contract for a detailed view with:
- Document metadata
- Signer list with individual statuses
- Full audit trail
- Download/action buttons

---

## Setting Up the Signer Portal

The Signer Portal gives external signers a simple view of all documents they've been asked to sign.

### Step 1: Create the Page

1. Go to **Pages → Add New** in WordPress
2. Give it a title (e.g., "My Contracts" or "Signer Portal")
3. Add the shortcode:

```
[insigner_client_portal]
```

4. Publish the page

### Step 2: Create WP Accounts for Signers

Signers need a WordPress account with an email address matching the signer email on their documents. When they log in, the portal shows all contracts linked to their email.

> **note**
You don't need to assign a WPsigner role to signers. Any WordPress user can access the Signer Portal — it matches by email.

### What's Included in the Signer Portal

**Stats Bar** — Three cards:
- Total documents
- Signed
- Pending

**Contract Table** — Lists all their documents with:
- Document title
- Date received
- Signer status (Pending / Signed / Declined)
- Action buttons

**Available Actions:**

| Action | When |
|--------|------|
| **Sign Now** | When signer status is pending – goes directly to the signing page |
| **Download PDF** | When document is completed |
| **View Certificate** | When audit certificate is available |
| **View Details** | Always – shows document info and signer list |

---

## Branding & Customization

All portal appearance settings are managed from **WPsigner → Appearance → Client Portal**.

### Portal Logo

Upload a **specific logo for the portal**, separate from your main company logo in Appearance → Brand.

- If a portal logo is set, it appears in the **portal header** and **login screen**
- If no portal logo is set, the **company logo** from Appearance → Brand is used as fallback
- If neither is set, the **brand initials** are shown in a colored badge
- Recommended: max 200px wide, transparent background

### Welcome Text

Set a **custom greeting message** shown on the portal dashboard. Logged-in users see:

> **Hello, [User Name]**  
> Your custom welcome text here.

Max 500 characters. Leave empty to show only the greeting without extra text.

### Primary Color

Your main brand color. Used for:
- Buttons and active states
- Tab indicators
- Stat card icons
- Activity chart bars
- Login form accents
- Portal header accent

### Accent Color

A secondary color used for:
- Status badges (e.g., Signed)
- Visual accents and highlights
- Chart elements

Both colors include a **live preview** in the admin panel so you can see how they look before saving.

### Custom CSS

For advanced customization, you can add your own CSS rules to further style the portal.

```css
/* Example: change stat card background */
.wps-portal-stat-card {
    background: #f8f9fa;
}

/* Example: rounded contract table */
.wps-portal-table {
    border-radius: 16px;
}
```

- Max 5,000 characters
- HTML tags are automatically stripped
- Dangerous patterns (`@import`, `url()`, `expression()`, etc.) are blocked for security

> **caution**
Incorrect CSS may break the portal layout. Test your styles carefully.

### Company Branding (Fallback)

The portal automatically uses your **Company Name** from WPsigner's general settings (**WPsigner → Settings**). The brand name appears in the portal header alongside the logo.

---

## Responsive / Mobile Support

The Client Portal is fully responsive:

| Viewport | Layout |
|----------|--------|
| **Desktop** (1024px+) | Full grid: table + activity sidebar |
| **Tablet** (768px) | Single column, stats in 3-col grid, table stacked as cards |
| **Mobile** (480px) | Stats 2-col, compact tabs, fullscreen modal, brand name hidden |

No configuration needed — the layout adapts automatically.

---

## Shortcode Reference

| Shortcode | Portal | Required Role |
|-----------|--------|---------------|
| `[insigner_admin_portal]` | Team dashboard | Any WPsigner role |
| `[insigner_client_portal]` | Signer dashboard | Any WP user (matched by email) |

You can place these shortcodes on any WordPress page. Both portals can coexist on separate pages.

> **caution**
Do not place both shortcodes on the same page. Each portal should have its own dedicated page.

---

## Security

The Client Portal includes multiple layers of security:

- **Role-based access** — Senders are scoped to their own documents; Viewers, Managers, and Admins can view all documents
- **Nonce verification** — Every AJAX request is verified with WordPress nonces
- **Rate limiting** — Custom login blocks brute-force attempts
- **Input sanitization** — All user inputs are sanitized server-side
- **Output escaping** — All data is escaped before rendering
- **Security headers** — `X-Frame-Options` and `X-Content-Type-Options` are set on portal pages
- **Separate nonces** — Each action (login, logout, download, admin, signer) uses its own nonce

---

## Troubleshooting

### "Access Denied" page

The user doesn't have the required WPsigner role. Go to **WPsigner → Users** and assign them a role.

### "Portal not showing"

1. Make sure **Enable Client Portal** is checked in **Appearance → Client Portal**
2. Verify the shortcode is on a published page
3. Clear any caching plugins

### "Login form not appearing"

Check that **Login Mode** is set to **Custom Login Page** and a page is selected in the dropdown.

### "Signer sees no documents"

The signer's WordPress email must match the email used when adding them as a signer. Check both emails match exactly.

### "Stats show 0 for everything"

The user may not have any documents yet. Senders only see documents they created; Viewers, Managers, WPsigner Admins, and WordPress Administrators can view all documents.

---

## Next Steps

- [Creating Documents](/core-features/creating-documents/) — Learn how to create and send documents
- [Signer Workflows](/core-features/signer-workflows/) — Understand sequential vs parallel signing
- [Appearance](/customization/appearance/) — Portal tab plus Brand and Signing Page
- [Email Templates](/customization/email-templates/) — Customize the emails signers receive

---

# Creating Documents

> Upload a document, add signers (including WordPress users), place fields, and send. Covers signer order, Add me as signer #1, and optional WordPress login.

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/core-features/creating-documents/
Markdown: https://docs.wpsigner.com/md/core-features/creating-documents.md

The document creation wizard guides you through a 4-step process to prepare any document for electronic signatures. This page covers each step in detail.

> **Lite limits**
On **Lite**: upload **PDF only** and invite at most **two** signers. Image uploads, unlimited signers, and reusable templates require **Pro**. [Compare editions](/getting-started/lite-vs-pro/) · [Upgrade to Pro](https://wpsigner.com/pricing/?utm_source=docs&utm_medium=upgrade&utm_campaign=creating-documents)

## The 4-Step Document Wizard

| Step | Name | Purpose |
|------|------|---------|
| 1 | **Upload** | Add your PDF or image file |
| 2 | **Signers** | Add people who need to sign |
| 3 | **Fields** | Place signature and form fields |
| 4 | **Review** | Preview and send |

---

## Step 1: Upload Document

### Accessing the Wizard

1. Go to **WPsigner** in the WordPress admin sidebar
2. Click **New Document** or the **"+"** button
3. The upload screen appears

### Supported File Formats

| Format | Extension | Best For |
|--------|-----------|----------|
| **PDF** | .pdf | Contracts, agreements, multi-page documents |
| **PNG** | .png | High-quality images, graphics |
| **JPEG** | .jpg, .jpeg | Photos, scanned documents |

> **tip**
PDF is the recommended format. It preserves formatting, supports multiple pages, and is widely used for agreements.

### Upload Methods

**Drag & Drop**
1. Drag your file from your computer
2. Drop it into the upload zone
3. Wait for the upload progress to complete

**Click to Browse**
1. Click anywhere in the upload zone
2. Select your file from the file browser
3. Click **Open** to upload

### File Size Limits

| Setting | Default | Recommended |
|---------|---------|-------------|
| Max file size | Server-dependent | 64MB |
| Max pages | Unlimited | Any |

If your file is too large, you'll see an error. Contact your hosting provider to increase the `upload_max_filesize` PHP setting.

### Document Preview

After upload, you'll see:
- Thumbnail preview of the first page
- File name and size
- Page count (for PDFs)
- Option to remove and re-upload

---

## Step 2: Add Signers

### Signer Information

For each signer, you can provide:

| Field | Required | Description |
|-------|----------|-------------|
| **Name** | ✅ Yes | Display name for the signer |
| **Email** | ✅ Yes | Where signing request is sent |
| **Phone** | No | For SMS notifications (if enabled) |
| **Role** | No | Custom label (e.g., "Buyer", "Witness") |
| **Require WordPress login** | No | Off by default. When checked, that email must already belong to a WordPress user, and that signer must be logged in with that account. If the email has no account, the checkbox is turned off. The signing link alone will not open the document |

### Signer order and signature fields

The **order you add people** is the signer slot used for fields:

- The first row is **Signer #1** (blue) — their signature, initials, and other fields
- The second row is **Signer #2** (green), then Signer #3, and so on
- Drag a row to change who is #1, #2, #3
- **Add me as signer #1** only fills that first row. If someone else should sign first, put them in row 1 (or drag them to the top)

**Sequential** invitations follow this same list. **Parallel** invites everyone at once, but fields still belong to those slots.

### Adding Your First Signer

1. Enter the signer's **Name**, or type two characters and pick a [WordPress user](#wordpress-users)
2. Enter their **Email** address (filled automatically if you pick a user)
3. (Optional) Add their **Phone** number
4. (Optional) Assign a **Role** label
5. (Optional) Check **Require WordPress login with this email** if they must sign in with a matching WordPress account

### Adding Multiple Signers

Click **Add Signer** to add more people:

1. A new signer row appears
2. Fill in their details
3. Each signer gets a unique color for field assignment
4. Drag signers to reorder (for sequential signing and for which slot owns which fields)

### Signer Colors

Each signer is automatically assigned a color:

| Signer | Color |
|--------|-------|
| Signer 1 | 🔵 Blue |
| Signer 2 | 🟢 Green |
| Signer 3 | 🟠 Orange |
| Signer 4 | 🟣 Purple |
| Signer 5+ | Auto-assigned |

These colors help you identify which fields belong to which signer when placing fields.

### Signing Order

Choose how signers receive the document:

**Parallel Signing** (Default)
- All signers receive the email at the same time
- Anyone can sign in any order
- Fastest completion time

**Sequential Signing**
- Signers receive emails in order
- Signer 2 only gets the email after Signer 1 completes
- Use drag handles to reorder signers
- Perfect for approval chains

### WordPress users

These options are in **WPsigner Pro 3.2.0+**, on **Add Signers** and in the **Use Template** modal.

**Pick an existing user**

1. Type at least two characters in the name or email field
2. Choose the WordPress user from the list (up to 20 matches)
3. Name and email fill in. You can still type a guest if they are not a WordPress user

**Add me as signer #1**

Check **Add me as signer #1** to fill the first row with the logged-in account. That does **not** turn on the login gate.

**Require WordPress login with this email**

Check it on each signer who must prove they own that WordPress account:

- The email must already be a WordPress user. WPsigner does not create the account
- If the email has no account, you see an alert and the checkbox stays off
- The signing link alone will not open the document — they must be logged in, and the account email must match
- You can require login for signer #1 and leave signer #2 as a guest

This gate is separate from OTP, KYC, and access codes. It does not apply to [public campaign links](/core-features/campaigns/) or [Bulk Send](/core-features/bulk-send/) CSV invitations. Details: [Security & Compliance](/core-features/security-compliance/#wordpress-login-per-signer).

### Advanced Options

**Access Code (PIN)**
Enable to require signers to enter a PIN before viewing the document:
1. Check "Require Access Code"
2. Enter a PIN (or auto-generate)
3. Share the PIN with the signer separately

**Expiration Date**
Set a deadline for signing:
1. Enable "Set Expiration"
2. Choose a date
3. After this date, the signing link becomes invalid

---

## Step 3: Place Fields

### The Field Editor

The field editor displays:
- **Left sidebar**: Available field types
- **Center**: Document preview with pages — place and move fields here

### Available Field Types

| Field | Purpose | Required Input |
|-------|---------|----------------|
| **Signature** | Full signature capture | Draw or type signature |
| **Initials** | Smaller initial box | Draw or type initials |
| **Date** | Date field | Auto-filled or manual |
| **Text** | Single-line input | Type text |
| **Text Area** | Multi-line input | Type paragraph |
| **Checkbox** | Yes/No selection | Click to toggle |
| **Dropdown** | Select from options | Choose from list |
| **VAT** | Tax / VAT identifier | Type VAT number |

### Placing Fields

**Method 1: Click to Place**
1. Click a field type in the toolbar
2. Click on the document where you want it
3. The field appears at that location

**Method 2: Drag and Drop**
1. Drag a field type from the toolbar
2. Drop it on the desired location
3. Release to place

### Naming and mapping fields (double-click)

**Double-click** any placed field to open **Field Properties**:

| Setting | Purpose |
|---------|---------|
| **Field name** | Label you see on the field in the editor |
| **Mapping name** | Key for Zapier, form integrations, and the API. Leave empty to use the field name |
| **Placeholder** | Hint text for the signer (text-like fields) |

Hover a field to show the red **X** outside the top-right corner to delete it. Dropdown / radio / checkbox-group fields open their options editor instead of Field Properties.

Full details: [Form fields — Field name, mapping name, and placeholder](/core-features/form-fields/#field-name-mapping-name-and-placeholder).

### Configuring Fields

- Drag to move; use the corner handle to resize
- Right-click for actions such as clone, delete, or conditional logic (when available)
- Assign the active signer with the signer buttons before placing fields (each signer has a color)

**Field-specific options**

*Dropdown / radio / checkbox group*
- Double-click to edit the list of options

*Text-like fields*
- Use Field Properties for name, mapping name, and placeholder

### Multi-Page Navigation

For documents with multiple pages:
1. Use the page arrows at the bottom
2. Or click page thumbnails (if visible)
3. Place fields on any page
4. Field counts shown per page

### Field Alignment

For professional-looking documents:
- Fields snap to common positions
- Use rulers for precise placement
- Align multiple fields using guides

---

## Step 4: Review & Send

### Pre-Send Checklist

Before sending, verify:

- ✅ Document uploaded correctly
- ✅ All signers added with valid emails
- ✅ All required fields placed
- ✅ Fields assigned to correct signers
- ✅ Signing order configured (if sequential)

### Document Summary

The review screen shows:
- Document preview
- List of signers with their fields
- Signing workflow type
- Expiration date (if set)

### Personal Message

Add a custom message that appears in the signing request email:

1. Enter your message in the text box
2. This replaces the default email body
3. Keep it professional and clear

**Example messages:**
- "Please review and sign this contract at your earliest convenience."
- "Attached is the service agreement we discussed. Let me know if you have questions."

### Sending Options

**Send Now**
- Click **Send Document**
- Emails are dispatched immediately
- You're redirected to the document dashboard

**Save as Draft**
- Click **Save Draft**
- Document is saved but not sent
- Resume editing later from Documents list

---

## After Sending

### Document Status

Your document moves through these statuses:

| Status | Meaning |
|--------|---------|
| **Draft** | Not yet sent, can be edited |
| **Sent** | Emails delivered, awaiting signatures |
| **Viewed** | At least one signer opened the link |
| **Partially Signed** | Some signers have completed |
| **Completed** | All signers finished |
| **Declined** | A signer refused to sign |
| **Expired** | Past expiration date |
| **Voided** | Cancelled by document owner |

### Tracking Progress

From the Documents list:
1. See status at a glance with color indicators
2. Click to view detailed progress
3. See which signers have viewed/signed
4. Access audit trail

### Available Actions

| Action | When Available | Effect |
|--------|----------------|--------|
| **Resend** | After sending | Re-sends email to pending signers |
| **Remind** | Sent status | Sends reminder email |
| **Void** | Before completion | Cancels the document |
| **Download** | After completion | Gets signed PDF |
| **View Audit** | Any time | Shows detailed history |

---

## Document Templates

Save time by creating reusable templates.

### Creating a Template

1. Create a document with all fields placed
2. Before sending, click **Save as Template**
3. Enter a template name
4. Template is saved for future use

### Using a Template

1. Click **New Document**
2. Select **From Template**
3. Choose your template
4. Only enter signer details — row 1 is always the template’s Signer #1 fields, row 2 is Signer #2, and so on
5. Search WordPress users, use **Add me as signer #1**, or require WordPress login on any row
6. Fields are already placed!

### Template Benefits

- Pre-configured field placement
- Consistent signer roles
- Faster document creation
- Team-wide standardization

To invite many people from a spreadsheet using the same template, use [Bulk Send](/core-features/bulk-send/). Each row becomes its own document and is tagged with the name you give that send.

---

## Best Practices

### Document Preparation

- **Use high-quality PDFs** - Ensure text is readable
- **Leave space for signatures** - Don't crowd signature areas
- **Include clear instructions** - Add signing instructions in the document itself
- **Test first** - Send a test document to yourself

### Signer Experience

- **Use full names** - "John Smith" not "J. Smith"
- **Verify emails** - Double-check email addresses
- **Explain the process** - First-time signers may need guidance
- **Set reasonable deadlines** - Give signers adequate time

### Field Placement

- **Align with printed lines** - Place fields on existing signature lines
- **Size appropriately** - Signatures need room, dates can be smaller
- **Mark required fields** - Ensure critical fields can't be skipped
- **Test on mobile** - Fields should be accessible on small screens

---

## Troubleshooting

### "Upload failed"
- Check file size limits
- Verify file is not corrupted
- Try a different browser

### "Signer not receiving email"
- Verify email address is correct
- Check spam/junk folder
- Use the Resend option
- Verify SMTP is configured

### "Fields not visible"
- Ensure you're on the correct page
- Check if fields are assigned to a signer
- Zoom in on the document view

### "No WordPress account uses this email"
- Create the WordPress user first, or leave **Require WordPress login** off
- Confirm the signer email matches the account email exactly (case does not matter)

### Vietnamese or accented names look wrong on the signed PDF
- Install **Accented Latin** under **WPsigner → Languages → Signed PDF fonts**
- Click **Use for signed PDFs**
- Guide: [Languages & Translations](/customization/languages/#signed-pdf-fonts)

---

## Next Steps

- [Signer Workflows](/core-features/signer-workflows/) - Signer order, sequential vs parallel
- [Form Fields](/core-features/form-fields/) - All field types explained
- [Security & Compliance](/core-features/security-compliance/#wordpress-login-per-signer) - Per-signer WordPress login
- [Languages](/customization/languages/#signed-pdf-fonts) - Vietnamese and other signed-PDF fonts
- [Bulk Send](/core-features/bulk-send/) - Same template, many emails from a CSV
- [Email Templates](/customization/email-templates/) - Customize signing emails
- [Appearance](/customization/appearance/) - Brand the signing page

---

# Form Fields

> Complete reference for all form field types available in WPsigner documents.

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/core-features/form-fields/
Markdown: https://docs.wpsigner.com/md/core-features/form-fields.md

WPsigner provides a variety of form fields for capturing signer information. This page covers each field type, its properties, and best practices for placement.

## Field Types Overview

| Field Type | Purpose | Signer Action |
|------------|---------|---------------|
| **Signature** | Legal signature capture | Draw or type |
| **Initials** | Abbreviated signature | Draw or type initials |
| **Text** | Single-line input | Type text |
| **Number** | Numeric value | Enter digits |
| **Date** | Date entry | Auto-fill or select |
| **Name** | Full name | Type a name |
| **Email** | Email address with validation | Type an email |
| **Phone** | Telephone number | Type a phone number |
| **Company** | Organization name | Type a company |
| **VAT** | Tax/VAT identifier | Type an identifier |
| **Title** | Job title or position | Type a title |
| **Text Area** | Multi-line input | Type paragraph |
| **Checkbox** | Boolean selection | Click to toggle |
| **Checkbox Group** | Select one or more options | Check options |
| **Radio** | Select one option | Choose an option |
| **Dropdown** | Choice from list | Select option |
| **Attachment** | Supporting file | Upload a file |
| **Label** | Display-only instructions | No input |
| **Payment** | Collect payment when the payment integration is enabled | Complete payment |

> **note**
Some field types appear only when the related feature is available. For example, **Payment** depends on a configured payment integration.

---

## Signature Field

The most important field type - captures the signer's legal signature.

### Signature Options for Signers

When completing a signature field, signers can choose:

| Method | Description |
|--------|-------------|
| **Draw** | Use mouse, finger, or stylus to draw |
| **Type** | Type name, rendered in signature font |
| **Upload** | Upload an image of their signature |

### Signature Properties

| Property | Description | Default |
|----------|-------------|---------|
| **Required** | Must be completed | Yes |
| **Assigned To** | Which signer completes this | First signer |
| **Width** | Field width | 200px |
| **Height** | Field height | 60px |

### Signature Best Practices

- **Size appropriately** - Minimum 150px wide for readable signatures
- **Leave space** - Don't crowd with other elements
- **Align with lines** - Place on existing signature lines in the document
- **One per signer** - Usually one signature field per signer

### Signature Data Captured

When a signer signs, WPsigner records:
- Signature image (PNG)
- Timestamp (UTC)
- IP address
- User agent (browser/device)
- Drawing velocity (for drawn signatures)

---

## Initials Field

A smaller version of the signature field for initializing pages or clauses.

### When to Use Initials

- **Multi-page documents** - Initial each page
- **Specific clauses** - Acknowledge individual sections
- **Amendments** - Mark changes as reviewed
- **Witness marks** - Smaller confirmation signatures

### Initials Properties

| Property | Description | Default |
|----------|-------------|---------|
| **Required** | Must be completed | Yes |
| **Assigned To** | Which signer | Current signer |
| **Width** | Field width | 80px |
| **Height** | Field height | 40px |

### Initials vs Signature

| Aspect | Signature | Initials |
|--------|-----------|----------|
| Size | Larger | Smaller |
| Purpose | Main agreement | Page/section acknowledgment |
| Typical count | 1 per signer | Multiple per signer |

---

## Date Field

Captures the date when the signer completes the document.

### Date Behavior

| Option | Description |
|--------|-------------|
| **Auto-fill** | Automatically uses signing date (default) |
| **Manual entry** | Signer selects the date |

### Date Format

The date format is configured globally in **WPsigner → Settings → General**:

| Format | Example |
|--------|---------|
| MM/DD/YYYY | 01/15/2026 |
| DD/MM/YYYY | 15/01/2026 |
| YYYY-MM-DD | 2026-01-15 |
| Month DD, YYYY | January 15, 2026 |

### Date Properties

| Property | Description | Default |
|----------|-------------|---------|
| **Required** | Must be completed | Yes |
| **Auto-fill** | Use current date automatically | Yes |
| **Format** | Date display format | Site default |

### Date Placement Tips

- Place next to signature fields
- Use for agreement dates, not backdating
- Consider timezone differences for international signers

---

## Text Field

Single-line text input for short responses.

### Common Uses

- **Name** - Full legal name
- **Title** - Job title or position
- **Company** - Organization name
- **Address** - Single-line address
- **Phone** - Contact number
- **Email** - Email address
- **ID Number** - License, SSN (partial), passport

### Text Field Properties

| Property | Description | Default |
|----------|-------------|---------|
| **Required** | Must be completed | No |
| **Placeholder** | Helper text shown before input | Empty |
| **Default Value** | Pre-filled value | Empty |
| **Max Length** | Character limit | 256 |
| **Validation** | Input format (email, phone, etc.) | None |

### Text Validation Options

| Validation | Accepts |
|------------|---------|
| **None** | Any text |
| **Email** | Valid email format |
| **Phone** | Numeric with formatting |
| **Number** | Digits only |
| **Letters** | Alphabetic only |

---

## Text Area Field

Multi-line text input for longer responses.

### Common Uses

- **Comments** - Additional notes or observations
- **Explanation** - Detailed responses
- **Address** - Full multi-line address
- **Special instructions** - Custom requirements
- **Decline reason** - Why signer is declining

### Text Area Properties

| Property | Description | Default |
|----------|-------------|---------|
| **Required** | Must be completed | No |
| **Placeholder** | Helper text | Empty |
| **Rows** | Visible text lines | 3 |
| **Max Length** | Character limit | 1000 |

### Text Area vs Text Field

| Text Field | Text Area |
|------------|-----------|
| Single line | Multiple lines |
| Short input | Long input |
| Names, emails | Comments, addresses |

---

## Checkbox Field

Boolean yes/no selection for options and acknowledgments.

### Common Uses

- **Terms acceptance** - "I agree to the terms and conditions"
- **Confirmation** - "I confirm this information is accurate"
- **Options** - "Include extended warranty"
- **Acknowledgment** - "I have read and understood"
- **Consent** - "I consent to email communication"

### Checkbox Properties

| Property | Description | Default |
|----------|-------------|---------|
| **Required** | Must be checked | No |
| **Checked by default** | Pre-checked state | No |
| **Label** | Text next to checkbox | Empty |

### Checkbox Groups

Create related checkboxes for multiple options:

Example: Service Add-ons
- ☐ Priority support (+$99/year)
- ☐ Extended warranty (+$49/year)  
- ☐ Training session (+$199 one-time)

### Required Checkboxes

When marked as required:
- Signer must check the box to proceed
- Used for mandatory acknowledgments
- Document cannot be completed without checking

---

## Dropdown Field

Selection from a predefined list of options.

### Common Uses

- **State/Province** - Select from list
- **Country** - Select country
- **Department** - Choose department
- **Plan tier** - Select service level
- **Relationship** - Spouse, child, parent, etc.
- **Yes/No** - Simple binary choice

### Dropdown Properties

| Property | Description | Default |
|----------|-------------|---------|
| **Required** | Must select an option | No |
| **Options** | List of choices | Empty |
| **Default** | Pre-selected option | None |
| **Placeholder** | Text before selection | "Select..." |

### Adding Options

1. Click the dropdown field in the editor
2. Open the Properties panel
3. In "Options," add each choice on a new line:

```
Option 1
Option 2
Option 3
```

### Dropdown vs Checkbox

| Use Dropdown | Use Checkbox |
|--------------|--------------|
| Many options (3+) | Yes/No only |
| Mutually exclusive | Multiple selections possible |
| Saves space | Self-explanatory |

---

## Choice, identity, attachment, and payment fields

- **Checkbox Group** allows multiple selections; **Radio** allows exactly one selection.
- **Name, Email, Phone, Company, VAT, and Title** are purpose-specific text fields. Use them instead of a generic Text field when validation or integration mapping benefits from a stable type.
- **Attachment** lets the assigned signer upload supporting evidence. Avoid requesting sensitive files unless they are required, and define an appropriate retention policy.
- **Label** adds non-editable instructions to the signing layer.
- **Payment** is available when the payment integration is configured and must be completed according to that integration's signing flow.

For choice fields, define clear option labels and test the final PDF output before sending.

---

## Field Placement

### Accessing the Field Editor

1. Go to **WPsigner → New Document** (or edit a **Campaign**) and open the **Fields** step
2. Field types appear in the left sidebar
3. The PDF preview is in the center — place fields directly on the page

The same field editor is used when you build a template and later save it from **Review → Save as Template**.

### Placing Fields

**Click Method**
1. Click a field type in the toolbar
2. Click on the document where you want it
3. Field appears at cursor position

**Drag Method**
1. Click and hold a field type
2. Drag to the document
3. Release to place

### Moving Fields

- Click and drag any placed field
- Fields snap to alignment guides

### Resizing Fields

- Hover a field and drag the resize handle (bottom-right corner)
- Make signature fields large enough for finger or stylus input

### Deleting Fields

- Hover the field and click the red **X** outside the top-right corner
- Or right-click the field → **Delete**

---

## Field name, mapping name, and placeholder

Every placed field (except types that open their own options modal, such as dropdown / radio / checkbox group) can be renamed with a **double-click**.

### Open Field Properties

1. **Double-click** the field on the PDF
2. A floating **Field Properties** popup appears (not inside the field box)
3. Edit the values, then click **Save** (or press Enter). **Cancel** or Escape closes without saving

| Setting | What it is | Who sees it |
|---------|------------|-------------|
| **Field name** | Friendly label shown on the field in the editor (e.g. `Client full name`) | You, in New Document / Campaign / Templates |
| **Mapping name** | Technical key for Zapier, form feeds, and the API (e.g. `client_name`) | Automations and integrations |
| **Placeholder** | Hint text the signer may see before typing | Signer on the signing page (text-like fields) |

### Mapping name rules (important)

- If you leave **Mapping name** empty, WPsigner uses the **Field name** (converted to a safe key, e.g. `Client full name` → `client_full_name`)
- Use short, stable keys for integrations: lowercase letters, numbers, and underscores (`client_name`, `property_address`)
- Keep the same mapping name if Zapier or a form feed already depends on it — changing the key breaks existing mappings

> **Two ways to set mapping keys**
1. **While placing fields** — double-click → **Mapping name** (fastest while building the PDF)
2. **After saving a template** — **WPsigner → Templates → ⋮ → Map Variables** (edit keys on an existing template)

Both point to the same variable keys used by [Zapier](/integrations/zapier/), [Uncanny Automator](/addons/uncanny-automator-actions/#prefill), and the [Templates API](/api/templates/).

### Examples

| Field name (display) | Mapping name | Used for |
|----------------------|--------------|----------|
| Client full name | `client_name` | Prefill from Zapier / Calendly |
| Property address | `property_address` | Prefill from a form or CRM |
| Appointment date | `appointment_date` | Prefill booking date |
| Company | *(leave empty)* | Key becomes `company` automatically |

---

## Field Assignment

### Assigning to Signers

Signer **#1** is the first person on the Add Signers list. Signature fields you place while that slot is active belong to them. Add more people in order for Signer #2, #3, and so on. See [Signer order](/core-features/signer-workflows/#signer-order).

When multiple signers exist:

1. Select a field
2. In Properties, find "Assigned To"
3. Select the signer from the dropdown
4. Field changes to signer's color

### Color Coding

Each signer has a unique color:

| Signer | Color | Meaning |
|--------|-------|---------|
| Signer 1 | Blue | Signer 1's fields |
| Signer 2 | Green | Signer 2's fields |
| Signer 3 | Orange | Signer 3's fields |

This helps visualize which signer completes which fields.

### Field Visibility

- Each signer only sees their assigned fields as editable
- Other signers' fields appear as read-only
- Completed fields show the entered values

---

## Field Properties Reference

### Common Properties (All Fields)

| Property | Type | Description |
|----------|------|-------------|
| `field_name` | String | Display label in the editor (Field Properties) |
| `variable_mapping` | String | Integration key; empty falls back to field name |
| `placeholder` | String | Signer hint text (text-like fields) |
| `assignedTo` | Signer | Which signer completes this |
| `required` | Boolean | Must be completed |
| `x` | Number | X position (% from left) |
| `y` | Number | Y position (% from top) |
| `width` | Number | Width (% of page) |
| `height` | Number | Height (% of page) |
| `page` | Number | Page number (1-indexed) |

### Field-Specific Properties

**Signature/Initials**
| Property | Type | Description |
|----------|------|-------------|
| `drawEnabled` | Boolean | Allow drawing |
| `typeEnabled` | Boolean | Allow typing |
| `uploadEnabled` | Boolean | Allow upload |

**Text/Text Area**
| Property | Type | Description |
|----------|------|-------------|
| `placeholder` | String | Helper text |
| `defaultValue` | String | Pre-filled value |
| `maxLength` | Number | Character limit |

**Checkbox**
| Property | Type | Description |
|----------|------|-------------|
| `checked` | Boolean | Default state |
| `label` | String | Display label |

**Dropdown**
| Property | Type | Description |
|----------|------|-------------|
| `options` | Array | List of choices |
| `defaultOption` | String | Pre-selected value |

---

## Best Practices

### Field Sizing Guide

| Field Type | Recommended Width | Recommended Height |
|------------|-------------------|-------------------|
| Signature | 200-300px | 60-80px |
| Initials | 60-100px | 40-60px |
| Date | 100-150px | 30px |
| Text | 150-300px | 30px |
| Text Area | 200-400px | 60-120px |
| Checkbox | 20px | 20px |
| Dropdown | 150-250px | 30px |

### Mobile Considerations

60%+ of documents are signed on mobile devices:

- Make signature fields larger (minimum 200px wide)
- Space fields apart (avoid overlapping)
- Use clear labels
- Test on phone before sending

### Accessibility

- Add placeholder text to explain expected input
- Use clear, descriptive labels
- Don't rely only on color to convey meaning
- Ensure sufficient field sizes for touch input

---

## Next Steps

- [Creating Documents](/core-features/creating-documents/) - Full wizard guide
- [Signer Workflows](/core-features/signer-workflows/) - Signing order options
- [Campaigns](/core-features/campaigns/) - Public signing links

---

# Security & Compliance

> Configure signer verification gates, evidence capture, certificates, and timestamping policies in 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/core-features/security-compliance/
Markdown: https://docs.wpsigner.com/md/core-features/security-compliance.md

The **Security & Compliance** screen centralizes WPsigner's signing gates and evidence settings. Use it to decide when signers must verify an email, complete KYC, enter an access code, and which cryptographic evidence is added to completed documents. A separate per-signer option can also require a matching WordPress login before the signing page opens.

> **Lite limits**
**Lite** includes email OTP, access codes, audit trail, and local timestamps. KYC integrations, extra OTP channels, and external TSA are **Pro**. [Lite vs Pro](/getting-started/lite-vs-pro/)

Open **WPsigner → More → Security & Compliance**.

> **caution**
These controls strengthen authentication and evidence. They do not by themselves certify a signature as qualified, guarantee compliance, or replace legal advice for your jurisdiction and use case.

## Signing gate policies

OTP, KYC, and access codes each support three policies:

| Policy | Behavior |
|--------|----------|
| **Always** | Require the gate for every applicable signing request |
| **Per document** | Require it only when enabled in that document's Review step |
| **Off** | Do not apply the gate |

With **Per document**, review each document before sending and enable only the controls required for that transaction.

## Email verification (OTP)

OTP verifies that the signer can receive a one-time code through a configured channel.

| Method | Requirement |
|--------|-------------|
| **Email** | Working WordPress email delivery |
| **SMS** | Configured Twilio integration |
| **Both** | Email delivery and Twilio |

Test email and SMS delivery before requiring OTP in production. A failed delivery can prevent the signer from continuing.

WPsigner rate-limits OTP requests and verifies them through protected AJAX actions. If a firewall plugin blocks OTP, check [System Status](/getting-started/system-status-and-storage/) and allowlist the WPsigner actions it reports.

## Identity verification (KYC)

KYC uses the [Didit.me integration](/integrations/didit/) to verify a government-issued ID, selfie match, and liveness result before signing.

1. Configure and test Didit under **WPsigner → More → Integrations → Didit**.
2. Return to **Security & Compliance**.
3. Choose **Always**, **Per document**, or **Off**.

The KYC policy is unavailable or ineffective until Didit credentials are configured. WPsigner stores verification status and decision metadata; identity images remain with Didit.

## Access codes

An access code is a six-digit secret associated with the signing request. The stored code is hashed rather than saved in readable form.

When access codes are required:

1. WPsigner generates or accepts the document's code.
2. Choose whether WPsigner should email the code to signers.
3. The signer must enter the code before continuing.

For stronger separation, deliver the signing link and access code through different channels.

## WordPress login (per signer)

This gate is **opt-in per signer** and **off by default**. It is not a global Security & Compliance policy and it does not replace OTP, KYC, or access codes.

When **Require WordPress login with this email** is checked on a signer:

1. The visitor must be logged in to WordPress.
2. The logged-in account email must match that signer's email (case-insensitive).
3. The unique signing link is not enough on its own.

If nobody is logged in, the signing page asks them to log in and then returns to the same link. If they are logged in with a different account, they see that mismatch and can log out, then log in as the matching user.

Use this when the signer already has a WordPress account on your site (members, staff, LMS users). The checkbox is refused if that email is not a WordPress user — create the account first, or leave the option off. Leave it off for guests and external counterparties. Public campaign links and Bulk Send CSV rows do not use this gate — those flows have no preassigned WordPress user.

You cannot activate a public campaign on a document that already has a gated signer, and you cannot turn the checkbox on while that document has an active campaign. If someone still reaches a public link and types a gated signer's email, WPsigner re-checks the login requirement and refuses the signature until the matching WordPress account is signed in. Individual signing links for a gated signer are never redirected to the campaign URL.

The invitation email adds a short note when the flag is on. Customized email templates need the `require_wp_login` variable if you want that sentence in your own copy.

## Evidence capture

| Control | Evidence added |
|---------|----------------|
| **Capture geolocation** | Approximate signer location when permission and browser support allow |
| **Capture device information** | Browser/device metadata in the audit record |
| **Digital ID (PKI)** | Cryptographic PDF certificate signature |
| **Timestamp provider (TSA)** | Trusted time evidence for the document hash |
| **Immutable timestamping** | Additional configured timestamp evidence |

Geolocation may be unavailable when the signer denies permission, the browser blocks it, or the network obscures the location.

## Compliance score

The screen displays an orientation score based on selected controls:

| Factor | Maximum contribution |
|--------|----------------------|
| OTP policy | 25 |
| Geolocation | 10 |
| Device information | 5 |
| Custom Digital ID certificate | 10 |
| Timestamp provider | Up to 50 |

KYC and access codes are important gates but do not currently add points to this score.

| Displayed level | Score / conditions |
|-----------------|--------------------|
| **SES** | 0–39 |
| **SES+** | 40–64 |
| **AdES** | 65–79 |
| **HA (QES-oriented)** | 80+ plus an active PKI certificate and qualified/custom TSA |

> **important**
The score is configuration guidance, not a legal classification or QES certification. A true Qualified Electronic Signature depends on regulated identity, certificate, provider, and jurisdictional requirements outside a score.

## Recommended profiles

### Routine internal acknowledgement

- OTP: **Per document**
- KYC: **Off**
- Access code: **Off** or **Per document**
- Device information: On
- Geolocation: Based on privacy policy
- Audit trail and secure backups: On

### Higher-risk external agreement

- OTP: **Always**
- KYC: **Per document** or **Always**
- Access code: **Per document**
- Device and geolocation evidence: On where lawful
- Commercial certificate and reliable TSA

Document the reason for each control and avoid collecting more personal data than necessary.

## Before enabling a gate globally

1. Send a test document to accounts you control.
2. Test on desktop and mobile.
3. Confirm SMTP, Twilio, Didit, and TSA connectivity as applicable.
4. Verify the final PDF and audit trail.
5. Publish signer-facing privacy and support instructions.
6. Define retention and deletion policies for collected data.

## Troubleshooting

### KYC cannot be enabled

Configure and test Didit first. The KYC gate only operates when the integration is available.

### SMS is unavailable

Install and configure the WPsigner Twilio integration, then reload the Security & Compliance screen.

### OTP requests fail

Check SMTP, spam filtering, caching, and security-plugin logs. Use **WPsigner → More → System Status** to test email and identify blocked AJAX actions.

### Signers are unexpectedly asked for a gate

Check both the global policy and the document's Review settings. **Always** overrides per-document choice; **Per document** follows the document's saved security settings.

### The score is lower than expected

Confirm the Digital ID is active and the selected TSA provider is recognized. KYC and access codes do not increase the current score.

### Require WordPress login cannot stay checked

The signer email must already belong to a WordPress user. Create that account first, or leave the option off. WPsigner does not create users.

You also cannot turn the checkbox on while the document has an **active public campaign**, and you cannot activate a campaign if any named signer already has the gate on.

### Signer sees a WordPress login page instead of the PDF

That row has **Require WordPress login with this email** on. They must sign in with the WordPress account that uses the same email, then they return to the signing link. A different logged-in account is rejected.

## Related guides

- [Creating Documents](/core-features/creating-documents/#wordpress-users) — user picker, Add me as signer #1, and the checkbox
- [Didit.me KYC](/integrations/didit/)
- [Digital ID](/digital-identity/digital-id/)
- [Timestamping](/digital-identity/timestamping/)
- [Audit Trails](/digital-identity/audit-trails/)
- [System Status, Storage & Retention](/getting-started/system-status-and-storage/)

---

# Signer Workflows

> Complete guide to sequential and parallel signing workflows in 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/core-features/signer-workflows/
Markdown: https://docs.wpsigner.com/md/core-features/signer-workflows.md

WPsigner supports two signing workflows: **Parallel** (everyone signs at once) and **Sequential** (one after another). Choose the right workflow based on your document requirements.

## Workflow Comparison

| Feature | Parallel | Sequential |
|---------|----------|------------|
| **Email delivery** | All at once | One at a time |
| **Signing order** | Any order | Enforced order |
| **Completion time** | Fastest | Depends on each signer |
| **Use case** | Co-signers, witnesses | Approval chains, contracts |

---

## Signer order

Signer **#1, #2, #3** is the order of the rows on **Add Signers** — the first person you add is Signer #1.

- Signature and initials fields follow that slot (Signer #1’s color, then Signer #2)
- **Add me as signer #1** only fills the first row with the current WordPress account
- Drag rows to change the order before you send
- On **Use Template**, row 1 is the template’s Signer #1 fields, row 2 is Signer #2

**Sequential** emails follow this list. **Parallel** emails go out together; the slots still decide who owns which fields.

How to add people from WordPress, require a login, or fill yourself as #1: [Creating Documents](/core-features/creating-documents/#wordpress-users).

---

## Parallel Signing

### How It Works

When you send a document with parallel signing:

1. **All signers receive the email simultaneously**
2. Each signer gets their own unique signing link
3. Signers can complete their fields in any order
4. Document completes when ALL signers finish

### Visual Flow

```
Document Sent
     ↓
     ├→ Signer A receives email → Signs → Done ✓
     ├→ Signer B receives email → Signs → Done ✓
     └→ Signer C receives email → Signs → Done ✓
                    ↓
            All signed = Complete!
```

### When to Use Parallel

- **Co-signers**: Both parties sign the same contract
- **Witnesses**: Multiple witnesses sign independently
- **Team acknowledgments**: Everyone confirms at once
- **Speed is priority**: Need signatures ASAP

### Example: Partnership Agreement

Two business partners need to sign an agreement:

1. Add Partner A (alice@company.com)
2. Add Partner B (bob@company.com)
3. Keep workflow as "Parallel"
4. Both receive email immediately
5. Either can sign first
6. Done when both complete

---

## Sequential Signing

### How It Works

When you send a document with sequential signing:

1. **Only the first signer receives an email**
2. After Signer 1 completes, Signer 2 gets their email
3. This continues in order until all signers finish
4. Document completes when the LAST signer finishes

### Visual Flow

```
Document Sent
     ↓
Signer A receives email
     ↓
Signer A signs → Done ✓
     ↓
Signer B receives email (triggered)
     ↓
Signer B signs → Done ✓
     ↓
Signer C receives email (triggered)
     ↓
Signer C signs → Done ✓
     ↓
All signed = Complete!
```

### When to Use Sequential

- **Approval chains**: Manager must approve before director
- **Contracts**: Vendor signs, then client countersigns
- **Dependent signatures**: One signature validates another
- **Review processes**: Each step requires previous completion

### Configuring Signing Order

**Step 1: Enable Sequential Signing**
1. In the Signers step, select "Sequential Signing"
2. The order indicator appears next to each signer

**Step 2: Arrange Order**
1. Drag signers using the handle (≡ icon)
2. Drop in desired position
3. Numbers update automatically (1, 2, 3...)

**Step 3: Verify Order**
- Signer #1 receives email first
- Signer #2 receives email after #1 signs
- Continue in order...

### Example: Employee Contract

An employment contract needs:
1. Employee signature first
2. Manager approval second
3. HR final sign-off

Configuration:
| Order | Name | Role |
|-------|------|------|
| 1 | John Smith | Employee |
| 2 | Jane Manager | Department Manager |
| 3 | HR Team | Human Resources |

Result:
- John receives email → signs employment terms
- Jane receives email → approves hire
- HR receives email → finalizes employment

---

## Advanced Signer Options

### Signer Roles

Assign descriptive roles to each signer:

| Role | Purpose |
|------|---------|
| **Buyer** | Purchasing party |
| **Seller** | Selling party |
| **Witness** | Third-party observer |
| **Guarantor** | Financial guarantor |
| **Notary** | Official notary |
| **Agent** | Authorized representative |

Roles appear in:
- The signing interface
- Emails sent to signers
- Audit trail
- Certificate of Completion

### Access Codes (PIN)

Add extra security with a PIN:

1. Click the lock icon next to a signer
2. Enter a 4-6 digit PIN
3. Or click "Generate" for a random PIN
4. Share the PIN with the signer via separate channel

The signer must enter the PIN before viewing the document.

> **tip**
For stronger separation, send the access code by SMS or phone rather than including it with the signing link.

### Expiration Settings

Set a deadline for signing:

**Per-Document Expiration**
1. In Review step, enable "Set Expiration"
2. Choose date and time
3. Links become invalid after this date

**Signer-Specific Deadlines** (Sequential)
- Each signer can have their own deadline
- Useful for multi-stage approval processes

### Authentication Options

| Method | Security | User Experience |
|--------|----------|-----------------|
| **Email only** | Basic | Easiest |
| **Email + PIN** | Medium | Requires PIN entry |
| **Email + SMS OTP** | High | Receives code via SMS |

---

## Signer Experience

### What Signers See

**Email Notification**
- Professional signing request email
- Document title and sender info
- Prominent "Sign Now" button
- Expiration date (if set)

**Signing Page**
- Full document preview
- Required fields highlighted
- Clear instructions
- Mobile-friendly interface

**Completion**
- Success confirmation
- Download option (optional)
- Email with signed copy

### Signer Actions

From the signing interface, signers can:

| Action | Description |
|--------|-------------|
| **Sign** | Complete their assigned fields |
| **Decline** | Refuse to sign with reason |
| **Delegate** | Forward to another person (if enabled) |
| **Download** | Get a copy after signing |

### Decline Handling

If a signer declines:
1. They're asked for a reason (optional)
2. Document status changes to "Declined"
3. Document owner is notified immediately
4. Other signers are informed
5. Workflow stops

Reasons for declining might include:
- Incorrect information
- Need to review with legal
- Contract terms unacceptable
- Wrong person assigned

---

## Managing In-Progress Documents

### Tracking Status

From **WPsigner → Documents**, view real-time status:

| Status | Icon | Meaning |
|--------|------|---------|
| Sent | 📤 | Awaiting signatures |
| Viewed | 👁️ | Signer opened the link |
| Signed | ✍️ | Signer completed their fields |
| Complete | ✅ | All signers finished |
| Declined | ❌ | Signer refused |

### Sending Reminders

For signers who haven't completed:

**Manual Reminder**
1. Open the document
2. Click **Send Reminder**
3. Reminder email sent immediately

**Auto-Reminders**
Configure automatic reminders in Settings:
- After 24 hours
- After 3 days
- After 7 days
- Custom schedule

### Resending Invitation

If a signer didn't receive the email:

1. Open the document
2. Find the signer in the list
3. Click **Resend**
4. New email sent with same link

### Voiding a Document

To cancel a document before completion:

1. Open the document
2. Click **Actions → Void**
3. Enter reason (optional)
4. Confirm void action

Result:
- All signing links become invalid
- Signers are notified by email
- Document marked as "Voided"
- Audit trail records the void

---

## Workflow Best Practices

### Choosing the Right Workflow

| Scenario | Recommended |
|----------|-------------|
| Two equal parties | Parallel |
| Approval needed first | Sequential |
| Group acknowledgment | Parallel |
| Chain of command | Sequential |
| Independent witnesses | Parallel |
| Dependent signatures | Sequential |

### Reducing Signing Time

- **Use parallel when possible** - Faster completion
- **Send reminders** - Keep documents moving
- **Set reasonable deadlines** - Creates urgency
- **Pre-fill known fields** - Less work for signers
- **Mobile-friendly** - 60%+ sign on phones

### Handling Delays

If a signer isn't responding:
1. Send a manual reminder
2. Call them directly
3. Check spam folder
4. Resend the invitation
5. Consider voiding and recreating with different signer

---

## WordPress login per signer

Sequential and parallel order still come from the signer list. **Require WordPress login with this email** is a separate identity check on that row only (**Pro 3.2.0+**).

Example: signer #1 (an employee) must log in with their WordPress account; signer #2 (an external client) can open the link without logging in. Turn the checkbox on only for the employee.

The email on that row must already belong to a WordPress user. If it does not, WPsigner turns the checkbox off and shows an alert. It does not create the account.

This is not mixed with OTP, PIN, or KYC. It does not apply to public campaign links or Bulk Send CSV rows. Details: [Security & Compliance](/core-features/security-compliance/#wordpress-login-per-signer).

## Common Questions

### Can I change the order after sending?
No. Once sent, the signing order is locked. Void the document and create a new one if needed.

### What if a sequential signer is unavailable?
The workflow is blocked. Options:
- Wait for them to return
- Void and assign to someone else
- Use delegation (if enabled)

### Can signers see other signers' info?
Signers only see fields assigned to them. They can see other signers' names in the Certificate of Completion after all signatures.

### How long are signing links valid?
By default, links don't expire. Set an expiration date if you need time limits.

---

## Next Steps

- [Form Fields](/core-features/form-fields/) - All field types explained
- [Campaigns (Public Links)](/core-features/campaigns/) - Mass signing
- [Email Templates](/customization/email-templates/) - Customize notifications

---

# Team Roles & Permissions

> Control who can create, view, manage, and administer WPsigner documents without granting every team member full WordPress Administrator access.

edition: pro
Edition: Pro
AI note: This page requires WPsigner Pro. Do not tell Lite users they already have this feature.
HTML: https://docs.wpsigner.com/core-features/team-roles/
Markdown: https://docs.wpsigner.com/md/core-features/team-roles.md

WPsigner adds four team roles on top of a user's normal WordPress role. Use them to separate document creation, organization-wide visibility, management, and administration.

> **Requires WPsigner Pro**
Team roles and the Users access matrix are **Pro** features. [Upgrade to Pro](https://wpsigner.com/pricing/?utm_source=docs&utm_medium=upgrade&utm_campaign=team-roles) · [Lite vs Pro](/getting-started/lite-vs-pro/)

## Assign access

1. Sign in as a WordPress Administrator.
2. Go to **WPsigner → More → Users**.
3. Find the WordPress user.
4. Choose **Sender**, **Viewer**, **Manager**, **Admin**, or **No Access**.
5. Save the change.

WordPress Administrators are not listed because they already receive full WPsigner access through `manage_options`.

> **note**
A WPsigner role is additive. Assigning **Sender**, for example, does not replace the user's existing Subscriber, Editor, or other WordPress role.

## Role matrix

| Ability | Sender | Viewer | Manager | WPsigner Admin | WordPress Administrator |
|---------|:------:|:------:|:-------:|:--------------:|:-----------------------:|
| Open WPsigner | Yes | Yes | Yes | Yes | Yes |
| Create and send documents | Yes | No | Yes | Yes | Yes |
| Create campaigns | Yes | No | Yes | Yes | Yes |
| View own documents | Yes | Yes | Yes | Yes | Yes |
| View all users' documents | No | Yes | Yes | Yes | Yes |
| Edit/delete other users' documents | No | No | Yes | Yes | Yes |
| View audit trails | Own | All | All | All | All |
| View sensitive signer details on other users' documents | No | No | Yes | Yes | Yes |
| Manage WPsigner users | No | No | No | Yes | Yes |
| Manage settings and integrations | No | No | No | See note below | Yes |

## Roles explained

### Sender

For team members who prepare and send their own documents and campaigns. Senders cannot browse or manage documents created by other users.

### Viewer

Provides organization-wide read-only visibility. Viewers can see all documents and audit trails, but cannot create documents or modify another user's records. Sensitive signer details remain restricted unless the document belongs to that Viewer.

### Manager

For operational leads who need to create documents and manage documents from the whole organization. Managers do not receive access to administrative settings or user-role management.

### WPsigner Admin

Receives WPsigner's administrative capabilities, including users and settings at the role level.

> **Current settings-screen requirement**
Several WPsigner settings screens currently perform an additional WordPress `manage_options` check. A user with only the WPsigner **Admin** role may see the navigation link but receive an empty or inaccessible settings screen. Use a WordPress Administrator for Security, Storage, System Status, Webhooks, API keys, and other site-wide configuration until this product limitation is removed.

### WordPress Administrator

WordPress Administrators receive full WPsigner access automatically, even without a separate WPsigner role.

## Document ownership rules

- The WordPress user who creates a document is its owner.
- Senders are filtered to their own documents and campaigns.
- Viewers, Managers, WPsigner Admins, and WordPress Administrators can list all documents.
- Only Managers and administrators can modify another user's document.
- A Viewer's own legacy document may still pass the ownership check for modification, but the Viewer role does not expose the create workflow.

## Client Portal behavior

The `[insigner_admin_portal]` shortcode follows the same visibility rules:

- Sender: own documents.
- Viewer: all documents, read-only for other owners.
- Manager: all documents, with management permissions.
- WPsigner Admin / WordPress Administrator: all documents.

The signer portal, `[insigner_client_portal]`, is different: any logged-in WordPress user can use it, and documents are matched by email instead of WPsigner role.

## Capability reference

For custom code and role-management plugins, WPsigner uses these capabilities:

| Capability | Purpose |
|------------|---------|
| `wps_access` | Open WPsigner |
| `wps_create_documents` | Create documents |
| `wps_send_documents` | Send signing requests |
| `wps_create_campaigns` | Create public campaigns |
| `wps_view_all` | View all users' documents |
| `wps_manage_all` | Modify all users' documents |
| `wps_manage_settings` | Manage WPsigner settings |
| `wps_manage_users` | Assign WPsigner roles |
| `wps_manage_templates` | Manage templates |
| `wps_manage_webhooks` | Manage webhooks |
| `wps_manage_digital_id` | Manage certificate settings |
| `view_wps_audit` | Read document audit trails |

Do not grant individual capabilities without testing the related screen: some administrative pages also require `manage_options`.

## Troubleshooting

### A team member cannot see WPsigner

Assign one of the four WPsigner roles, confirm the account can log in to WordPress, then sign out and back in.

### A Sender cannot find another user's document

This is expected. Use Viewer for organization-wide read-only access or Manager for organization-wide management.

### A Viewer can see a document but not signer details

Viewer access intentionally limits sensitive details on documents created by another user.

### A WPsigner Admin sees a blank settings page

The current screen also requires `manage_options`. Complete the configuration with a WordPress Administrator.

## Related guides

- [Client Portal](/core-features/client-portal/)
- [Bulk Send](/core-features/bulk-send/) — Senders, Managers, and Admins
- [Appearance](/customization/appearance/) — WordPress Administrator
- [Audit Trails](/digital-identity/audit-trails/)
- [Security & Compliance](/core-features/security-compliance/)
