TYPDF

I recently had to sign a few documents. Products like DocuSign have made sweeping progress in digitizing document-signatures, but they do not, in spirit, serve the purpose of reproducible and verifiable identity. More and more documents are signed online, than ever before. And since COVID has stopped my access to a printer, I had to literally draw my signature on the PDF using a drawing tool (WTH!?). I think this was fairly ridiculous, and it needs to be fixed.

Signatures
My ridiculous signatures drawn on a computer

How can we fix this? Lo behold, Typdf!

Typing based identity seems like a great way to circumvent the issues around online signatures. Typdf allows one to sign a document with one’s typing pattern using the TypingDNA api. Documents are be signed by a user-id associated with one's typing pattern, content and the context both in the metadata and a QR code. If the PDF is un-modified, the verification later can be done using the metadata. But these documents can also be printed/scanned and re-uploaded! (The QR code is used here). I believe this is far superior to the current method of digital signatures (by drawing one’s signature, LOL).

A cool feature is that this can be used even when we want to preserve one’s privacy without explicitly storing any of their personal information or creating an account by simply matching the typing pattern with the pre-generated id!

    Features :

  1. Encoding the typing-pattern-identity in the pdf document meta data to be verified later - completely private and completely secure
  2. Encoding the identity in the document via a QR code so that digital signatures can go offline!
  3. Each signature can be associated with the context so as to prevent fraud when moving between online-offline-online
  4. Can work without any explicitly identifiable personal information!

Technology & Challenges

Typdf is a proof-of-concept web app that has the minimum necessary features to demonstrate the powerful possibilities in document signatures via typingDNA. The app itself is a simple flask app hosted on a digital ocean droplet.

Advantages over Traditional Signatures / Digital Signatures

Features Paper-Pen Signatures Digital Drawing Signatures Typdf
Online/Offline Offline only Online only Both online and offline
Verifiability (Can you prove it's your signature?) Can be verified (mostly) Drawing is hard to verify Accurate verification
Falsifiability (Can you detect a fraudulent document especially if the signature matches yours?) Can easily be falsified (photoshop, images, etc) Secure (hence only online) Secure despite being offline friendly

Explanation & Demo Video

LIVE DEMO

Demo 1 : Encode signatory ID in PDF (Metadata and QR)

The name is used to generate a unique id for the typing pattern. This is embedded in the metadata and the QR. Do enter your name and type the text below in the textbox provided. Since we will be generating an ID, only one sample is sufficient to authenticate later.


Demo 2 : Verify signature pattern in Document (.pdf or .png) by the typing pattern

Attach either the unmodified PDF you downloaded earlier, or a good quality scan/image of the PDF and type the text below in the textbox provided.


Result :


Made with ❤️ by Vivek [Twitter, Github]