OneSpan Sign Release 11.18: Enforcing Signature Capture at Signature Level

Duo Liang, September 12, 2018

Version 11.18 of OneSpan Sign has recently been deployed to the preview and sandbox environment where we enabled the Enforce Signature Capture option to be set at the signature level, added the names of Fields to the Audit Trail, retained the sender's selection for Show Shared Layouts and continuously rebranded OneSpan Sign. You can find the deployment dates for all our environments on our Trust Center page.

In this blog, we’ll walk through how you can use the Enforce Signature Capture feature at Signature level in your OneSpan Sign Deployment to add flexibility of your workflow when you prompt your signer to capture their signature.

“Enforce Signature Capture” at Package level

In OneSpan Sign, signers will only be asked to draw their signature once by default. If the transaction requires multiple signatures on the document, OneSpan Sign will automatically replicate the first drawn signature for any subsequent signatures. However, you have the option to require your signer to redraw their signature on every single capture signature. You can enforce this policy by using the following setting in package level:

  "settings": {
    "ceremony": {
      "enforceCaptureSignature": true

“Enforce Signature Capture” at Signature level

In version 11.18, OneSpan Sign has extended this setting to the signature level. By adding this setting "enforceCaptureSignature": true to the “approval” block in JSON, you can apply fine-grained control of your workflow.

The picture below shows how you can use this feature in REST method.


The code below gives you an example what how to apply this feature in Java SDK.

public class EslDemo {
    public static final String API_KEY = "your api key";
    public static final String API_URL = "";
    private static final String URL_PATH = "url path";

    public String testEnforceCapture() {
        EslClient eslClient = new EslClient(API_KEY, API_URL);
        DocumentPackage pack = PackageBuilder.newPackageNamed("test Enforce Capture at Signature Level")
                .withSigner(SignerBuilder.newSignerWithEmail("[email protected]")
                .withDocument(DocumentBuilder.newDocumentWithName("Document 1")
                        .withSignature(SignatureBuilder.captureFor("[email protected]")
                                .atPosition(100, 100)))
        PackageId packageId = eslClient.createPackageOneStep(pack);

        return packageId.getId();
    public static void main(String[] args) {
        String testEnforceCapture = new EslDemo().testEnforceCapture();

You can find the complete code here.


 Though applying the feature is simple, there are a few additional considerations to keep in mind:

(1) “enforceCaptureSignature” is set false by default both in the package or signature level setting (You don’t need to specifically configure it if you don’t use this feature).

(2) Unlike the "enforceCaptureSignature": true setting in package level, which requires the signer to capture signature every capture approval, the same setting at the signature level  only forces the signer to capture his/her signature when the approval contains the  “true” setting. We will do an experiment to explain it more clearly.


As the picture shows above, we have three approvals. The signer did not upload a signature, so they must manually sign for the first signature. For the second signature, because we  enabled the “enforceCaptureSignature” setting and the signature differs from the first one, it overwrites the first signature. Then, the new captured signature automatically replicates when the signer signs the third field.

(3) This feature is currently not available in the Web Portal.

(4) New captured signatures during signing ceremony won’t overwrite the signature at the account level setting, assuming the signer has an account with OneSpan Sign.

Learn more about Uploading Signature in these two blogs: Upload Signature for Your Signer and Override Account Sender’s Signature.


If you have any questions regarding this blog or anything else concerning integrating OneSpan Sign into your application, visit the Developer Community Forums. Your feedback matters to us!