Signers
A form's submission becomes a case file in Penneo Sign, signed by one or more people. There are three ways to define who signs.
| Mechanism | Who it's for |
|---|---|
mapTo | The respondent (primary signer), identified from their own answers. |
predefinedSigners | People you already know, such as HR or management. The same on every submission. |
additionalSignersConfig | Signer slots the respondent fills in themselves. |
Mapping the respondent with mapTo
mapToSet mapTo on the fields that capture the respondent's name and email, and Collect uses those answers to identify the primary signer, so they don't type their details twice.
{ "type": "TEXT", "label": "Full Name", "required": true, "mapTo": "primarySigner.name" },
{ "type": "EMAIL", "label": "Email", "required": true, "mapTo": "primarySigner.email" }mapTo target | Field type required |
|---|---|
primarySigner.name | TEXT |
primarySigner.email | EMAIL |
additionalSigner.N.name | TEXT |
additionalSigner.N.email | EMAIL |
N is the zero-based index of an additionalSignersConfig slot. A field mapped to a *.name target must be of type TEXT, and a field mapped to an *.email target must be of type EMAIL.
Configuring the primary signer
mapTo decides who the primary signer is. An optional top-level primarySigner object configures that signer — a custom title and its own signing methods:
{
"primarySigner": {
"title": "Applicant",
"secureSigningMethods": ["mitid.dk"]
}
}| Property | Type | Description |
|---|---|---|
title | string | Role label for the primary signer. Trimmed on save. |
secureSigningMethods | array | Overrides the form's secure signing methods for the primary signer. |
insecureSigningMethods | array | Overrides the form's insecure signing methods for the primary signer. |
All three are optional. A signing-method list left out inherits the form's default; providing one overrides it for the primary signer — see Signing methods. If the object is blank (no title and no method overrides), it is treated as absent.
Predefined signers
Use predefinedSigners for signers that are the same on every submission:
{
"predefinedSigners": [
{ "fullName": "HR Department", "email": "[email protected]" }
]
}Signer slots
additionalSignersConfig defines signer positions the respondent completes when filling the form.
{
"additionalSignersConfig": {
"enabled": true,
"maxDynamicSlots": 1,
"slots": [
{
"title": "Guarantor",
"description": "This person agrees to be responsible for rent payments if you cannot pay.",
"required": true
},
{
"title": "Co-Tenant",
"description": "If you plan to share this rental, add them here.",
"required": false
}
]
}
}| Property | Type | Description |
|---|---|---|
enabled | boolean | Must be true to collect signer slots. When false, slots must be omitted. |
slots | array | The named signer positions you define. Each slot has a title, description, required flag, and optional condition. The respondent enters the name and email for each. |
maxDynamicSlots | integer | How many extra signers the respondent can add freely with the + button. These use generic labels and are always optional. Required when enabled is true; must be ≥ 0. Set to 0 to hide the button. |
So slots are the named positions you define. maxDynamicSlots is the + button for any extra free-form signers, up to the limit.
A slot can carry a condition so it only appears based on earlier answers. See Conditional Fields & Sections.
Signer identity on prefilled requests
Work in progress. This feature is still being built and may change.
When you send a prefilled request, you can attach the actual signer identities up front instead of collecting them in the form. See Request Signers.
Per-signer signing methods
The primary signer, predefined signers, and slots can each override the form's signing methods. See Form Options.
Updated 3 days ago
