Page tree
Skip to end of metadata
Go to start of metadata

This page shows the features with the respective versions. For detailed information about LTS (Long-Term-Support) please have a look at: https://partner.xyzmo.com/
Current LTS version: 20.76

Explanation of Feature Release and LTS Release:

Feature Release: New functionality, lower priority fixes

Long-Term-Support-Release (LTS): 2 years of guaranteed hotfixes for critical bugs and Critical/High security findings.


Feature Release

eSignAnyWhere 21.31

Date: October 2021

You can now also configure JWT for the OAuth2 authentication for user authentication and signer authentication. For more information please see the How to configure OAuth2 authentication. For OAuth2 samples please see this guide. In this guide is also a ID Austria sample with JWT documented.


Document browsing is now also supported for the devices listed above. Please note that the feature is disabled per default but can be configured either in the SAW viewer global.xml or in the customization service.

global.xml:

 <!-- Defines whether or not to enable document view on some specific compatible signature pads (e.g Wacom STU 520/530/540, NT5010 or some StepOver devices)
           'useDocViewMonitor': defines whether or not to use a 'doc view monitor' upon using specific compatible devices (e.g. Wacom STU 520/530/540, NT5010) -->
      <DocViewModeEnabled useDocViewMonitor="1">0</DocViewModeEnabled>

Customization Service:

  <!--Defines whether or not to enable document view on some specific compatible signature pads (e.g Wacom STU 520/530/540, NT5010 or some StepOver devices)-->

   <variable category="global/SignificantDriverConfiguration" comment="Defines whether or not to enable document view on some specific compatible signature pads (e.g Wacom STU 520/530/540, NT5010 or some StepOver devices)" value="0" name="DocViewModeEnabled"/>

   <!--For 'DocViewModeEnabled': defines whether or not to use a 'doc view monitor' upon using specific compatible devices (e.g. Wacom STU 520/530/540, NT5010)-->

   <variable category="global/SignificantDriverConfiguration" comment="For 'DocViewModeEnabled': defines whether or not to use a 'doc view monitor' upon using specific compatible devices (e.g. Wacom STU 520/530/540, NT5010)" value="1" name="UseDocViewMonitor"/>

</significantdriverconfiguration>

This is a non-default feature of eSignAnyWhere. If you are interested in this optional feature please contact us. The feature flag "ExternalSignatureImage" is necessary.


This feature allows signers to upload their picture (custom signature picture) and add it as additional graphics to the stamp imprint. Furthermore signers can store the signature image within a gallery for later usage.

Please note the following supported signature types:

  • Click2Sign
  • Draw2Sign
  • Type2Sign
  • Otp-Signature
  • Local Certificate
  • Namirial Remote Certificate
  • Namirial Remote Disposable Certificate

The external signature image can be configured as optional, required or disabled.

UI configuration

On the designer page you can select the "Custom Signature Picture" for the signature field to allow external signature pictures. Please see the next figure:

Before the signer can then use the external signature image, the Local Signature Image Stamp /Gallery must be enabled (can be found in the SawViewer in the settings). Please see the next figure:

If the sender allows the external signature image and the settings in the SawViewer are enabled the signer can see the following configurations:

FigureDescription

  1. Upload an image
  2. Store an image

Note: The Draw2Sign signature includes a new toggle to switch between drawing the signature and inserting the signature image.


Image gallery

Allows uploading & removing uploaded signature images.

In case the workstep contains a signature image provided by eSignAnyWhere, this will also show up here.

API configuration

To allow external signature images please add the following key value pair to the additional parameters:

{
                    "Key": "useExternalSignatureImage",
                    "Value": "Optional"
                  },

You can also find a complete configuration in the next collapse:

{
  "SspFileIds": [
    "##FileID##"
  ],
  "SendEnvelopeDescription": {

  "Name": "test",
  "EmailSubject": "Please sign the enclosed envelope",
  "EmailBody": "Dear #RecipientFirstName# #RecipientLastName#\n\n#PersonalMessage#\n\nPlease sign the envelope #EnvelopeName#\n\nEnvelope will expire at #ExpirationDate#",
  "DisplayedEmailSender": "",
  "EnableReminders": true,
  "FirstReminderDayAmount": 5,
  "RecurrentReminderDayAmount": 3,
  "BeforeExpirationDayAmount": 3,
  "ExpirationInSecondsAfterSending": 2419200,
  "CallbackUrl": "",
  "StatusUpdateCallbackUrl": "",
  "LockFormFieldsAtEnvelopeFinish": false,
  "Steps": [
    {
      "OrderIndex": 1,
      "Recipients": [
        {
          "Email": "##EMail##",
          "FirstName": "##Name##",
          "LastName": "##Name##",
          "LanguageCode": "en",
          "EmailBodyExtra": "",
          "DisableEmail": false,
          "AddAndroidAppLink": false,
          "AddIosAppLink": false,
          "AddWindowsAppLink": false,
          "AllowDelegation": true,
          "AllowAccessFinishedWorkstep": false,
          "SkipExternalDataValidation": false,
          "AuthenticationMethods": [],
          "IdentificationMethods": []
        }
      ],
      "EmailBodyExtra": "",
      "RecipientType": "Signer",
      "WorkstepConfiguration": {
        "WorkstepLabel": "test",
        "SmallTextZoomFactorPercent": 100,
        "FinishAction": {
          "ServerActions": [],
          "ClientActions": []
        },
        "ReceiverInformation": {
          "UserInformation": {
            "FirstName": "##Name##",
            "LastName": "##Name##",
            "EMail": "##EMail##"
          },
          "TransactionCodePushPluginData": []
        },
        "SenderInformation": {
          "UserInformation": {
            "FirstName": "##Name##",
            "LastName": "##Name##",
            "EMail": "##EMail##"
          }
        },
        "TransactionCodeConfigurations": [],
        "SignatureConfigurations": [],
        "ViewerPreferences": {
          "FinishWorkstepOnOpen": false,
          "VisibleAreaOptions": {
            "AllowedDomain": "",
            "Enabled": false
          }
        },
        "ResourceUris": {
         
        },
        "AuditingToolsConfiguration": {
          "WriteAuditTrail": true
        },
        "Policy": {
          "GeneralPolicies": {
            "AllowSaveDocument": true,
            "AllowSaveAuditTrail": true,
            "AllowRotatingPages": false,
            "AllowAppendFileToWorkstep": false,
            "AllowAppendTaskToWorkstep": false,
            "AllowEmailDocument": true,
            "AllowPrintDocument": true,
            "AllowFinishWorkstep": true,
            "AllowRejectWorkstep": true,
            "AllowRejectWorkstepDelegation": true,
            "AllowUndoLastAction": true,
            "AllowColorizePdfForms": false,
            "AllowAdhocPdfAttachments": false,
            "AllowAdhocSignatures": false,
            "AllowAdhocStampings": false,
            "AllowAdhocFreeHandAnnotations": false,
            "AllowAdhocTypewriterAnnotations": false,
            "AllowAdhocPictureAnnotations": false,
            "AllowAdhocPdfPageAppending": false,
            "AllowReloadOfFinishedWorkstep": true
          },
          "WorkstepTasks": {
            "PictureAnnotationMinResolution": 0,
            "PictureAnnotationMaxResolution": 0,
            "PictureAnnotationColorDepth": "Color16M",
            "SequenceMode": "NoSequenceEnforced",
            "PositionUnits": "PdfUnits",
            "ReferenceCorner": "Lower_Left",
            "Tasks": [
              {
                "Texts": [
                  {
                    "Language": "en",
                    "Value": "Signature Disclosure Text"
                  },
                  {
                    "Language": "*",
                    "Value": "Signature Disclosure Text"
                  }
                ],
                "Headings": [
                  {
                    "Language": "en",
                    "Value": "Signature Disclosure Subject"
                  },
                  {
                    "Language": "*",
                    "Value": "Signature Disclosure Subject"
                  }
                ],
                "IsRequired": false,
                "Id": "ra",
                "DisplayName": "ra",
                "DocRefNumber": 1,
                "DiscriminatorType": "Agreements"
              },
              {
                "PositionPage": 1,
                "Position": {
                  "PositionX": 48.0,
                  "PositionY": 594.0
                },
                "Size": {
                  "Height": 80.0,
                  "Width": 190.0
                },
                "AdditionalParameters": [
                  {
                    "Key": "enabled",
                    "Value": "1"
                  },
                   {
                    "Key": "enabled",
                    "Value": "1"
                  },
                  {
                    "Key": "useExternalSignatureImage",
                    "Value": "Optional"
                  },
                  {
                    "Key": "req",
                    "Value": "1"
                  },
                  {
                    "Key": "fd",
                    "Value": ""
                  },
                  {
                    "Key": "fd_dateformat",
                    "Value": "dd-MM-yyyy HH:mm:ss"
                  },
                  {
                    "Key": "fd_timezone",
                    "Value": "datetimeutc"
                  }
                ],
                "AllowedSignatureTypes": [
                  {
                    "AllowedCapturingMethod": "Draw2Sign",
                    "Id": "eaf4f1e8-0e72-4ac2-8385-2be7bc1b0e11",
                    "DiscriminatorType": "SigTypeDraw2Sign",
                    "Preferred": false,
                    "StampImprintConfiguration": {
                      "DisplayExtraInformation": true,
                      "DisplayEmail": true,
                      "DisplayIp": true,
                      "DisplayName": true,
                      "DisplaySignatureDate": true,
                      "FontFamily": "Times New Roman",
                      "FontSize": 11.0,
                      "OverrideLegacyStampImprint": false,
                      "DisplayTransactionId": true,
                      "DisplayTransaktionToken": true,
                      "DisplayPhoneNumber": true,
                    
                    },
                    "SignaturePluginConfigurationId": "ltaLevelId"
                  }
                ],
                "UseTimestamp": false,
                "IsRequired": true,
                "Id": "1#XyzmoDuplicateIdSeperator#Signature_45434d7f-dc19-0f07-d986-be7e5c1936fe",
                "DisplayName": "",
                "DocRefNumber": 1,
                "DiscriminatorType": "Signature"
              },
              {
                "PositionPage": 1,
                "Position": {
                  "PositionX": 56.0,
                  "PositionY": 483.0
                },
                "Size": {
                  "Height": 80.0,
                  "Width": 190.0
                },
                "AdditionalParameters": [
                  {
                    "Key": "enabled",
                    "Value": "1"
                  },
                  {
                    "Key": "completed",
                    "Value": "0"
                  },
                  {
                    "Key": "req",
                    "Value": "1"
                  },
                  {
                    "Key": "fd",
                    "Value": ""
                  },
                  {
                    "Key": "fd_dateformat",
                    "Value": "dd-MM-yyyy HH:mm:ss"
                  },
                  {
                    "Key": "fd_timezone",
                    "Value": "datetimeutc"
                  }
                ],
                "AllowedSignatureTypes": [
                  {
                    "AllowedCapturingMethod": "Type2Sign",
                    "Id": "2b07feee-7e6e-4a25-ba90-6f7565912a21",
                    "DiscriminatorType": "SigTypeType2Sign",
                    "Preferred": false,
                    "StampImprintConfiguration": {
                      "DisplayExtraInformation": true,
                      "DisplayEmail": true,
                      "DisplayIp": true,
                      "DisplayName": true,
                      "DisplaySignatureDate": true,
                      "FontFamily": "Times New Roman",
                      "FontSize": 11.0,
                      "OverrideLegacyStampImprint": false,
                      "DisplayTransactionId": true,
                      "DisplayTransaktionToken": true,
                      "DisplayPhoneNumber": true
                    },
                    "SignaturePluginConfigurationId": "ltaLevelId"
                  }
                ],
                "UseTimestamp": false,
                "IsRequired": true,
                "Id": "1#XyzmoDuplicateIdSeperator#Signature_2ed0db4c-9f0a-660b-e4c7-929ead39e4c9",
                "DisplayName": "",
                "DocRefNumber": 1,
                "DiscriminatorType": "Signature"
              }
            ]
          },
          "FinalizeActions": {
            "FinalizeActionList": [
              {
                "DocRefNumbers": "*",
                "SpcId": "ltaLevelId",
                "DiscriminatorType": "Timestamp"
              }
            ]
          }
        },
        "Navigation": {
          "HyperLinks": [],
          "Links": [],
          "LinkTargets": []
        }
      },
      "DocumentOptions": [
        {
          "DocumentReference": "1",
          "IsHidden": false
        }
      ],
      "UseDefaultAgreements": true
    },
    {
      "OrderIndex": 2,
      "Recipients": [
        {
          "Email": "##Email##",
          "FirstName": "##Name##",
          "LastName": "##Name##",
          "LanguageCode": "en",
          "EmailBodyExtra": "",
          "DisableEmail": false,
          "AddAndroidAppLink": false,
          "AddIosAppLink": false,
          "AddWindowsAppLink": false,
          "AllowDelegation": false,
          "SkipExternalDataValidation": false,
          "AuthenticationMethods": [],
          "IdentificationMethods": []
        }
      ],
      "EmailBodyExtra": "",
      "RecipientType": "Cc",
      "DocumentOptions": [],
      "UseDefaultAgreements": false
    }
  ],
  "AddFormFields": {
    "Forms": {}
  },
  "OverrideFormFieldValues": {
    "Forms": {}
  },
  "AttachSignedDocumentsToEnvelopeLog": false
}
}
<workstepConfiguration skipThirdPartyChecks="0">
    <WorkstepLabel />
    <SmallTextZoomFactorPercent>100</SmallTextZoomFactorPercent>
    <WorkstepTimeToLiveInMinutes>900</WorkstepTimeToLiveInMinutes>
    <FinishAction>
        <ClientAction clientName="SIGNificant WSI" closeApp="0" RemoveDocumentFromRecentDocumentList="0" CallClientActionOnlyAfterSuccessfulSync="1" />
        <ClientAction clientName="SIGNificant SignAnywhere" closeApp="0" RemoveDocumentFromRecentDocumentList="0" CallClientActionOnlyAfterSuccessfulSync="1" />
        <ClientAction clientName="SIGNificant iPadApp" closeApp="0" RemoveDocumentFromRecentDocumentList="0" CallClientActionOnlyAfterSuccessfulSync="1" />
        <ClientAction clientName="SIGNificant AndroidApp" closeApp="0" RemoveDocumentFromRecentDocumentList="0" CallClientActionOnlyAfterSuccessfulSync="1" />
        <ClientAction clientName="SIGNificant Kiosk for Server Platform" closeApp="0" RemoveDocumentFromRecentDocumentList="0" CallClientActionOnlyAfterSuccessfulSync="1" />
        <ClientAction clientName="SIGNificant WindowsApp" closeApp="0" RemoveDocumentFromRecentDocumentList="0" CallClientActionOnlyAfterSuccessfulSync="1" />
    </FinishAction>
    <signatureTemplate>
        <version>1.2.0.2</version>
        <positionUnits>PdfUnits</positionUnits>
        <positionReferenceCorner>Lower_Left</positionReferenceCorner>
        <sig useTimestamp="false" id="click2sign">
            <positionPage>1</positionPage>
            <DocRefNumber>1</DocRefNumber>
            <positionX>21.94286</positionX>
            <positionY>718.5715</positionY>
            <width>171.4286</width>
            <height>68.57143</height>
            <param name="enabled">1</param>
            <param name="completed">0</param>
            <param name="bio">0</param>
            <param name="sigType">Picture</param>
            <param name="allowedCapturingMethods">Click2Sign</param>
            <param name="useExternalSignatureImage">Optional</param>
            <param name="req" />
            <param name="uid" />
            <param name="fd" />
            <param name="spcId" />
            <param name="reason" />
            <param name="location" />
            <param name="contactInfo" />
            <param name="isPhoneNumberRequired">0</param>
            <param name="trModTypeId" />
            <param name="trConfId" />
            <param name="trValidityInSeconds">60</param>
            <param name="signatureIdInDocument" />
        </sig>
        <sig useTimestamp="false" id="draw2sign">
            <positionPage>1</positionPage>
            <DocRefNumber>1</DocRefNumber>
            <positionX>221.9429</positionX>
            <positionY>718.5715</positionY>
            <width>171.4286</width>
            <height>68.57143</height>
            <param name="enabled">1</param>
            <param name="completed">0</param>
            <param name="bio">0</param>
            <param name="sigType">Picture</param>
            <param name="allowedCapturingMethods">Draw2Sign</param>
            <param name="useExternalSignatureImage">Optional</param>
            <param name="req" />
            <param name="uid" />
            <param name="fd" />
            <param name="spcId" />
            <param name="reason" />
            <param name="location" />
            <param name="contactInfo" />
            <param name="isPhoneNumberRequired">0</param>
            <param name="trModTypeId" />
            <param name="trConfId" />
            <param name="trValidityInSeconds">60</param>
            <param name="signatureIdInDocument" />
        </sig>
        <sig useTimestamp="false" id="type2sign">
            <positionPage>1</positionPage>
            <DocRefNumber>1</DocRefNumber>
            <positionX>21.94286</positionX>
            <positionY>618.5715</positionY>
            <width>171.4286</width>
            <height>68.57143</height>
            <param name="enabled">1</param>
            <param name="completed">0</param>
            <param name="bio">0</param>
            <param name="sigType">Picture</param>
            <param name="allowedCapturingMethods">Type2Sign</param>
            <param name="useExternalSignatureImage">Optional</param>
            <param name="req" />
            <param name="uid" />
            <param name="fd" />
            <param name="spcId" />
            <param name="reason" />
            <param name="location" />
            <param name="contactInfo" />
            <param name="isPhoneNumberRequired">0</param>
            <param name="trModTypeId" />
            <param name="trConfId" />
            <param name="trValidityInSeconds">60</param>
            <param name="signatureIdInDocument" />
        </sig>
        <sig useTimestamp="false" id="localcertificate">
            <positionPage>1</positionPage>
            <DocRefNumber>1</DocRefNumber>
            <positionX>221.9429</positionX>
            <positionY>618.5715</positionY>
            <width>171.4286</width>
            <height>68.57143</height>
            <param name="enabled">1</param>
            <param name="completed">0</param>
            <param name="bio">0</param>
            <param name="sigType">LocalCertificate</param>
            <param name="useExternalSignatureImage">Optional</param>
            <param name="req" />
            <param name="uid" />
            <param name="fd" />
            <param name="spcId" />
            <param name="reason" />
            <param name="location" />
            <param name="contactInfo" />
            <param name="isPhoneNumberRequired">0</param>
            <param name="trModTypeId" />
            <param name="trConfId" />
            <param name="trValidityInSeconds">60</param>
            <param name="signatureIdInDocument" />
        </sig>
        <sig useTimestamp="false" id="remotecertificate">
            <positionPage>1</positionPage>
            <DocRefNumber>1</DocRefNumber>
            <positionX>21.94286</positionX>
            <positionY>518.5715</positionY>
            <width>171.4286</width>
            <height>68.57143</height>
            <param name="enabled">1</param>
            <param name="completed">0</param>
            <param name="bio">0</param>
            <param name="sigType">TransactionCode</param>
            <param name="trModType">RemoteSignature</param>
            <param name="trRsNamUserId">949741c8</param>
            <param name="isPhoneNumberRequired">0</param>
            <param name="trValidityInSeconds">60</param>
            <param name="useExternalSignatureImage">Optional</param>
            <param name="req" />
            <param name="uid" />
            <param name="fd" />
            <param name="spcId" />
            <param name="reason" />
            <param name="location" />
            <param name="contactInfo" />
            <param name="trModTypeId" />
            <param name="trConfId" />
            <param name="signatureIdInDocument" />
        </sig>
        <sig useTimestamp="false" id="transactioncode">
            <positionPage>1</positionPage>
            <DocRefNumber>1</DocRefNumber>
            <positionX>221.9429</positionX>
            <positionY>518.5715</positionY>
            <width>171.4286</width>
            <height>68.57143</height>
            <param name="enabled">1</param>
            <param name="completed">0</param>
            <param name="bio">0</param>
            <param name="sigType">TransactionCode</param>
            <param name="trModType">TransactionCodeSenderPlugin</param>
            <param name="phonenumber">+436776214772</param>
            <param name="trValidityInSeconds">15</param>
            <param name="useExternalSignatureImage">Optional</param>
            <param name="isPhoneNumberRequired">1</param>
            <param name="phoneNumber">+436776214772</param>
            <param name="req" />
            <param name="uid" />
            <param name="fd" />
            <param name="spcId" />
            <param name="reason" />
            <param name="location" />
            <param name="contactInfo" />
            <param name="trModTypeId" />
            <param name="trConfId" />
            <param name="signatureIdInDocument" />
        </sig>
        <sig useTimestamp="false" id="disposable">
            <positionPage>1</positionPage>
            <DocRefNumber>1</DocRefNumber>
            <positionX>21.94286</positionX>
            <positionY>418.5715</positionY>
            <width>171.4286</width>
            <height>68.57143</height>
            <param name="enabled">1</param>
            <param name="completed">0</param>
            <param name="bio">0</param>
            <param name="sigType">TransactionCode</param>
            <param name="spcId">includedss</param>
            <param name="trModType">RemoteSignatureDisposableCertificate</param>
            <param name="isPhoneNumberRequired">0</param>
            <param name="trValidityInSeconds">60</param>
            <param name="trConfId">remoteCertificateSignSmsText</param>
            <param name="useExternalSignatureImage">Optional</param>
            <param name="trConfIdIssueCertificate">disposableCertificateEnrolAndSignSmsText</param>
            <param name="req" />
            <param name="uid" />
            <param name="fd" />
            <param name="reason" />
            <param name="location" />
            <param name="contactInfo" />
            <param name="trModTypeId" />
            <param name="signatureIdInDocument" />
        </sig>
    </signatureTemplate>
    <receiverInformation>
        <userInformation>
            <firstName>Max</firstName>
            <lastName>Mustermann</lastName>
            <eMail>max.mustermann@xyzmo.com</eMail>
        </userInformation>
        <trRsDcNamHolderInformation>{"identificationType":"PASSPORT", "identificationCountry": "it", "sex":"m","firstName":"Max","lastName":"Mustermann","birthDate":"20/10/1980","birthCadastralCode":"Z102","countryResidence":"AT","email":"test@xyzmo.com","phoneMobile":"00436646101703","recognitionType":"CI","passport":"FOOBARTEST321","documentIssuedBy":"Some Authority","documentIssuedOn":"01/09/2010","documentExpiryDate":"01/09/2020","documentNumber":"FOOBAR123TEST"}</trRsDcNamHolderInformation>
        <showNamirialDisposableDisclaimer>0</showNamirialDisposableDisclaimer>
    </receiverInformation>
    <Agreements />
    <pdfForms isEditingAllowed="1" />
    <attachmentFields />
    <PictureAnnotationTaskInfo>
        <MinResolution>96</MinResolution>
        <MaxResolution>300</MaxResolution>
        <ColorDepth>Color16M</ColorDepth>
    </PictureAnnotationTaskInfo>
    <TypewriterAnnotationTaskInfo />
    <ViewerPreferences>
        <SendVisibleArea allowedDomain="*">0</SendVisibleArea>
    </ViewerPreferences>
    <Policy version="1.1.0.0">
        <GeneralPolicies>
            <AllowSaveDocument>1</AllowSaveDocument>
            <AllowSaveAuditTrail>1</AllowSaveAuditTrail>
            <AllowRotatingPages>1</AllowRotatingPages>
            <AllowAppendFileToWorkstep>0</AllowAppendFileToWorkstep>
            <AllowAppendTasksToWorkstep>0</AllowAppendTasksToWorkstep>
            <AllowEmailDocument>1</AllowEmailDocument>
            <AllowPrintDocument>1</AllowPrintDocument>
            <AllowFinishWorkstep>1</AllowFinishWorkstep>
            <AllowRejectWorkstep>1</AllowRejectWorkstep>
            <AllowRejectWorkstepDelegation>0</AllowRejectWorkstepDelegation>
            <AllowUndoLastAction>1</AllowUndoLastAction>
            <AllowColorizePdfForms>0</AllowColorizePdfForms>
            <AllowReloadOfFinishedWorkstep>1</AllowReloadOfFinishedWorkstep>
            <AllowAdhocPdfAttachments>1</AllowAdhocPdfAttachments>
            <AllowAdhocSignatures>1</AllowAdhocSignatures>
            <AllowAdhocStampings>1</AllowAdhocStampings>
            <AllowAdhocFreeHandAnnotations>1</AllowAdhocFreeHandAnnotations>
            <AllowAdhocTypewriterAnnotations>1</AllowAdhocTypewriterAnnotations>
            <AllowAdhocPictureAnnotations>1</AllowAdhocPictureAnnotations>
            <AllowAdhocPdfPageAppending>1</AllowAdhocPdfPageAppending>
        </GeneralPolicies>
        <WorkstepTasks SequenceMode="SequenceOnlyRequiredTasks">
            <Task enabled="1" completed="0" required="0" id="click2sign" displayName="click2sign" DocRefNumber="1" type="SignField" internalAllConcernedDocRefNumbersList="1#1" allRequiredFieldsFilledOnWorkstepCreation="0" />
            <Task enabled="1" completed="0" required="0" id="draw2sign" displayName="draw2sign" DocRefNumber="1" type="SignField" internalAllConcernedDocRefNumbersList="1#1" allRequiredFieldsFilledOnWorkstepCreation="0" />
            <Task enabled="1" completed="0" required="0" id="type2sign" displayName="type2sign" DocRefNumber="1" type="SignField" internalAllConcernedDocRefNumbersList="1#1" allRequiredFieldsFilledOnWorkstepCreation="0" />
            <Task enabled="1" completed="0" required="0" id="localcertificate" displayName="localcertificate" DocRefNumber="1" type="SignField" internalAllConcernedDocRefNumbersList="1#1" allRequiredFieldsFilledOnWorkstepCreation="0" />
            <Task enabled="1" completed="0" required="0" id="remotecertificate" displayName="remotecertificate" DocRefNumber="1" type="SignField" internalAllConcernedDocRefNumbersList="1#1" allRequiredFieldsFilledOnWorkstepCreation="0" />
            <Task enabled="1" completed="0" required="0" id="transactioncode" displayName="transactioncode" DocRefNumber="1" type="SignField" internalAllConcernedDocRefNumbersList="1#1" allRequiredFieldsFilledOnWorkstepCreation="0" />
            <Task enabled="1" completed="0" required="0" id="disposable" displayName="disposable" DocRefNumber="1" type="SignField" internalAllConcernedDocRefNumbersList="1#1" allRequiredFieldsFilledOnWorkstepCreation="0" />
        </WorkstepTasks>
        <AdhocPolicies>
            <AllowModificationsAfterSignature>1</AllowModificationsAfterSignature>
        </AdhocPolicies>
        <completedActions />
        <TaskTransactionIds />
    </Policy>
    <timeCreated>2021-05-27T11:09:24.7108085Z</timeCreated>
    <signaturePluginConfiguration>
        <PdfSignatureProperties_V1>
            <PdfAConformant>0</PdfAConformant>
            <ValidateSigningCertificateName regex="(?<LastName>.*) (?<FirstName>.*)">0</ValidateSigningCertificateName>
            <ValidateSigningCertificateViaEutl>0</ValidateSigningCertificateViaEutl>
            <PAdESPart4Compliant>0</PAdESPart4Compliant>
            <IncludeSigningCertificateChain>0</IncludeSigningCertificateChain>
            <SigningCertificateRevocationInformationIncludeMode>DoNotInclude</SigningCertificateRevocationInformationIncludeMode>
            <SignatureTimestampData>
                <Password />
                <SignatureHashAlgorithm>SHA1</SignatureHashAlgorithm>
                <Uri />
                <UserName />
            </SignatureTimestampData>
        </PdfSignatureProperties_V1>
        <PdfSignatureCryptographicData_V1>
            <SignatureHashAlgorithm>Sha256</SignatureHashAlgorithm>
            <SigningCertificateDescriptor>
                <Identifier />
                <Type>Sha1Thumbprint</Type>
                <Csp>Default</Csp>
            </SigningCertificateDescriptor>
            <SigningCertificateDescriptor>
                <Identifier>14527a6bcfa8b4d7d0183fca6b735b1c246d14ae</Identifier>
                <Type>Sha1Thumbprint</Type>
                <Csp>Default</Csp>
            </SigningCertificateDescriptor>
        </PdfSignatureCryptographicData_V1>
    </signaturePluginConfiguration>
    <signaturePluginConfiguration spcId="includedss">
        <PdfSignatureProperties_V1>
            <PdfAConformant>0</PdfAConformant>
            <ValidateSigningCertificateName regex="(?<LastName>.*) (?<FirstName>.*)">0</ValidateSigningCertificateName>
            <ValidateSigningCertificateViaEutl>0</ValidateSigningCertificateViaEutl>
            <PAdESPart4Compliant>0</PAdESPart4Compliant>
            <IncludeSigningCertificateChain>0</IncludeSigningCertificateChain>
            <SigningCertificateRevocationInformationIncludeMode>IncludeDss</SigningCertificateRevocationInformationIncludeMode>
            <SignatureTimestampData>
                <Password />
                <SignatureHashAlgorithm>SHA1</SignatureHashAlgorithm>
                <Uri />
                <UserName />
            </SignatureTimestampData>
        </PdfSignatureProperties_V1>
        <PdfSignatureCryptographicData_V1>
            <SignatureHashAlgorithm>Sha256</SignatureHashAlgorithm>
            <SigningCertificateDescriptor>
                <Identifier />
                <Type>Sha1Thumbprint</Type>
                <Csp>Default</Csp>
            </SigningCertificateDescriptor>
            <SigningCertificateDescriptor>
                <Identifier>14527a6bcfa8b4d7d0183fca6b735b1c246d14ae</Identifier>
                <Type>Sha1Thumbprint</Type>
                <Csp>Default</Csp>
            </SigningCertificateDescriptor>
        </PdfSignatureCryptographicData_V1>
    </signaturePluginConfiguration>
    <AuditingToolsConfiguration WriteAuditTrail="1">
        <NotificationConfiguration />
    </AuditingToolsConfiguration>
    <TransactionCodeConfigurations>
        <TransactionCodeConfiguration trConfId="">
            <Message>Please sign the document with the transactionId {tId} with the code: ### {Token}</Message>
            <hashAlgorithmIdentifier>Sha256</hashAlgorithmIdentifier>
        </TransactionCodeConfiguration>
        <TransactionCodeConfiguration trConfId="disposableCertificateEnrolAndSignSmsText">
            <Message>Please confirm the issuance of your disposable certificate and signature with the OTP (transactionId '{tId}'): </Message>
            <hashAlgorithmIdentifier>Sha256</hashAlgorithmIdentifier>
        </TransactionCodeConfiguration>
        <TransactionCodeConfiguration trConfId="remoteCertificateSignSmsText">
            <Message>Please sign the document with the transactionId {tId} using the code: </Message>
            <hashAlgorithmIdentifier>Sha256</hashAlgorithmIdentifier>
        </TransactionCodeConfiguration>
    </TransactionCodeConfigurations>
</workstepConfiguration>

All dialogs support now keyboard usability.

Please note that the actual functionality of the keypress depends on the context of the dialog!


"ESC" keypress

  • closes the dialog
  • stops additional tasks if required

"Enter" keypress

  • activates the primary button, when no other action is required in the dialog
    • e.g. "Finish" dialog

"Tab" keypress

  • to navigate to the next element

For more information about the keyboard usability and about other aspects of the accessibility please see this guide.


The generic signing plugin is now also available for short time certificates (one time, one shot,  disposable etc.).

For more information about the generic signing plugin please see the release notes 21.16. For detailed information about the REST configuration of the generic signing plugin please see this guide.

With eSAW 21.31 we introduced, as part of a bugfix, a more strict phone number validation. For example: SMS-OTP authentication, the phone number must be provided in international format (+xxyyyyyyyyyyy) where +xx is the country prefix, and yyyy is the phone number inclusive carrier prefix (different length of country prefix and phone number are supported). The  use of phone numbers without country prefix - which did not return an error via REST Api, but did not lead to successful delivery in many cases - cannot be supported any longer as it was not determined which country is used.


Documentation change

Date: September 2021

Detailed documentation about how to configure SAML authentication for user authentication and signer authentication has been updated in the following guide: SAML Guide



Documentation change

Date: August 2021

The documentation about metadata and the AdditionalClientWorkstepInformation has been updated in the following guide: Beginner Guide



Feature Release


eSignAnyWhere 21.27

In preparation

Date: Expected 24 August 2021

We improved again the performance of our solution to provide you an excellent user experience.

The identity settings providers moved to a separate configuration page. Those settings can now be found in Settings → Identity Providers. Please also see the next figure:

The SwissCom OnDemand Certificate is now also available in the UI. You can find the settings for the SwissCom OnDemand Certificate in Settings → Organization.

The settings for the recipient can be found on the create envelope page. There you have to fill in the mobile phone number, the country of residence and the organization (optional).

After these configurations you can use the SwissCom OnDemand Certificate as signature field in the UI:

Moreover, you can create a SwissCom OnDemand certificate signature field with Advanced Document Tags.

Just add the following code to your document to place a SwissCom OnDemand certificate signature:

[[!sigField1:signer1:signature(sigType="SwissComOnDemandCertificate"):label("some label"):size(width=150,height=60)]]


For general information about the advanced document tags please see: Use Text Placeholders to insert Form Elements or Signature Fields

The recipient who has to view the document was renamed to "Must view" recipient instead of "Acknowledge" recipient. For example:


Feature Release


eSignAnyWhere 21.16

Date: April 2021

Please note: For detailed information about the 21.16 features please also see this release notes document.


The feature implementation change of envelope expiry allows to specify absolute expiration timestamps (date and time), beside relative expiration date. For the relative expiration date, it allows specifying days, hours and minutes instead of just days. An expiration of less than one day is now supported. This enables senders of an envelope to set the exact expiration timestamp of an envelope, e.g. for offers valid just till an exact time like midnight.

Organization administrators can now customize localization (especially text translations) per organization. It enables a higher level of customization and more adjustments of the SignAnyWhere Viewer (Signer Front-End). The front-end can now be adjusted to the company’s common wording.
The organization administrator can now define filters on intended-use of certificates, for envelopes containing local certificate (SmartCard) signing experience. With that filter configured, the list of selectable certificates can be restricted to the certificates relevant on a local market (e.g. if a local signature smartcard contains two or more certificates for different purposes, like signing and identification).

With release 20.14 a year ago, the REST API Versions /v1 and /v2 have been marked as obsolete/deprecated and a migration guide has been published. With the 21.16 release, those versions have been removed:

• /api/v1 (also accessible via /api/v1.0)
• /api/v2 (also accessible via /api/v2.0)

The REST migration guide, which contains also some more information about the different API versions and in particular about the differences from version 1.0 or 2.0 to newer versions, is available here:

Migration Guide

Please mind that the guide describes the migration to v4, but similar functionality will also be applicable for a migration to /v5. The swagger documentation, which is our REST API reference documentation, is available here:

https://demo.esignanywhere.net/Api/swagger/ui/index

When storing signed documents in a document management system (DMS), a tagging of the document(s) is common and mandatory to find the document again. While eSignAnyWhere already supported providing metadata in API integrations, older versions allowed the sender via WebUI to specify just one free-text metadata field with the recommendation to put an XML structure into it. Since 20.52, it is possible to integrate custom tagging implementations, which consider structures and allowed values predefined in a DMS. It allows organization admins to define a custom page, being presented to the sender before sending an envelope for signing.

The UI of a metadata tagging form (or other before-send redirect page) can be aligned to the eSAW UI look and feel, or be aligned e.g. with your DMS. Consequently, the new change now allows defining metadata in templates. This can be used to set defaults, which are considered in a custom tagging page when a template was used to create the draft. Beside DMS tagging, metadata can be used also to define other values necessary for post-processing by a callback handler. Any additional information/description can be added into the metadata section of an envelope.

A new dialog will let you choose between bulk recipients added in an envelope draft and bulk recipient list defined in a template. For example: If you add a template with a bulk to an envelope which already has a bulk included you will be asked if you want to continue with the bulk from the template or with the bulk from the envelope. This will help you with the process flow of bulk sending as you can now differentiate between the bulks of different envelopes.
With custom signature rendering layout configuration (stamp imprint configuration), an organization administrator can define how the stamp imprint on the signature image looks like (e.g. fonts, elements, layout etc). The new functionality allows to set organization wide background images (e.g. company logos) or define specific fonts for text added to the stamp imprint. While it has no impact on the legal levels of signatures (in EU, defined by eIDAS), a customer specific stamp imprint representation can create higher subjective trust and contract awareness of your customers.
This feature clears up ambiguities in the UI. Only those features are displayed which are actually possible with the given settings. Non-accessible features will be hidden to optimize the UI experience.
The “Generic Signing Plugin” (GSP) allows implementation of custom 3rd party signature creation implementations (HSM based, web service based, etc). It is typically used to integrate external CAs into eSignAnyWhere. A GSP based implementation of a 3rd party CA is available for envelopes created via eSAW API or via eSAW WebUI. New features and improvements allow wider usage of the GSP.





LTS Release

eSignAnyWhere 20.76 ("21 LTS")

Date: April 2021

LTS version based on the feature release version 20.52.



Feature Release

eSignAnyWhere 20.52

Date: December 2020

You can now create, update and send a draft via API. Therefore, with the new API calls you can prepare an envelope and send it at any time. Before sending you can also update the draft if some configuration should be changed.
For more information about how to create and send a draft via API please have a look at the following guide: Use Case Example Draft

You can now configure the following viewer preference: AcceptAgreementDisabledUntilRequiredActionsDone

Note: You can configure the viewer preference in the UI in the section organization->design of the document viewer. Download the design template or your current design and set the variable AcceptAgreementDisabledUntilRequiredActionsDone to 0,

to disable this preference or to 1, to enable this preference. You can also configure this viewer preference via API. Therefore, just add the following variable in the section viewer preferences like it is shown in the next sample:

"ViewerPreferences": {
          "AcceptAgreementDisabledUntilRequiredActionsDone": true,
          "VisibleAreaOptions": {
            "AllowedDomain": "*",
            "Enabled": false
          }         },

If the preference is set to true the signer will then see the following interface before accessing the document:

On-premise only.

Organization Export

Allows you to export an organization’s settings and use it to create/update other organizations. Organizations can be exported, created and updated using the DB Manager or Admin Web. The result of the export operation is a Zip file that holds 3 files as follows:

  • Logo – The organization logo. (If the organization has no logo, then this file will be missing from the Zip file)
  • CustomizationZip.zip – Customization file of the organization. (If customization is not allowed for the organization, then this file will be missing from the Zip file)
  • ExportedSettings.xml -The actual settings of the organization in XML format.

Organization Import

There are two options for organization import:

  • Create new organization using the exported data of other organization.
  • Update an existing organization with the exported data of other organization.

The update process will skip updating the settings below (even if they are in the xml file) since they can affect ongoing/draft envelopes.

  • OAuth settings
  • Saml settings
  • Bank Id settings
  • SwissCom settings
  • Disposable certificate settings

Note: Data such as envelopes, address book etc. are not supported with the export/import of the organization.

eSignAnyWhere and SSP from now on separates between an “anonymized” and a “full” log file. On-Premise customers can share with us e.g. for analysis purposes the anonymized log file. Whereas offering SaaS, where anyhow a data processing agreement should exist, Namirial still has access to both log files but it allows sharing the non-anonymized log file with more people inside Namirial while the logs which contain personnel information will still be accessible only for a very restricted number of employees.Note that messages in log files and the error text returned e.g. in API calls (but not the error codes) will change in order to be more data privacy friendly.

If you use lean disposable via API, you have to provide the document issuing country instead of the country of residence. Therefore, we introduced the DocumentIssuingCountry via API. For compatibility with existing implementations, we allow to use the field CountryOfResidence but for legal reasons you also have to provide here (when using lean disposable) the country which issued the identification document.


If you do not use lean disposable (but consider that the “traditional” non-lean disposable should be used only in exceptional cases), you have to continue using the field CountryOfResidence as in the past.







Documentation change

Date: November2020

The Beginner Guide has been expanded to include the following:
In the section “signatures” you can now also find an example (REST/SOAP) of a StampImprintConfiguration.
The Use Case Example Template has been expanded to include the following:
In the section “Override Radiobutton” you can now find an example (REST/SOAP) of how to override a radio button from a template.





Feature Release

eSignAnyWhere 20.42

Date: October 2020

This plugin provides a generic way of integrating external (remote) signatures. Please see the following supported features:

  • Signing types (defined by the plugin implementation)
    • User signing
    • Batch signing
    • Automatic signing
  • Authentication
    • Using dynamic data fields
      • Types: Text, Phone number, Number, List (dropdown), Email, Password
    • Using external system (redirection to external URI)
    • Using external app (e.g. push notification) + callback receiver
  • Signing method
    • Hash signing only via the plugin
    • Hash signing only via the default SSP integration

For more information about the configuration in the UI please have a look at the Electronic Signature Guide, the Signer Guide and the User Guide.
For more information about the configuration with REST API please have a look at the Beginner Guide. There you can find a sample configuration.

Previously the API authorization consisted of two parameters (OrganizationKey and UserLoginName). This has been reduced to a single parameter; an API Token. This token is individual for each user and can be created/updated/disabled/deleted on a new Page (ApiToken/Index->My Tokens). A user can have multiple API Tokens that allow a more granular usage of them. For example one token for integration A and another token for integration B.

Note: If a token is deleted it can not be recreated with the same token value.

Two possibilities for authentication:

  1. Using the new API Token header (REST) or the API Token XML node (SOAP). Here
    only the API token is a valid value.
  2. Use the OrganizationKey and the userLoginName for the authentication

For more information about the

You can now also use the driving license as an identification type. This new identification
type is available in the UI as well as in the API.

For more information about the disposable certificate please also have a look at the Beginner Guide.

We improved again the performance of our solution to provide you an excellent user experience.
We declared SOAP as deprecated and therefore SOAP will not be included in versions after 21.76 (already postponed by one year, initially the 20.76 was announced). Latest release including SOAP API for eSAW will be 21.76, released in spring 2022 and with the software maintenance on 21.76 until spring 2024.
Therefore, we recommend REST technology for integration. Please see also the migration guide.

The bulk signing assistant is a feature that allows you to sign multiple documents with one click.

Note: The bulk signing assistant (eBSA) currently does not support the full set of features of eSignAnyWhere envelopes and signature methods. It is limited to

  • Envelopes without authentication
  • Envelopes that use Click2Sign as the only signature variant
  • Only envelopes that do not require confirming an agreements dialog (Terms&Conditions) first

Please see also this guide: Bulk signing assistant


Feature Release

eSignAnyWhere 20.28

Date: July 2020

We declared SOAP as deprecated and therefore SOAP will not be included in versions after 21.76 (already postponed by one year, initially the 20.76 was announced). Latest release including SOAP API for eSAW will be 21.76, released in spring 2022 and with the software maintenance on 21.76 until spring 2024.
Therefore, we recommend REST technology for integration. Please see also the migration guide.
In addition to the predefined roles and permissions you can now define your own roles. So, for example you can define a new role, where the user can manage and send envelopes, but not create the envelopes on their own. Or a role which can configure automatic remote signatures themselves, without being user managers. Moreover, you can also set the permissions for your roles.
For more information please have a look at this page.

You can now find the setting in your organization to lock form fields. If you prevent editing form fields after the envelope is finished the form fields in the PDF are all read only. Therefore, after locking the form fields (after the final workstep), the form fields are not editable any more with other PDF tools.
For more information please have a look at this page.

You can also lock form fields with the API. Therefore, just add the following before the node “steps” in REST:

"LockFormFieldsAtEnvelopeFinish": true,

Or in SOAP:

<lockFormFieldsAtEnvelopeFinish>true</lockFormFieldsAtEnvelopeFinish>

In your organization settings you can now select required authentication methods. You can either select any or a specific authentication.

Moreover you can set the following

  • Force input of the phone number when using SMS-OTP authentication
  • Allow skipping forced authentication upon using biometric signatures
  • Allow skipping forced authentication upon using disposable certificate, remote certificate or local certificate

For more information please have a look at this page.

You can find this feature in your organization settings in the section “Testing Phase Features”.
There you can allow to copy the viewer link from the envelope details page. If the user signs the envelope via the copy viewer link, then this information is also shown in the audit trail.

For more information about the clipboard please have a look at this page.

You can now configure a bankID signature field and a bankID authentication via api.
For more information about bankID and the configuration please have a look at this page.



Feature Release

eSignAnyWhere 20.14

Date: April 2020

You can now define hyperlinks for your document with API. The next lines of code show you a sample configuration of one hyperlink:

"HyperLinks": [
		{
		 "Id": "c238bd01-78ca-4958-a6dc-957fed629aa0",
		 "DocRefNumber": 1,
		 "PositionPage": 1,
	         "Uri": "https://www.esignanywhere.net/",
			"Position": {
				"PositionX": 346.0,
				"PositionY": 707.0
				    },
			 "Size": {
				"Height": 15.0,
				"Width": 152.0
				 }
		}
	      ]

For general information about the hyperlinks please have a look at: Hyperlinks

The email template configuration in the product changed. Also some new placeholders were added. For more information please have a look at: Settings and Customizing

or in the product in the following section: Settings->Email Templates, there you will find a new section with all possible placeholders for each template. You can copy the placeholders and past it in your template.

The sender of an envelope can define wether the recipient of the envelope has access again after finishing and closing the envelope. For more information about the process of opening documents and finishing them please have a look at: Signer Guide

We improved again the performance of our solution to provide you an excellent user experience.

Links are now supported in the disclaimer dialog. For  more information please have a look at: Beginner Guide

We recommend REST technology for integration. However, we will offer SOAP as well and SOAP is still being maintained. When we decide to declare SOAP as deprecated in the future, we will publish further information on this page. In this case, we will grant enough time before SOAP gets discontinued.



LTS Release


eSignAnyWhere 19.76 ("20 LTS")

Status: In preparation

Date: April 2021 (Release Candidate)

LTS version based on the feature release version 20.52.


Feature Release

eSignAnyWhere 3.7

Date: January 2020

You can now choose between the following five configurations for a Batch signature:

  • Simple Batch
  • Signature List (unselected)
  • Signature List (preselected)
  • Signature List (selected, required mandatory)
  • Signature List (unselected, required mandatory)

We added the last two modes for mandatory fields (selected and unselected). This makes it possible to distinguish between mandatory and voluntary fields.

Therefore, the selected means that the user can select/deselect only signatures which are not required. All signatures are initially selected. The unselected means that the user can select/deselect only signatures which are not required. All non required signatures are initially deselected.

For more information please have a look at Signer Guide

PAdES configurations were added to the organization settings. There you can choose between the following levels:

  • B
  • T
  • LT
  • LTA

For detailed information please have a look at Settings and Customizing

There you can find all descriptions for the different levels.

You can now configure an A-TRUST signature in your workstep configuration. For more information please have a look at the Beginner Guide

In this guide you can also find a sample configuration for an A-TRUST signature.

If you are using eSAW on premise or in a private SaaS and use the SIGNificant Kiosk, you can use new features now:

  • Combobox
  • Listbox

The API caching now returns cached results in the case the same request is executed again too fast (e.g. after just some milliseconds).

We improved again the performance of our solution to provide you an excellent user experience.

Here you can find all previous releases:

YearLinkIncluding versions
2019Release Notes - 20193.6, 3.5, 3.4
2018Release Notes - 20183.3, 3.2, 3.1, 3.0, 2.6
2017Release Notes - 20172.5, 2.4
  • No labels