Electronic signatures in web pages [closed]
Asked Answered
R

8

19

I have an ASP.Net application. It is an application where people fill out forms. Well, we would like for people to be able to sign the form electronically(as in, their hand written signature) so that the signatures are held in the server and displayed on the web page.

Is there any kind of support for doing this kinda thing without having to resort to ActiveX controls? We would really strongly like to stay away from those. Is there anything up and coming that could be of some help such as the Canvas HTML5 tag or anything like that? It'd be super neat if we could support both signature pads and tablet PCs.

Also, electronic signatures are required because we would prefer if they signed the form through the computer and stored it on our server rather than printing it off, signing it, and filing it away in some place to become out of date.

Remittance answered 25/1, 2010 at 22:58 Comment(4)
What exactly are you going to use this for? To me, it sounds like you might be over complicating something. If you elaborate a bit more on the problem you are trying to solve, maybe someone will come up with a suggestion for a simpler solution :)Perice
earlz - I don't think that digital signatures in the US are shaky in the US at all as we've relied on them for years. See my answer elsewhere on the page.Honourable
For anyone finding this who thinks: just use passwords (or private key, etc) you're correct, this is the best solution if you only want to verify users. However, OP and I both have a requirement for capturing non-user's signatures.Agnate
@Agnate I've actually figured out a way to do this without resorting to ActiveX. I'll post it as an answer soon. Basically it involves running a local webserver for signatures and getting a 127.0.0.1:/sig.png and such which constantly is refreshed and then when ready to save use a $.ajax call to get the JSON formatted data and put it in a hidden field..Remittance
R
1

Actually what we ended up doing is the following:

On the client's machine a custom made web server is run. The web server does the interfacing with the signature pad. We have control over everyone using our site so this is not a problem.

On our website we have a series of buttons like "sign" "clear" and "done". When the sign button is clicked it will begin a process which will poll the localhost server every 50 or 100ms or so with an image tag created like so <img src="http://127.0.0.1?signature&time=..." /> (where the ... is the current time so no caching issues). This makes it so that the image can be clearly seen in the browser and works well for every browser I've tested it in.

Then when the user clicks done in order to get the image's actual data to be accessible from the server we use a JSONP request(so that we can cross the domain border) to get a base64 encoded value of the image and/or signature data. We store this in a hidden field. Whenever the user clicks save for the form(or whatever) then this hidden field gets sent to the server and saved.

This would also be easy to have so that there is an option for tablet computers so that it uses a <canvas> control or similar to allow direct drawing on the screen.

Remittance answered 2/7, 2010 at 6:39 Comment(0)
H
6

This isn't exactly an answer to your problem but if you are in the United States you will not need a handwritten signature for the document to be considered legally "signed." As long as the form they are "signing" meets certain authentication criteria, an online agreement is considered fully executed by an electronic acceptance. For example, in our system, people sign a document using the following:

My Name: Mark Graquel
My System ID: 998877
Today's Date: 1/25/2010 

You agree that the Name and/or ID shown above fully, accurately and uniquely 
identifies you in our database. You furthermore agree that your submission of 
this form, via the "I Accept" button, shall constitute the execution of this 
document in exactly the same manner as if you had signed, by hand, a paper 
version of this agreement. 

For more information about the law that covers electronic signatures, see the "Digital Signatures Act."

Honourable answered 26/1, 2010 at 3:4 Comment(3)
Yes, but basically our clients use our website to let other people fill out certain forms. So our clients clients need to be able to sign it in some authentic way.. so I don't think this would work, but I'll check out that link.Remittance
Earlz - you are right that this wouldn't quite work because there isn't any authentication security - we don't have a reasonable expectation that the person clicking the button is the person who is agreeing to the terms. Now, if you had some other form of authentication (e.g. the client has created a private account on your system before they would be put in a position to sign this form) then you could make this work. You would simply require that the participant authenticate here by entering their account ID and password before they click the acceptance button.Honourable
The answers dated 2010 that say you cannot sign electronically are not accurate anymore. In 2017 I bought a house with no physical proof that I was the signer of the contract but the entire contract was signed in 15 places including initials all electronically.Cumbersome
F
6

Perhaps this jquery plugin: https://github.com/thread-pond/signature-pad

APIs from esignature service such as docusign and echosign will assure you of more compliance, and also perhaps of better ease-of-use for your clients/customers through their handling of the different use cases in the esigning process (more than you may think).

For your situation and for passing in docs you've generated, their APIs can be restrictive given pdf wizardry going on. legalesign.com (i'm involved in this project) is a more open system that has the upshot of deeper API integration to handle this. We're in beta and not yet released an API, but pleased to hear about indications of interest.

Fidellas answered 7/1, 2013 at 9:13 Comment(0)
C
3

I hardly doubt whether this is pleadable, as there is no possibility to do signature analysis etc. But I am no lawyer, so this might be worth another discussion :-).

Isn't there something like DigiD available in your country. It's a government issued identification mechanism with verification, that is used in the Netherlands to sign (for example) tax files.

Also check CanvasPaint (domain expired). It's code has been open sourced by the author (see here). It is an Paint implementation in pure Javascript, using the <canvas> tag.

Cohen answered 25/1, 2010 at 23:8 Comment(3)
There are laws concerning how digital signatures must be stored and used, but there is no "one official device".. Though digital signatures are still a bit shakey here in the US anyway.. Some people speculate that you need more than just an image of the signature to verify it is an authentic signature(for instance, amount of pressure on the tablet).. but I don't think much of anything has been tried in court.Remittance
Ah well, as long as that isn't your point. You might want to check CanvasPaint, it meets your reqs. See me edit.Cohen
To Earlz not above the laws have changed dramatically since 2010. Signing electronically is fairly common today. The laws are evolving.Cumbersome
T
1

When I was learning jQuery I wrote 'Simple Paint' program. This program had 100x100 div and color chooser. I could draw different things keeping left mouse button pressed. It took about 4 hours to write that program (i.e. it's very easy especially if we assume that I was learning jQuery and didn't know how to use it correctly).

P.S. you describe the strangest requirement I've ever heard.

Tenpenny answered 25/1, 2010 at 23:5 Comment(1)
The only problem with this is the external signature pads because they do not work like a tablet device.Remittance
R
1

Actually what we ended up doing is the following:

On the client's machine a custom made web server is run. The web server does the interfacing with the signature pad. We have control over everyone using our site so this is not a problem.

On our website we have a series of buttons like "sign" "clear" and "done". When the sign button is clicked it will begin a process which will poll the localhost server every 50 or 100ms or so with an image tag created like so <img src="http://127.0.0.1?signature&time=..." /> (where the ... is the current time so no caching issues). This makes it so that the image can be clearly seen in the browser and works well for every browser I've tested it in.

Then when the user clicks done in order to get the image's actual data to be accessible from the server we use a JSONP request(so that we can cross the domain border) to get a base64 encoded value of the image and/or signature data. We store this in a hidden field. Whenever the user clicks save for the form(or whatever) then this hidden field gets sent to the server and saved.

This would also be easy to have so that there is an option for tablet computers so that it uses a <canvas> control or similar to allow direct drawing on the screen.

Remittance answered 2/7, 2010 at 6:39 Comment(0)
L
0

If they aren't using a tablet PC then a mouse rendering of the "signature" might look nothing like they would normally sign. Unsure how the legality of this would hold up.

As an alternative implementation and likely equally viable one for online, make available a text box to type their name into as their "electronic signature". Then if the platform allows for a real sig to be carried out properly (e.g. known to be a tablet with pen) then let them sign normally instead.

Their "personal mark" on a filled out form might also simply be the fact they logged in to fill it out. Electronic sigs don't have to take on the format you would normally expect. Online implementations of offline things often don't translate properly or have unforeseen loopholes.

Literati answered 26/1, 2010 at 2:52 Comment(0)
K
0

You can do it with an HTML5 canvas. Check out this drawing apps made entirely with HTML5. Awesome!

http://mugtug.com/sketchpad/

Kimmi answered 10/2, 2010 at 17:19 Comment(1)
Save option not enabled in Chrome. But works in Firefox.Leaved
S
-1

Not sure how an average person would sign using a mouse... We have done something like this, but what we did was provide the page of the form requiring a signature for download, which they could then sign, scan and upload again.

Wet signature is a nuisance, but still necessary in some cases...

Swithin answered 15/2, 2010 at 9:57 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.