Field Manifest
Configure additional signing fields alongside the primary signature, including initials, date fields, checkboxes, and freeform text, using the REFRACT eSign Field Manifest.
The Field Manifest defines additional fields that appear in the signing portal alongside the primary signature. It is derived automatically from the PDF template's signature block definitions and is embedded in the signing session at creation time.
Template-Driven
The field manifest is extracted from the rendered PDF template. Fields declared in the template's signature_block nodes are automatically surfaced in the portal for each signer slot. No additional configuration required.
Field Types
| Type | Description | Storage Format | Use Cases |
|---|---|---|---|
sign | The primary drawn or typed signature. Always required per slot. | Base64-encoded PNG | Contract execution, consent forms, approvals |
initials | A secondary initials field. When present on a slot, it is always required, the same as the primary signature. | Base64-encoded PNG | Acknowledgment of specific clauses, page initialing |
date | A date confirmation field. Pre-filled with today's date; signer can adjust. Follows the field's own required setting. | ISO 8601 (YYYY-MM-DD) | Execution date, effective date, review date |
text | A freeform text field. Supports optional length (max characters, default 100). Follows the field's own required setting. | UTF-8 plaintext | Title, position, custom acknowledgments |
check | A checkbox (boolean). Follows the field's own required setting. | Boolean (true/false) | Consent acceptance, terms agreement, attestation |
sign and initials are always mandatory once present
Whether a sign or initials field is included for a signer is controlled by the template. Once either is included, it must be completed - there is no way to mark a sign or initials field as optional for a signer it was requested for. date, text and check fields follow their own required setting instead.
These are not AcroForm fields
signature_block, input, and attachment nodes in a REFRACT PDF template are layout elements, not PDF AcroForm fields. A signature_block tells REFRACT PDF where to inject the seal image after signing - the seal is placed by the render engine. input and attachment blocks are visual placeholders rendered into the PDF layout. None of these elements are interactive in Acrobat or any PDF viewer.
Manifest Structure
{
"version": "1.0",
"signingMode": "sequential",
"slots": [
{
"slotIndex": 0,
"role": "vendor",
"fields": [
{
"fieldId": "vendor-sig",
"fieldType": "sign",
"role": "vendor",
"anchor": "sig-vendor-main",
"label": "Vendor Signature",
"required": true
},
{
"fieldId": "vendor-initials",
"fieldType": "initials",
"role": "vendor",
"anchor": "sig-vendor-initials",
"label": "Initials",
"required": true
},
{
"fieldId": "vendor-date",
"fieldType": "date",
"role": "vendor",
"anchor": "sig-vendor-date",
"label": "Date Signed",
"required": true
},
{
"fieldId": "vendor-title",
"fieldType": "text",
"role": "vendor",
"anchor": "sig-vendor-title",
"label": "Title / Position",
"required": false,
"length": 100
}
]
}
]
}Slot Properties
| Property | Type | Description | Example |
|---|---|---|---|
slotIndex | number | Zero-based slot index. Matches the slotIndex in the session request. | 0, 1, 2 |
role | string | Matches the signature block role in the PDF template. Determines field positioning and visibility. | vendor, manager, witness |
OTP identity verification is always required before a signer can access the document - it is not a per-slot setting. The OTP code is always delivered by email.
Field Properties
| Property | Type | Required | Description |
|---|---|---|---|
fieldId | string | Yes | Unique identifier within the slot. Used in the stored fieldsJson record and for audit tracing. No spaces or special characters. |
fieldType | sign | initials | check | date | text | Yes | Type of field to render in the portal. Determines storage format and validation. |
role | string | Yes | Must match the parent slot role. Ensures field visibility and signing authority. |
anchor | string | Yes | Template node ID / selector used to position the field in the document. References a node in the PDF template. |
label | string | No | Display label shown above the field in the portal. Improves UX. If omitted, field appears without label. |
required | boolean | Yes | Whether the signer must complete this field before submitting. sign and initials fields are always required once present, regardless of this value. |
length | number | No | Maximum character length for text fields. Defaults to 100. Validation occurs in portal. |
Stored Field Values
After signing, all field values are stored in ESignSlotEntity.fieldsJson as a key-value record in your Azure Table Storage:
{
"vendor-sig": "<base64-png>",
"vendor-initials": "<base64-png>",
"vendor-date": "2026-05-29",
"vendor-title": "Director of Operations",
"vendor-terms": true
}Storage Details:
- Primary signature PNG: Also stored directly in
ESignSlotEntity.signaturePngBase64for evidence certificate generation - Initials PNG: Stored as base64-encoded PNG (same as signature)
- Date fields: Stored in ISO 8601 format (YYYY-MM-DD)
- Text fields: Stored as UTF-8 plaintext (up to
lengthlimit) - Checkbox fields: Stored as boolean (true/false)
- Audit trail: All field values linked to the evidence certificate via
correlationIdandgroupId - Encryption:
fieldsJsonandsignaturePngBase64are protected at rest by Azure Storage's platform-level encryption, the same as the rest of the table. They are not additionally encrypted at the application layer - unlike the signer's email address and the session's internal keys, which do go through application-layer AES-256-GCM encryption before storage. - Data residency: Field values are written to your Azure Table Storage, in your chosen region
How Field Values Reach Your Storage
The signer completes fields in the eSign portal's browser UI. On submission, the portal constructs an HMAC-signed callback body - which includes the field values and the signature PNG - and posts it to your Dispatcher (POST /api/esign/callback). The field values and signature bytes therefore pass through the REFRACT-hosted portal in memory during that callback, on their way to your storage; the portal does not write them to its own database. Your Dispatcher verifies the HMAC signature before writing the values to your Table Storage.
All traffic between the portal and your Dispatcher uses HTTPS with a TLS 1.2 minimum.
Field Value Examples
Signature Field (sign)
{
"fieldId": "vendor-sig",
"fieldType": "sign",
"label": "Vendor Signature"
}Stored as:
{
"vendor-sig": "iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mNkYPhfDwAChwGA60e6kgAAAABJRU5ErkJggg=="
}(Base64-encoded PNG, captured in portal, sealed in evidence certificate)
Initials Field (initials)
{
"fieldId": "vendor-initials",
"fieldType": "initials",
"label": "Initials"
}Stored as:
{
"vendor-initials": "iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mNkYPhfDwAChwGA60e6kgAAAABJRU5ErkJggg=="
}Date Field (date)
{
"fieldId": "vendor-date",
"fieldType": "date",
"label": "Date Signed",
"required": true
}Stored as:
{
"vendor-date": "2026-05-29"
}(ISO 8601 format, captured from signer's selection in portal)
Text Field (text)
{
"fieldId": "vendor-title",
"fieldType": "text",
"label": "Title / Position",
"required": false,
"length": 100
}Stored as:
{
"vendor-title": "Director of Operations"
}(UTF-8 plaintext, up to 100 characters)
Checkbox Field (check)
{
"fieldId": "vendor-terms",
"fieldType": "check",
"label": "I agree to the terms and conditions",
"required": true
}Stored as:
{
"vendor-terms": true
}(Boolean: true if checked, false if unchecked)
Audit & Evidence
Field values are incorporated into the evidence certificate:
- All field IDs and values: Captured in
fieldsJsonwithin evidence - Timestamps: Field value submission time recorded per field
- Signer identity: Linked via evidence certificate
- Document hash: Proves the document was not modified post-signing
- Consent text: Frozen at signing time, recorded alongside the signer's acceptance
Back to REFRACT eSign Overview
Review signing modes, session states, evidence certificates, and data residency.
REFRACT eSign
REFRACT eSign provides native electronic signing for documents rendered by REFRACT PDF. Signers access a REFRACT-hosted signing portal to verify their identity, review the document, and apply an electronic signature.
Cross-Device Signing
Start a REFRACT eSign signing session on one device and continue securely on another. A one-time QR transfer binds the new device through the same OTP identity verification used for the original session.