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

Please note that you will need an active, dynamic and enrolled biometric server profile for the following configurations. For more information about the biometric server please do not hesitate to contact us.

Please also note the following preconditions:

  • Biometric server
  • Feature flag ("BiometricSignature")
  • Native component (Device Driver, Kiosk, sign on phone, ...)

Please also note: In order to be able to verify signatures it is necessary to collect six signatures in the biometric server. For more information please have a look at: SIGNificant Biometric Server (restricted access)

The Story

In our scenario, we are using the fictitious persona Maria McCartney. Imagine Maria as a 57 years old woman with 2 children, who has worked as employee of a big company until her age of 32 and then, after her maternal leave, spent all her energy on household and caring about her children. She is not using electronic banking and therefore is used to go to the bank once a week to do all the payments for the rent, the electricity and others. She also withdraws the money she needs in cash once a week directly at the cashier's desk. 

When opening her bank account back some years, she had to sign several times so that the bank collected a sample of her valid signatures. The bank was already digitalized and collected the reference signatures in the SIGNificant Biometric Server. Whenever Maria is withdrawing money at the cashier's desk, she is signing again electronically on a device such as the Namirial NT10012 where she is able to see the bank statement for the withdrawal. Using her handwritten biometric signature is the most natural way of signing in a face-to-face scenario, and perfect for this scenario. The signature is in real-time, fully automated, verified against the reference signatures stored in SIGNificant Biometric Server to guarantee that it's really Maria who is withdrawing the money and not her sister who looks very similar to her. Every time when she is signing successfully, the signature is expected to vary slightly, but not too much, from the stored reference signatures. As a person's handwritten signature in general typically changes slightly over the years, the stored reference signatures are automatically updated with newer data each time she is signing.

Integration

In order to verify the signature with the collected six signature from the enrolled biometric server the following attribute must be set:

"IsBio": true,

Please note that the signature will not be verified if the value for "IsBio" is set to false!


Furthermore, the "uid" must be set. The uid is the user id which can be found in the biometric server profile:

"uid": "##your user id##",

Please also see the following configuration which shows where to place those two attributes:

 "AllowedSignatureTypes": [
                  {
                    "IsBio": false,
                    "uid": "##your user id##",
                    "AllowSkipBiometricVerification": true,
                    "AllowBiometricStoringOnly": true,
                    "SignedResponseWithoutBioData": true,
                    "Id": "dfbb1510-c2d4-4639-802c-e3946a1fa201",
                    "DiscriminatorType": "SigTypeBiometricSignature",
                    "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": ""
                  }
                ],
                "UseTimestamp": false,
                "IsRequired": true,
                "Id": "1#XyzmoDuplicateIdSeperator#Signature_935a5cbb-148e-af78-0ac4-310f1181c984",
                "DisplayName": "",
                "DocRefNumber": 1,
                "DiscriminatorType": "Signature"
              }
            ]
          }
        },

In this configuration you can also find three more attributes to configure the settings of biometric verification:

  • AllowSkipBiometricVerification (to allow to skip the biometric verification)
  • AllowBiometricStoringOnly (to allow to store the biometric signature without verification process)
  • SignedResponseWithoutBioData

Please also see the following complete workstep configuration:

{
  "SspFileIds": [
    "##your file id##"
  ],
  "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": true,
  "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": []
        }
      ],
      "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": {
          "DelegationUri": "https://demo.esignanywhere.net/Resource/Delegate"
        },
        "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": [
              {
                "PositionPage": 1,
                "Position": {
                  "PositionX": 51.0,
                  "PositionY": 607.0
                },
                "Size": {
                  "Height": 80.0,
                  "Width": 190.0
                },
                "AdditionalParameters": [
                  {
                    "Key": "enabled",
                    "Value": "1"
                  },
                  {
                    "Key": "completed",
                    "Value": "0"
                  },
                  {
                    "Key": "req",
                    "Value": "1"
                  },
                  {
                    "Key": "positioning",
                    "Value": "intersectsWithField"
                  },
                  {
                    "Key": "fd",
                    "Value": ""
                  },
                  {
                    "Key": "fd_dateformat",
                    "Value": "dd-MM-yyyy HH:mm:ss"
                  },
                  {
                    "Key": "fd_timezone",
                    "Value": "datetimeutc"
                  }
                ],
                "AllowedSignatureTypes": [
                  {
                    "IsBio": true,
                    "uid": "##your user id##",
                    "AllowSkipBiometricVerification": true,
                    "AllowBiometricStoringOnly": true,
                    "SignedResponseWithoutBioData": true,
                    "Id": "dfbb1510-c2d4-4639-802c-e3946a1fa201",
                    "DiscriminatorType": "SigTypeBiometricSignature",
                    "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": ""
                  }
                ],
                "UseTimestamp": false,
                "IsRequired": true,
                "Id": "1#XyzmoDuplicateIdSeperator#Signature_935a5cbb-148e-af78-0ac4-310f1181c984",
                "DisplayName": "",
                "DocRefNumber": 1,
                "DiscriminatorType": "Signature"
              }
            ]
          }
        },
        "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": []
        }
      ],
      "EmailBodyExtra": "",
      "RecipientType": "Cc",
      "DocumentOptions": [],
      "UseDefaultAgreements": false
    }
  ],
  "AddFormFields": {
    "Forms": {}
  },
  "OverrideFormFieldValues": {
    "Forms": {}
  },
  "AttachSignedDocumentsToEnvelopeLog": false
}
  }

With this configuration set the signing will be verified. If the signature does not match the others the signature will be rejected! Please see the next figure: